https://github.com/captemulation/splice-sre-takehome
https://github.com/captemulation/splice-sre-takehome
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/captemulation/splice-sre-takehome
- Owner: CaptEmulation
- Created: 2020-04-23T14:33:16.000Z (about 6 years ago)
- Default Branch: develop
- Last Pushed: 2020-04-23T19:06:08.000Z (about 6 years ago)
- Last Synced: 2025-09-14T21:49:36.574Z (10 months ago)
- Language: HCL
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Splice takehome assignment
Implements a terraform + Jenkins build and deploy process
Running at: http://ecs-load-balancer-1478987943.us-east-1.elb.amazonaws.com:8080/
# Limitations
Developed against a local Jenkins instance with pre-configured AWS CLI
Terraform is an infrastructure tool rather than a deployment tool. Performing deployments with terraform can lead to downtime.
My preferred deployment platform is Kubernetes, though here we show using AWS CLI directly to update the task definition on ECS. It was far more annoying that I expected. I wish I had just gone ahead and spun up a k8s cluster and that part would have easier for me.
I put in a quick hack to use the AWS CLI to update the task definition of the ECS service. So the lifecycle process is to spin up all resources from terraform once, and then use the build script to just update the service. The problem with that process is that if in the future terraform is run again against the same resources, it will have to recreate ECS resources because they will have gone out of sync with state. At this point I ran out of time. Would have liked more time to clean that up some with some of the pointers I read online or transition to deploying less the terraform and let the build process manage deployments entirely.