AWS OpsWorks – configs management service using Chef
AWS CloudFormation – create/manage a collection of AWS resources orderly
AWS Elastic Beanstalk – service to upload app code and run automatically
AWS Trusted Advisor – inspect your AWS environment and give RECOMMs
AWS Config – provides resource inventory, configs changes, change mgmt..
A configuration management service that helps you configure and operate applications using Chef
Use cases: host multi-tier web application, support continuous integration
- Supports both Linux or Windows servers, including existing Amazon EC2 instances or servers running in your own data center
- A Stack is OpsWorks core component, it’s a container for AWS resources such as EC2 instances, RDS database instances..
- A Layer is a set of resources that server a particular purpose, Layers depend on Chef recipes to handle tasks
- You store application and related files in a repository, such as an Amazon S3 or Git repo. Each application is represented by an app
- The App specifies the application type and contains the info needed to deploy the application from the repository to your instance
- OpsWorks sends all resource metrics to Amazon CloudWatch
A service that helps create and manage a collection of AWS resources, provisioning and updating them in an orderly and predictable fashion.
Use cases: quickly launch new test environment, reliably replicate configuration between environments, launch applications in new AWS regions
- Templates and stacks
- Templates defines your AWS resources and their properties. It’s a text file with JSON standard
- Stack is a collection of managed related AWS resources
AWS Elastic Beanstalk
A service allows developers to upload their application codes and will get the application up and running automatically
- An AWS Elastic Beanstalk application is the logical collection of these AWS Elastic Beanstalk components, which includes environments, versions, and environment configurations (similar to a folder)
- An application version refers to a specific, labeled iteration of deployable code for a web application
- An environment is an application version that is deployed onto AWS resources
- An environment configuration identifies a collection of parameters and settings that define how an environment and its associated resources behave.
- AWS Elastic Beanstalk provides platform support for the programming languages Java, Node.js, PHP, Python, Ruby, and Go with support for the web containers Tomcat, Passenger, Puma, and Docker.
AWS Trusted Advisor
A service inspects your AWS environment and makes recommendations
Provides best practices in 4 categories:
- Cost Optimization
- Fault Tolerance
- Performance Improvement
4 AWS Trusted Advisor are accessible at no cost:
- Service Limits – checks usage more than 80% of the service limit
- Security Groups – Specific Ports Unrestricted – Checks security groups for rules that allow unrestricted access (0.0.0.0/0) to specific ports
- IAM Use – Checks for your use of AWS IAM
- MFA on Root Account – Checks the root account and warns if MFA is not enabled
A service provides you with AWS resource inventory, configuration history, and configuration change notification
Use cases: change management, continuous audit and compliance, troubleshooting, security and incident analysis