Automation and Application Support
Many tools enable the deployment of applications and automation in AWS. Here are some of the major ones:
CodeDeploy: AWS CodeDeploy is a fully managed deployment service that automates software deployments to a variety of compute services, such as EC2, Lambda, and your on-premises servers. CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications.
CloudFormation: AWS CloudFormation gives you an easy way to provision and configure related AWS resources based on a template. The tool even offers a designer that permits you to build architectures in templated code from your “sketches” using the design tool.
OpsWorks: AWS OpsWorks is a configuration management service that uses automation platforms such as Chef or Puppet that treat server configurations as code. OpsWorks uses Chef or Puppet to automate how servers are configured, deployed, and managed across EC2 instances or on-premises compute environments.
Management Tools
Here are just some of the tools available to help you manage all the important stuff in the AWS Cloud:
Service Catalog: AWS Service Catalog allows organizations to create and manage catalogs of IT services that are approved for use on AWS. These IT services can include everything from virtual machine images, servers, software, and databases to complete multitier application architectures. AWS Service Catalog allows you to centrally manage commonly deployed IT services. It helps you achieve consistent governance and meet your compliance requirements while enabling users to quickly deploy only the approved IT services they need.
Systems Manager: AWS Systems Manager gives you visibility into and control of your infrastructure on AWS. Systems Manager provides a unified user interface so you can view operational data from multiple AWS services and allows you to automate operational tasks across your AWS resources. With Systems Manager, you can group resources (EC2 instances, S3 buckets, or RDS instances) by application, view operational data for monitoring and troubleshooting, and take action on your groups of resources.
Trusted Advisor: AWS Trusted Advisor is an online resource to help you reduce cost, increase performance, and improve security by optimizing your AWS environment. Trusted Advisor provides real-time guidance to help you provision your resources following AWS best practices. This tool is free for several categories of recommendations. You can upgrade your plan to get even more detailed guidance from Trusted Advisor.
Monitoring
Do you need to accurately track the performance and status of your resources and services? There are tools for this in AWS:
CloudWatch: Amazon CloudWatch is a monitoring service for AWS Cloud resources and the applications you run on AWS. CloudWatch can collect and track metrics, collect and monitor log files, set alarms, and automatically react to changes in your AWS resources. Figure 1-8 shows the CloudWatch service in AWS.
Figure 1-8 CloudWatch in AWS
CloudTrail: AWS CloudTrail is a web service that records AWS API calls for your account and delivers log files to you. Features include detailed reports of recorded information, which can include the identity of the API caller, the time of the API call, the source IP address of the API caller, the request parameters, and the response elements returned by the AWS service.