Tuesday, July 7, 2015

Auto Scaling Update – New Scaling Policies for More Responsive Scaling

Auto Scaling helps you to build systems that respond to changes in the demand for compute power by launching additional Amazon Elastic Compute Cloud (EC2) instances or terminating existing ones.

As I was thinking about this post, I thought it would be fun to deconstruct Auto Scaling to ensure that I (and you) have a full understanding of how it works and how it makes use of other parts of AWS (in practice most of our customers use Auto Scaling to launch and terminate instances on their behalf; this is more of a look behind the scenes and an illustration of how different parts of AWS depend upon and build on each other). Here are the moving parts:

Resource Creation – In order to be able to implement Auto Scaling, we need to have the ability to launch and terminate EC2 instances as needed. Of course, AWS is API-driven and these operations are handled by the RunInstances and TerminateInstances actions, assisted by DescribeInstances:

Resource Monitoring – We need to measure and track how busy (in terms of CPU utilization, network traffic, or other metrics) our instances are (both individually and collectively) in order to be able to make informed scaling decisions. This is handled by Amazon CloudWatch:

Alarms – Now that we are tracking resource utilization, we need to know when the operating conditions dictate a scale-out or scale-in operation. This is also handled by CloudWatch:

Scaling Actions – The final step is to actually take action when an alarm is raised. This is handled by Auto Scaling, as directed by a CloudWatch Alarm:

The actions are defined within a particular Auto Scaling Group, and can add or remove a specific number of instances. They can also adjust the instance count by a percentage (add 20% more instances) or set it to an absolute value.

New Scaling Policies With Steps
Today we are making Auto Scaling even more flexible with the addition of new scaling policies with steps.

Our goal is to allow you to create systems that can do an even better job of responding to rapid and dramatic changes in load. You can now define a scaling policy that will respond to the magnitude of the alarm breach in a proportionate and appropriate way. For example, if you try to keep your average CPU utilization below 50% you can have a standard response for a modest breach (50% to 60%), two more for somewhat bigger breaches (60% to 70% and 70% to 80%), and a super-aggressive one for utilization that exceeds 80%.

Here’s how I set this up for my Auto Scaling group:

In this example I added a fixed number (1, 2, 4, or 8) of instances to the group. I could have chosen to define the policies on a percentage basis, increasing the instance count by (say) 50%, 100%, 150%, and 200% at the respective steps. The empty upper bound in the final step is effectively positive infinity. You can also define a similar set of increasingly aggressive policies for scaling down.

As you can see from the example above, you can also tell Auto Scaling how long it should take for an instance to warm up and be ready to start sharing the load. While this waiting period is in effect, Auto Scaling will include the newly launched instances when it computes the current size of the group. However, during this scaling time, the instances are not factored in to the CloudWatch metrics for the group. This avoids unnecessary scaling while the new instances prepare themselves to take on their share of the load.

Step policies continuously evaluate the alarms during a scaling activity and while unhealthy instances are being replaced with new ones. This allows for faster response to changes in demand. Let’s say the CPU load increases and the first step in the policy is activated. During the specified warm up period (300 seconds in this example), the load might continue to increase and a more aggressive response might be appropriate. Fortunately, Auto Scaling is in violent agreement with this sentiment and will switch in to high gear (and use one of the higher steps) automatically. If you create multiple step scaling policies for the same resource (perhaps based on CPU utilization and inbound network traffic) and both of them fire at approximately the same time, Auto Scaling will look at both policies and choose the one that results in the change of the highest magnitude.

You can also create these new scaling policies using the AWS Command Line Interface (CLI) or the Auto Scaling API.

This new functionality is available now and you can start using it today.

Jeff;

Monday, July 6, 2015

AWS Week in Review – June 29, 2015

Let’s take a quick look at what happened in AWS-land last week:

Monday, June 29
Tuesday, June 30
Wednesday, July 1
Thursday, July 2
Friday, July 3

New & Notable Open Source Packages

  • Cheddar – Java framework for enterprise applications on Amazon Web Services (AWS) using domain-driven design (DDD).
  • Moto – Mock library that allows Python tests to easily mock out the Boto library.
  • Awstools – Tools to play with AWS.
  • EC2-userdata – Gets the user data from an EC2 instance, programmatically or via the command line.

Upcoming Events

Upcoming Events at the AWS Loft (San Francisco)

Upcoming Events at the AWS Loft (New York)

  • July 6 – AWS Bootcamp (10 AM – 6 PM).
  • July 7 – Dr. Werner Vogels (Amazon CTO) + Startup Founders (6:30 PM).
  • July 7 – AWS Bootcamp (10 AM – 6 PM).
  • July 8 – Sumo Logic Panel and Networking Event (6:30 PM).
  • July 9- AWS Activate Social Event (7:00 PM – 10 PM).
  • July 10 – Getting Started with Amazon EMR (Noon – 1 PM).
  • July 10 – Amazon EMR Deep Dive (1 PM – 2 PM).
  • July 10 – How to Build ETL Workflows Using AWS Data Pipeline and EMR (2 – 3 PM).
  • July 14 – Chef Bootcamp (10 AM – 6 PM).
  • July 15 – Chef Bootcamp (10 AM – 6 PM).
  • July 16 – Science Logic (11 AM – Noon).
  • July 16 – Intel Lustre (4 PM – 5 PM).
  • July 17 – Chef Bootcamp (10 AM – 6 PM).
  • July 22 – Mashery (11 AM – 3 PM).
  • July 23 – An Evening with Chef (6:30 PM).
  • July 29 – Evident.io (6:30 PM).
  • August 5 – Startup Pitch Event and Summer Social (6:30 PM).
  • August 25 – Eliot Horowitz, CTO and Co-Founder of MongoDB (6:30 PM).
  • AWS Summits.

Help Wanted

Stay tuned for next week! In the meantime, follow me on Twitter and subscribe to the RSS feed.

Jeff;

Friday, July 3, 2015

AWS Week in Review – June 22, 2015

Let’s take a quick look at what happened in AWS-land last week:

Monday, June 22
Tuesday, June 23
Wednesday, June 24
Thursday, June 25
Friday, June 26

New & Notable Open Source Packages

    • Dyn53 is a Dynamic DNS Client for Route 53 for use in environments with dynamic external IP address assignment, such as with home ADSL connections.
    • Aloisius helps you to manage the life-cycle of AWS CloudFormation Stacks.
    • Legacy is a utility for uploading Cassandra snapshots and incremental backups to S3.
    • Lambada is a more passionate way to create AWS Lambda functions using Clojure.

Upcoming Events

Upcoming Events at the AWS Loft (San Francisco)

Upcoming Events at the AWS Loft (New York)

      • June 29 – Chartbeat (6:30 PM).
      • June 30 – Picking the Right Tool for the Job (HTML5 vs. Unity) (Noon – 1 PM).
      • June 30 – So You Want to Build a Mobile Game? (1 PM – 4:30 PM).
      • June 30 – Buzzfeed (6:30 PM).
      • July 6 – AWS Bootcamp (10 AM – 6 PM).
      • July 7 – Dr. Werner Vogels (Amazon CTO) + Startup Founders (6:30 PM).
      • July 7 – AWS Bootcamp (10 AM – 6 PM).
      • July 8 – Sumo Logic Panel and Networking Event (6:30 PM).
      • July 9- AWS Activate Social Event (7:00 PM – 10 PM).
      • July 10 – Getting Started with Amazon EMR (Noon – 1 PM).
      • July 10 – Amazon EMR Deep Dive (1 PM – 2 PM).
      • July 10 – How to Build ETL Workflows Using AWS Data Pipeline and EMR (2 – 3 PM).
      • July 14 – Chef Bootcamp (10 AM – 6 PM).
      • July 15 – Chef Bootcamp (10 AM – 6 PM).
      • July 16 – Science Logic (11 AM – Noon).
      • July 16 – Intel Lustre (4 PM – 5 PM).
      • July 17 – Chef Bootcamp (10 AM – 6 PM).
      • July 22 – Mashery (11 AM – 3 PM).
      • July 23 – An Evening with Chef (6:30 PM).
      • July 29 – Evident.io (6:30 PM).
      • August 5 – Startup Pitch Event and Summer Social (6:30 PM).
      • August 25 – Eliot Horowitz, CTO and Co-Founder of MongoDB (6:30 PM).
      • AWS Summits.

Help Wanted

Stay tuned for next week! In the meantime, follow me on Twitter and subscribe to the RSS feed.

Jeff;

Wednesday, July 1, 2015

In the Works – AWS Region in India

We seem to have AWS customers in just about every corner of the world (190 countries at last count). We have offices in many countries, localized content on the AWS web site, and a broad array of certifications and accreditations to give those customers the assurances that they can run many different types of workloads on the AWS Cloud.

Coming to India
As part of our AWS Enterprise Summits in India, we have announced our intent to open an AWS Infrastructure Region there in 2016. With tens of thousands of customers in India already making great use of AWS to drive cost savings, accelerate innovation, speed time to market and expand their geographic reach, I am confident that this new region will become a great home for startups, small-to-medium businesses, enterprises, and the public sector.

AWS customers (and their users) in the region are already taking advantage of our Amazon Route 53 and Amazon CloudFront edge locations in Chennai and Mumbai. Other edge locations that serve the general area in Asia are located in Hong Kong, China, Manila, the Philippines, Australia (Melbourne and Sydney), Japan (Tokyo and Osaka), Korea, Singapore, and Taiwan.

AWS Customers in India
While I’ve got your ear I’d like to tell you about several AWS customers in India.

Tata Motors Limited is a leading Indian multinational automotive manufacturing company headquartered in Mumbai, and is part of Tata Group. The company’s customer portals and its Telematics systems, which lets fleet owners monitor all the vehicles in their fleet on a real time basis, are running on AWS. Tata Motors recently built a parts planning system to forecast spares demand by using ordering and inventory patterns. They use AWS for development landscapes immediately after the project kicks off, which shaves four to six weeks of setup time in a typical project cycle. Jagdish Belwal (Chief Information Officer of Tata Motors) told us:

Whenever we plan on rolling out a new project or experimenting with a new technology, AWS helps us in quickly provisioning the required infrastructure and enables us in getting up and running at a fast pace. AWS has helped us become more agile and has drastically increased our speed of experimentation and therefore, innovation.

To learn more, watch the Tata Motors AWS Case Study.


NDTV is India’s leading media house with TV channels watched by millions of people across the world. They have been using AWS since 2009 to run their video platform and to host all of their web properties. During the May 2014 general election, AWS helped NDTV to handle an unprecedented level of web traffic, scaling 26x from 500 million hits on a normal day to 13 billion hits during election day, and regularly peaked at 400,000 hits per second. Kawaljit Singh (CTO of NDTV Convergence) told us:

We have been an early adopter of AWS and the benefits that we experience is beyond just cost savings, it is the agility that enables us to move fast with new projects that makes a positive impact and real difference to our business. We are very impressed with the staff and tech support teams of AWS, who have been most helpful in providing support and guidance throughout our cloud journey. They worked hand-in-hand with our team so that we are able to handle the massive scale and unpredictability of workloads for the general election event last year, and as a result, the entire process took place without any hitch at all.

To learn more about their record-setting traffic on election day and their cloud journey, read CTO Perspectives I: Building a Media Empire from Scratch and CTO Perspectives II: Handling 13 Billion Hits a Day.


Ferns N Petals is a leading flower and retailer in India with 194 outlets in 74 cities and delivery across 156 countries worldwide. Before using AWS, Ferns N Petals was running its IT infrastructure in a traditional data center. They turned to AWS in the year 2014 when their business grew rapidly and decided to move their entire online business to the AWS Cloud. Since moving to AWS, they are able to manage traffic that grows by 80 percent during the festive seasons. Manish Saini (Vice President of online business) had the following to say:

Our experience with AWS over the past year has been excellent. AWS is now the cornerstone in our growth strategy. We have recently launched two new businesses that include new overseas expansion that are all running on AWS. We are now able to spend more time and resources in areas that matter to our customers such as new mobile app development that will enhance their buying experience.

To learn more about how they use AWS, read Blossoming in the Cloud.


Novi Digital is a wholly owned subsidiary of STAR India, one of the largest media and entertainment companies in India. The company uses AWS to run hotstar, a flagship OTT platform for drama, movies and live sporting events. With more than 20 million downloads in four months, hotstar has seen one of the fastest adoptions of any new digital service anywhere in the world. In fact, during one of the Cricket World Cup matches, hotstar and starsports.com combined reached a record total of over 2.3 million concurrent streams and more than 50 million video views. Ajit Mohan (Head of Digital, STAR India) had the following to say:

The reliability of the highly scalable AWS cloud platform has enabled hotstar to break many records in the last four months. AWS has been a key partner in helping us deliver a compelling and seamless experience for millions of users.

You can read StarSports.com: YouTube of Sports in India, to learn more.


Stay Tuned
I’ll have more information on the new region as we get closer to launch time.

If you are already an AWS developer, you probably know how to take advantage of new regions already. If you are not an AWS developer, why not sign up now and take advantage of the AWS Free Tier?

Jeff;

Tuesday, June 30, 2015

New – AWS Budgets and Forecasts

The dynamic, pay-as-you-go nature of the AWS Cloud gives you the opportunity to build systems that respond gracefully to changes in load while paying only for the compute, storage, network, database, and other resources that you actually consume.

Over the last couple of years, as our customer base has become increasingly sophisticated and cloud-aware, we have been working to provide equally sophisticated tools for viewing and managing costs. Many enterprises use AWS for multiple projects, often spread across multiple departments and billed directly or through linked accounts.

In the usual budget-centric environment found in an enterprise, no one likes a surprise (except if it is an AWS price reduction). Our goal is to give you a broad array of cost management tools that will provide you with the information that you need to have in order to know what you are currently spending and how much you can expect to spend in the future. We also want to make sure that you have an early warning if costs exceed your expectations for some reason.

We launched the Cost Explorer last year. This tool integrates with the AWS Billing Console and gives you reporting, analytics, and visualization tools to help you to track and manage your AWS costs.

New Budgets and Forecasts
Today we are adding support for budgets and forecasts. You can now define and track budgets for your AWS costs, forecast your AWS costs for up to three months out, and choose to receive email notification when actual costs exceed or are forecast to exceed budget costs.

Budgeting and forecasting takes place on a fine-grained basis, with filtering or customization based on Availability Zone, Linked Account, API operation, Purchase Option (e.g. Reserved), Service, and Tag.

The operations provided by these new tools replace the tedious and time-consuming manual calculations that many of our customers (both large and small) have been performing as part of their cost management and budgeting process. After running a private beta with over a dozen large-scale AWS customers, we are confident that these tools will help you to do an even better job of understanding and managing your costs.

Let’s take a closer look at these new features!

New Budgets
You can now set monthly budgets around AWS costs, customized by multiple dimensions including tags. For example, you could create budgets to track EC2, RDS, and S3 costs separately for each active development effort.

The AWS Management Console will list each of your budgets (you can also filter by name):

Here’s how you create a new budget. As you can see, you can choose to include costs related to any desired list of AWS services:

You can set alarms that will trigger based on actual or forecast costs, with email notification to a designated individual or group. These alarms make use of Amazon CloudWatch but are somewhat more abstract in order to better meet the needs of your business and accounting folks. You can create multiple alarms for each budget. Perhaps you want one alarm to trigger when actual costs exceed 80% of budget costs and another when forecast costs exceed budgeted costs.

You can also view variances (budgeted vs. actual) in the console. Here’s an example:

New Forecasts
Many AWS teams use an internal algorithm to predict demand for their offerings. They use the results to help them to allocate development and operational resources, plan and execute marketing campaigns, and more. Our new budget forecasting tool makes use of the same algorithm to present you with costs estimates that include both 80% and 95% confidence interval ranges.

As is the case with budgets, you can filter forecasts on a wide variety of dimensions. You can create multiple forecasts and you can view them in the context of historical costs.

After you create a forecast, you can view it as a line chart or as a bar chart:

As you can see from the screen shots, the forecast, budget, and confident intervals are all clearly visible:

These new features are available now and you can start using them today!

Jeff;

Friday, June 26, 2015

Amazon announces the Alexa Skills Kit, Enabling Developers to Create New Voice Capabilities

Today, Amazon announced the Alexa Skills Kit (ASK), a collection of self-service APIs and tools that make it fast and easy for developers to create new voice-driven capabilities for Alexa. With a few lines of code, developers can easily integrate existing web services with Alexa or, in just a few hours, they can build entirely new experiences designed around voice. No experience with speech recognition or natural language understanding is required—Amazon does all the work to hear, understand, and process the customer’s spoken request so you don’t have to. All of the code runs in the cloud — nothing is installed on any user device.

The easiest way to build a skill for Alexa is to use AWS Lambda, an innovative compute service that runs a developer’s code in response to triggers and automatically manages the compute resources in the AWS Cloud, so there is no need for a developer to provision or continuously run servers. Developers simply upload the code for the new Alexa skill they are creating, and AWS Lambda does the rest, executing the code in response to Alexa voice interactions and automatically managing the compute resources on the developer’s behalf.

Using a Lambda function for your service also eliminates some of the complexity around setting up and managing your own endpoint:

  • You do not need to administer or manage any of the compute resources for your service.
  • You do not need an SSL certificate.
  • You do not need to verify that requests are coming from the Alexa service yourself. Access to execute your function is controlled by permissions within AWS instead.
  • AWS Lambda runs your code only when you need it and scales with your usage, so there is no need to provision or continuously run servers.
  • For most developers, the Lambda free tier is sufficient for the function supporting an Alexa skill. The first one million requests each month are free. Note that the Lambda free tier does not automatically expire, but is available indefinitely.

AWS Lambda supports code written in Node.js (JavaScript) and Java. You can copy JavaScript code directly into the inline code editor in the AWS Lambda console or upload it in a zip file. For basic testing, you can invoke your function manually by sending it JSON requests in the Lambda console.

In addition, Amazon announced today that the Alexa Voice Service (AVS), the same service that powers Amazon Echo, is now available to third party hardware makers who want to integrate Alexa into their devices—for free. For example, a Wi-Fi alarm clock maker can create an Alexa-enabled clock radio, so a customer can talk to Alexa as they wake up, asking “What’s the weather today?” or “What time is my first meeting?” Read the press release here.

Got an innovative idea for how voice technology can improve customers’ lives? The Alexa Fund was also announced today and will provide up to $100 million in investments to fuel voice technology innovation. Whether that’s creating new Alexa capabilities with the Alexa Skills Kit, building devices that use Alexa for new and novel voice experiences using the Alexa Voice Service, or something else entirely, if you have a visionary idea, Amazon would love to hear from you.

For more details about Alexa you can check out today’s announcements on the AWS blog and Amazon Appstore blog.

AWS Public Sector Update – City on a Cloud and More

Earlier today we opened the 6th annual AWS Government, Education, and Nonprofits Symposium in Washington, DC. As part of the event we announced another City on a Cloud Challenge, an upcoming AWS Public Data Set, and some information about the overall usage and growth of AWS in this space.

City on a Cloud Challenge
We are now looking for entries for the second City on a Cloud Challenge! With awards totaling $250,000 in AWS credits, this program is designed to recognize local and regional governments (along with developers) that are pushing forward with the cloud in innovative ways.

Entries must use (or propose the use of) AWS. Prizes will be awarded to eight grand prize winners in three categories (Best Practices, Partners in Innovation, and Dream Big). Entries must be received by August 21, 2015 so that we can choose the finalists in September and announce the winners at AWS re:Invent.

Winners of the 2014 City on a Cloud Challenge included:

  • Sustainable Streets (New York City DOT)
  • Disaster Recovery (City of Asheville, North Carolina)
  • Smart Airport Experience (London City Airport)
  • City mapping (City and County of San Francisco)
  • Crime and risk mapping (Hunchlab)
  • N_Sight IQ (Neptune Technology Group)
  • ePropertyPlus inventory management
  • DKAN open data platform (Nucivic)

New AWS Public Data Set – NEXRAD (Coming Soon)
The Next Generation Weather Radar (NEXRAD) is a network of 160 high-resolution Doppler radar sites throughout the United States and select overseas locations whose data is managed by the National Oceanic and Atmospheric Administration (NOAA). NEXRAD detects precipitation and atmospheric movement and disseminates data in 5 minute intervals from each site. As part of the NOAA Big Data Project, AWS will be making NEXRAD data freely available on Amazon S3. I’ll share more information (via a blog post or Twitter) as soon as I get it.

AWS Usage and Growth
Our customers are using AWS to run their classrooms, schools, departments, agencies, and research projects. Here are some of numbers that we announced at the symposium:

  • 4,500 educational institutions use AWS.
  • 1,700 government agencies use AWS.
  • 17,000 non-profit organizations use AWS.

AWS GovCloud (US) is an isolated AWS region used by US government agencies and customers to host sensitive workloads in the cloud. On a year over year basis, the number of customers for this region has grown by 273%.

Jeff;