Skip to content

Infrastructure ​

CloudFormation ​

CloudFormation is a declaritive way of outlining your AWS services for almost any resource. You can also define infrastructure programmatically via the CDK.

Elastic Beanstalk ​

This gives you one view where you can manage most of your AWS services for an application (EC2, ASG, ELB, RDS, etc). This view still gives you full control over the configuration of these services. Beanstalk is free but you pay for the underlying resources. That way you are only responsible for the application code. Supports many languages and single/multi-container docker workloads. There are three architecture models:

  • Single instance - dev
  • LB + ASG - Prod web apps
  • ASG only - prod workers

CodeDeploy ​

CodeDeploy is a method of deploying our applications automatically, working on both EC2 instances and on-prem servers. There is a CodeDeploy agent that must be deployed on the receiving machines first.

CodeCommit ​

Github for AWS.

CodeBuild ​

Compiles source code, runs tests, and produces packages ready for deployment.

CodePipeline ​

Orchestrate the steps your code goes through with the above services. Go from commit to build to deploy.

CodeArtifact ​

Artifact storage in AWS for dependencies and packages. Works for most major dependency management tools.

CodeStar ​

One stop shop for the above services.

Cloud9 ​

Cloud IDE for writing, running, and debugging code. Allows for real-time pair programming.

AWS Systems Manager ​

Central place to manage both EC2 instances and on-prem servers at scale. Install an agent on the machines so they can communicate back. This agent can run commands, patch, and configure our servers.

SSM Session Manager ​

Allows you to start a secure shell on machines with the SSM Agent installed without SSH. This is better for security by not needing to allow traffic on that port.

Parameter Store ​

Place to store keys, passwords, configs, etc.