Ok, there you are, about to build an application that has to store lots and lots of data in cost-effective yet scalable fashion. Should you use a relational model or should you go NoSQL? Should you use DynamoDB, Redshift, RDS, ElastiCache, or more than one?

We've set up webinar for later this week to help you learn more about building highly scalable database applications on AWS. This is an updated version of one of the most popular sessions from re:Invent.

Attend our Scalable Database Architecture webinar at 10 AM PT on Thursday, January 17th to learn from the people and companies behind a presidential election, an online learning platform, and a tool to detect brand abuse:

The Finale Celebration for the Start-Up Challenge will be held on January 24th in San Francisco. As part of the celebration, we'll be conducting an Applications Workshop where you can learn more about building mobile apps, building web apps, and using AWS in a cost-efficient fashion. You need to register now if you would like to attend the Workshops and the Finale Celebration.

As you probably know, Amazon CloudWatch provides monitoring services for your cloud resources and your applications. You can track cloud, system, and application metrics, see them visually, and arrange to be notified (via a CloudWatch alarm) if they go beyond a value that you specify. For example, you can track the CPU load of your EC2 instances and receive a notification (via email and/or Amazon SNS) if it exceeds 90% for a period of 5 minutes.

Today we are giving you the ability to stop or terminate your EC2 instances when a CloudWatch alarm is triggered. You can use this as a failsafe (detect an abnormal condition and then act) or as part of your application's processing logic (await an expected condition and then act).

Before we dig in, I should remind you of one thing. If you are using EBS-backed EC2 instances, you can stop them at any point, with the option to restart them later, while retaining the same instance ID and root volume (this is, of course, distinct from the associated termination option).

Failsafe IdeasIf you (or your developers) are forgetful, you can detect unused EC2 instances and shut them down. You could do this by detecting a very low load average for an extended period of time. This type of failsafe could be used to reduce your AWS bill by making sure that you are not paying for resources you're not actually using.

You could also implement a failsafe that would detect runaway instances (for example, CPU pegged at 100% for an extended period of time). Perhaps your application gets stuck in a loop from time to time (only when you are not looking, of course). You could also use our CloudWatch monitoring scripts to detect and act on other situations, such as excessive memory utilization).

Processing LogicMany AWS applications will pull work from an Amazon SQS queue, do the work, and then pass the work along to the next stage of a processing pipeline. You can detect and terminate worker instances that have been idle for a certain period of time.

You can use a similar strategy to get rid of instances that are tasked with handling compute-intensive batch processes. Once the CPU goes idle and the work is done, terminate the instance and save some money!

Application IntegrationYou can also create CloudWatch alarms based on Custom Metrics that you observe on an instance-by-instance basis. You could, for example, measure calls to your own web service APIs, page requests, or message postings per minute, and respond as desired.

Setting Up Alarm ActionsYou can set up alarm actions from the EC2 or CloudWatch tabs of the AWS Management Console. Let's say you want to start from the EC2 tab. Right-click on the instance of interest and choose Add/Edit Alarms:

Choose your metrics, set up your notification (SNS topic and optional email) and check Take the action, and choose either Stop or Terminate this instance:

The console will confirm the creation of the alarm, and you're all set (if you asked for an email notification, you need to confirm the subscription within three days):

Your TurnI can speak for the entire CloudWatch team when I say that we are interested in hearing more about how you will put this feature to use. Feel free to leave a comment and I'll pass it along to them ASAP.

Over the years we've made many incremental improvements to the AWS Management Console. We've also improved the overall look and feel a couple of times. The goal remains unchanged - to provide you with a clean and efficient way to see and manage your AWS resources.

Today we are ready to take another step forward. We're making some big improvements to the existing Console, and we're also introducing a brand-new Console App for Android devices. In this post I'll give you a visual tour of both applications..

AWS Management Console ImprovementsWe heard your feedback that the
growing number of services in the Management Console (21 and counting),
increased service functionality, and new form factors such as tablets, required
an update to our designs. Our focus is to make AWS easier to use by increasing
customizability and improving information display on your screen of choice.

We started with a focus on
customization to make the Console work better for you. We moved Region selection
into the Console’s navigation and made it work seamlessly across all of the
services. You can also customize the Console navigation with shortcuts to the
AWS services that you use the most often:

We learned that many Console users spent a lot of time alternately selecting one of a pair of AWS resources in order to compare and contrast certain settings. This wasn't a good use of your time, so we added inline resource summaries to give you quick access to key resource attributes.

We then reviewed the Console's information management and display features to improve readability and to put your information front and center. We learned that monitoring resource statistics is one of the most frequent actions and users wanted more space to view graphs. The new Monitoring View makes it easier for you to see statistics for your resources. You can easily filter your resources and hit the new Select All button to see stacked graphs for your resources. You can even change this view to see all the graphs or individual large graphs on one screen.

We also learned that many users wanted as much space as possible for table information. To accommodate this, we added a collapse option to the side navigation pane and moved the table details to let the table fill the screen.

Expanded

Collapsed

Finally, we know that many of you use (or would like to use) the Console from your tablet device, so we now support endless scrolling within the current page. Your resources are just a swipe away! We also optimized the use of horizontal and vertical space and made the buttons and selectors large enough to ensure easy access.

These improvements will be rolled out across the AWS services on slightly different schedules. We look forward to your feedback on these new designs!

AWS Management Console AppThis new app provides mobile-relevant tasks that are a good companion to the full web experience including the ability to quickly and easily view and manage your existing EC2 instances and CloudWatch alarms from your Android phone. You can view your total AWS service charges and switch between AWS accounts and regions from within the app. As with the web-based management console, sign-in is as simple as entering your AWS or IAM credentials.

You can:

View a summary of your EC2 instances, CloudWatch alarms, total service charges, and the AWS Service Health status, with optional filtering on the instances and alarms.

Look at EC2 instance metrics and status checks to check the state of your environment.

Stop or reboot your EC2 instances.

List CloudWatch alarms by state or time.

View CloudWatch graphs.

Examine the automated actions configured for each CloudWatch alarm.

View detailed AWS service health status, including recent AWS service events and notifications.

Here's a tour:

We plan to add support for additional services very quickly, so stay tuned (and use the app's feedback function to tell us what you think). We are also planning to support mobile devices running other operating systems.

We received close to 2,500 applications for the 2012 AWS Start-Up Challenge! Applications arrived from every state in the US and from 84 other countries including Iceland, Ghana, Bahrain, Nepal, Cambodia, and Malawi.