Continuous delivery with AWS Elastic Beanstalk

continuous-delivery-graphic

Nowadays applications can be created really fast, but Ops teams are still slow.

It this article I’ll show an example how to manage this situation.

Let’s take a look at common Ops processes:

  1. Check datacenters availability
  2. Check servers hardware capacity
  3. Check network & virtualization
  4. Install OS & updates
  5. Install web & db cluster
  6. Setup monitoring
  7. Setup scaling
  8. Deploy code
  9. Check that the code works

And if we add Continuous Integration and Continuous Delivery to typical Ops processes they’ll probably take forever.
But wasted time isn’t the only problem, because this environment might have problems with availability, scalability, security, etc.

It’s obvious that “cloud” can be useful in this situation. And when we’re talking about “cloud” let’s focus on AWS as an absolute leader.
Often Ops are happy with only EC2 & VPC because they don’t need to take care of datacenters, server hardware, network and virtualization anymore .
However they’re still wasting time to install and configure stuff like MySQL, Apache, Zabbix, Jenkins, etc.

As DevOps I’m focused on applications and I don’t want to spend time on such boring things.
So I’ll use automation platform called AWS Elastic Beanstalk in this example.
But don’t worry – it’s not a “hosting panel”, you’ll be able to manage EC2, RDS, VPC, S3, CloudWatch and all other services.
Please be focused on general ideas instead of particular configurations.

And here’s table of contents:

1. Solution stack, flow & requirements
2. mongoDB on compose.io
3. Sample meteor app
4. CD pipelines
5. Build machine install
6. Storing & transferring credentials
7. Code principles and tips
8. Automation
9. EBS custom configuration
10. Completion

I hope this info will be useful for you, and if you need any help feel free to use contact from on the main page.