Deploying and Managing Infrastructure at Scale Section Flashcards
CloudFormation
• declarative way of outlining your AWS Infrastructure, for any resources (most of them are supported).
• CloudFormation creates resources those for you, in the right order, with the
exact configuration that you specify
Benefits of CloudFormation
Infrastructure as code
• No resources are manually created, which is excellent for control
• Changes to the infrastructure are reviewed through code
Cost
• Each resources within the stack is tagged with an identifier so you can easily see how much a stack costs you
• You can estimate the costs of your resources using the CloudFormation template
• Savings strategy: In Dev, you could automation deletion of templates at 5 PM and
recreated at 8 AM, safely
Productivity
• Ability to destroy and re-create an infrastructure on the cloud on the fly
• Automated generation of Diagram for your templates!
• Declarative programming (no need to figure out ordering and orchestration)
Don’t re-invent the wheel
• Leverage existing templates on the web!
• Leverage the documentation
Supports (almost) all AWS resources:
• Everything we’ll see in this course is supported
• You can use “custom resources” for resources that are not supported
AWS Cloud Development Kit (CDK)
- Define your cloud infrastructure using a familiar language
- The code is “compiled” into a CloudFormation template (JSON/YAML)
- You can therefore deploy infrastructure and application runtime code together
AWS Elastic Beanstalk
- developer centric view of deploying an application on AWS
- allcomponents in one view that’s easy to make sense of with full control over the configuration
- PaaS
- free, but pay for underlying instances
Managed service
• Instance configuration / OS is handled by Beanstalk
• Deployment strategy is configurable but performed by Elastic Beanstalk
• Capacity provisioning
• Load balancing & auto-scaling
• Application health-monitoring & responsiveness
• Just the application code is the responsibility of the developer
Three architecture models:
• Single Instance deployment: good for dev
• LB + ASG: great for production or pre-production web applications
• ASG only: great for non-web apps in production (workers, etc..)
Elastic Beanstalk – Health Monitoring
- Health agent pushes metrics to CloudWatch
* Checks for app health, publishes health events
AWS CodeDeploy
• deploy our application automatically
• Hybrid service
• Servers / Instances must be provisioned and configured ahead of time with the
CodeDeploy Agent
AWS CodeCommit
- Source-control service that hosts Git-based repositories
- Makes it easy to collaborate with others on code
- The code changes are automatically versioned
AWS CodeBuild
• Code building service in the cloud
• Compiles source code, run tests, and produces packages that are ready to be
deployed (by CodeDeploy for example)
• serverless/pay as you go
AWS CodePipeline
Orchestrate the different steps to have the code automatically pushed to production
• Code => Build => Test => Provision => Deploy
• Basis for CICD (Continuous Integration & Continuous Delivery)
AWS CodeArtifact
• CodeArtifact is a secure, scalable, and cost-effective artifact
management for software development
• Works with common dependency management tools such as Maven,
Gradle, npm, yarn, twine, pip, and NuGet
• Developers and CodeBuild can then retrieve dependencies straight from CodeArtifact
AWS CodeStar
- Unified UI to easily manage software development activities in one place
- Can edit the code ”in-the-cloud” using AWS Cloud9
AWS Cloud9
- cloud IDE (Integrated Development Environment) for writing, running and debugging code
- can be run from browser and also allows for code collaboration in real-time (pair programming)
Systems Manager – SSM Session Manager
- Allows you to start a secure shell on your EC2 and on-premises servers
- No SSH access, bastion hosts, or SSH keys needed
- No port 22 needed (better security)
- Supports Linux, macOS, and Windows
- Send session log data to S3 or CloudWatch Logs
AWS Systems Manager (SSM)
- Helps you manage your EC2 and On-Premises systems at scale
- Another Hybrid AWS service
- Get operational insights about the state of your infrastructure
- Suite of 10+ products
Most important features are:
• Patching automation for enhanced compliance
• Run commands across an entire fleet of servers
• Store parameter configuration with the SSM Parameter Store
• Works for both Windows and Linux OS
AWS OpsWorks
- AWS OpsWorks = Managed Chef & Puppet (EC2 and On Prem)
- It’s an alternative to AWS SSM
- Only provision standard AWS resources