{"repo":"cogini/multi-env-deploy","free":true,"listed":false,"github":"https://github.com/cogini/multi-env-deploy","clone":"git clone https://github.com/cogini/multi-env-deploy.git","description":"Complete example of deploying complex web apps to AWS using Terraform, Ansible, and Packer","language":"HCL","stars":377,"topics":["terraform","ansible","packer","aws","aws-ecs","aws-ec2","aws-codepipeline","aws-codebuild","aws-codedeploy"],"license":"Apache-2.0","category":"deployment-docker-iac","readme_excerpt":"This is an example of how to deploy a real-world complex web app to AWS. Full-featured apps in languages like Ruby on Rails have multiple components, e.g. web front end, background job handler, periodic jobs, maybe a separate server to handle API traffic or web sockets. They use a relational database, Redis or Memcached, Elasticsearch, CDN for static assets, SSL, S3 buckets, encryption. They need logging, metrics, and alerting. They run in an autoscaling group or ECS and use a CI/CD pipeline to handle blue/green deployment. They need to run in multiple environments: dev, staging, prod, demo, with slight differences for each. They have some weird things to integrate with partners. This framework handles all that :-) It's built in in a modular way using Terraform, Ansible and Packer. We have used it to deploy multiple complex apps, so it handles many things that you will need, but it's also flexible enough to be tweaked when necessary for special requirements. It represents months of work. The blog post Deploying complex apps to AWS with Terraform, Ansible, and Packer gives an example. Scenarios These modules cover the following scenarios: EC2 + RDS Virtual private cloud (VPC) with public, private and database subnets App runs in EC2 instance(s) in the public subnet RDS database App data stored in S3 Route53 DNS with health checks directs traffic to app instances This is good for a simple app, and is also a stepping stone when deploying more complex apps. EC2 instances can be u","default_branch":null,"files":null,"tree":[],"storefront":"/r/cogini","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cogini/multi-env-deploy/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}