Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Task]: Delivery Dashboard - Deploy application to AWS ECS #1547

Closed
coilysiren opened this issue Mar 26, 2024 · 0 comments · Fixed by #1574
Closed

[Task]: Delivery Dashboard - Deploy application to AWS ECS #1547

coilysiren opened this issue Mar 26, 2024 · 0 comments · Fixed by #1574
Assignees
Labels
project: grants.gov Grants.gov Modernization tickets

Comments

@coilysiren
Copy link
Collaborator

Summary

Deploy application to AWS ECS

Acceptance criteria

No response

@coilysiren coilysiren added the project: grants.gov Grants.gov Modernization tickets label Mar 26, 2024
@coilysiren coilysiren added this to the Delivery dashboard - Infrastructure milestone Mar 26, 2024
@coilysiren coilysiren self-assigned this Mar 27, 2024
@coilysiren coilysiren moved this from Icebox to In Review in Simpler.Grants.gov Product Backlog Apr 1, 2024
coilysiren added a commit that referenced this issue Apr 1, 2024
## Summary

Fixes #1547

### Time to review: __5 mins__

### Overview

We need to deploy the analytics service to ECS. The problem is, is that
the analytics service is entirely task-based. It is not a web server.
Which means, it is not truly a great fit for being deployed by our
current `infra/modules/service` module. Specifically, the task service
doesn't need a load balancer or any of its associated networking
components. This created a decision for me, with 3 options:

1. Make the analytics service deploy itself with a useless load
balancer. This would waste money, and would significantly confuse our
security scans.
2. Add conditionals into the existing `infra/modules/service` module to
only conditionally deploy the load balancer. This would require doing a
lot of `terraform state mv` migration since terraform resources with
`count` based conditionals have slightly different terraform state
paths.
3. Create a new module without the load balancer. This creates a large
git diff to review.

Ultimately I chose **option 3**, so that is what you see here. A new
terraform module that is simply the same ECS service module we already
had, but without a load balancer.

## My asks of reviewers

1. Do you think that option 3 was a reasonable choice here?
2. I named the module `infra/task-service`, can you think of a better
name for it?

## Changes proposed

This PR is, once again, 95% copy paste.

- `infra/analytics/service` changes were copy pasted from
`infra/api/service`
- `infra/modules/task-service` changes were copy pasted from
`infra/modules/service`

## Testing

Deployed service:

<img width="1290" alt="image"
src="https://github.com/HHS/simpler-grants-gov/assets/5768468/a4f85ece-0128-4096-b593-4c92df5acf3d">

Deployed task definition:

<img width="1297" alt="image"
src="https://github.com/HHS/simpler-grants-gov/assets/5768468/0e670642-7377-42ef-a326-102385aad1fc">
@sumiat sumiat removed the refinement label Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project: grants.gov Grants.gov Modernization tickets
Projects
Development

Successfully merging a pull request may close this issue.

2 participants