How will you automate your software infrastructure in AWS?
We can use following tactics to automate the software infrastructure in AWS:
Auto-scaling: Amazon EC2 can be used for defining Auto-scaling groups for different clusters of servers. It helps in automated handling of traffic spikes and server failure.
CloudWatch: We can monitor vital metrics like- CPU, Memory, Disk I/O, and Network I/O of our servers by using Amazon CloudWatch. It can also help us in taking appropriate actions like launching new servers etc.
Simple DB: We can store and retrieve machine configuration information in machine images in AWS. This helps in automated deployment process. We can store these images in Simple DB in AWS. SimpleDB can also be used to store information about an instance such as its IP address, machine name and role.
Amazon S3: We can create an automated build process that dumps the latest builds into a bucket in Amazon S3. During startup an application read the latest version from Amazon S3 bucket.
Failover: While creating AWS architecture, an application component should not assume that it would be up all the time. SO we can dynamically attach the IP address of a new node to the cluster. Also we can build automatic failover for servers and start a new clone in case of a hardware failure.