AWS RDS Benchmark and Modeling by Roberto Gaiser – CMG Brasil 2012

Apresentação de Roberto Gaiser no encontro nacional do CMG Brasil 2012, demonstrando técnicas de modelagem e planejamento de capacidade no serviço de banco de dados da AWS.

 

AWS Getting Started Guides for Linux and Microsoft Windows

We’ve created three new documents to make it even easier for you to get started with AWS:

The first two documents (Getting Started Guide: AWS Web Application Hosting for Linux and Getting Started Guide: AWS Web Application Hosting for Microsoft Windows) are designed to help you create scalable, robust web applications that handle sophisticated demands and workloads using AWS. It provides an example architecture diagram of a web application hosted on AWS and a step-by-step walkthrough of how to deploy your web application using AWS services and follow best practices.

The guides walk you through each step of the process. You’ll sign up for the services and install the command-line tools. Then you will create an Elastic Load Balancer, EC2 Security Group, and a Key Pair. Next, you will use Auto Scaling to launch a load-balanced array of Amazon EC2 instances and set up a CloudWatch alarm to drive the Auto Scaling process. You will add database capabilities by launching an Amazon RDS DB Instance along with the associated DB Security Group. With the infrastructure in place, you will install and launch your web application.Finally, you will use the CloudFormer tool to capture your setup as a reusable CloudFormation template. The guide also covers the use of Route 53 for DNS hosting and CloudFront for content distribution.

We also have a brand new Microsoft Windows Guide. This guide contains

conceptual information about Amazon EC2, as well as information about how

to use the service to create new web applications on Windows instances. Separate sections

describe how to program with the command line interface (CLI) and the Query API.

— Jeff;

 

5 ways to protect against vendor lock-in in the cloud

Two weeks ago, Google announced a significant price increase for use of its App Engine Platform-as-a-Service. The increase itself was not a huge surprise. Google had been making noises that something like this was in the offing for a number of months. But the size of the increase shocked the Web development and cloud applications community. For most users, the cost of using the Google runtime environment effectively increased by 100% or more.

A huge online backlash ensued. For its part, Google put off the increase by a month and moderated some of the increases. But the whole incident brought many nagging doubts about the cloud to the surface. Said one poster on one of the many threads that lit up the Google Groups forums after the increase:

I like so many of us have spent a lot of time learning app engine – i have been worried like so many that using app engine is a mistake because any app you invest/build can only be run on… app engine.

Because the Google PaaS requires that developers customize code specifically to run in that environment and nowhere else, rewriting that code takes a lot of time, effort and money. With salaries for programmers hitting record highs in the Bay Area and recent CS graduates pulling in $120,000 or more to code, any big move that forced major code rewrites would ultimately wallop the bottom line. Ironically, these increases disproportionately affected numerous hobbyists and small developers running interesting applications – the creators of the next proverbial Google. Certainly corporate IT departments took notice, as well.

Vendor lock-in will make you vulnerable

Unquestionably, Google App Engine price increase revealed a key fundamental weakness of many cloud businesses.  Namely, vendor lock-in does exist in the cloud. This seems odd because one of the benefits of the cloud specifically was to obviate the advantage of vendor lock-in and make applications more portable. In that worldview, no cloud rules them all (not even Amazon) and companies operating applications in the cloud can quickly and easily port their applications to other PaaS offerings or to other IaaS providers.

With vendor lock-in comes vulnerability to price increases. In all likelihood, Google – a data-driven business if there ever was one – was rebalancing pricing to reflect its own need for profitability. But for developers and app makers, this drastic shift effectively turned their decision to go with Google App Engine into what may have been a “bet-the-company” decision without ever realizing it.  For the PaaS industry in general, the move raises significant uncertainty. If Google has to raise its prices this much, who’s next?

Start thinking defensively before you choose a platform

In a similar vein, developers who put their applications up on Heroku may not have realized that their business fate depended on the fidelity of the Amazon EC2 cloud. If a company had been planning a big sales event or promotion during the extended EC2 outage, those three days of hard downtime may have had an outsized impact.

So clearly the rules of the game have changed for anyone who wants to put an app in the cloud and run a real business. Defensive thinking is in order. Here are five key rules to avoid getting gouged by Google App Engine or eviscerated by an EC2 outage:

  1. Avoid vendor lock-in at all costs. This is now a no-brainer. Make sure that your app can be easily ported to other clouds if you need to move due to service outages. If you must write apps that require serious customization, make sure you have a back-up plan and, if you can swing the cost, an alternative cloud running your code as a backup.
  2.  Know thy PaaS. Spreading the risk among multiple PaaS providers makes a lot of sense – unless they are all totally dependent on one big cloud to deliver your applications and cloud business. Explore installable PaaS options that you yourself control. So ask pointed questions about where your PaaS is running and how they are managing their risks of failure of a big cloud.
  3.  Ask hard questions about redundancy and system architecture. Deep under the covers of most clouds are core system architectures that may replicate single-points-of-failure. That’s because, at its core, the cloud infrastructure ecosystem is not a terribly diverse environment. Only a few hardware and software companies rule the roost. Similarly, ask your cloud provider to completely open their architecture and software kimono and let you examine everything. If they won’t, then you caveat emptor. If they will, you can judge their redundancy steps for yourself. So ask for specific architecture diagrams if you are going to be dependent on a cloud environment and its reliability. And get a network engineer or system architect buddy to review the diagrams. Think this is overkill? Ask FourSquare, Reddit and the other huge sites that have corporate backing or VC money and went down hard in the EC2 outages.
  4. Pick code that’s easier and faster to modify. Not all runtime environments and frameworks are alike. Certain flavors and types of frameworks and Web scripting environments are more difficult to change in a pinch due to the core architecture of the way the scripting language works. Until recently, PHP was far harder to clean up than RoR, and Python, pre-Django, was more unwieldy.
  5. The most popular code may not be the cheapest code. Think about the availability of coders. Many applications companies have a horror story about how their iOS app needed modifications and they either had to pay a high-end dev shop $200 per hour or had to wait for weeks to make the mods. At the same time, some runtime environments like Node.js can be built with Javascript code throughout the application stack. (We’re biased as we are strong backers of Node.js). That means you eliminate the need for differentiated front- and back-end coding teams, in a best case scenario. When building your cloud app, think hard about the code selection before you start filling up your GitHub repository.

By no means are these five steps comprehensive. And for the most part they are obvious. But in the cloud things move pretty quickly and sometimes slowing down to think about what your cloud application will be in six, 12 or 24 months is hard to do. So put on your crash helmet, watch your wallet, and be careful out there, people.

Alex Salkever is Director of Product Marketing at Joyent Cloud (@Joyent). He was formerly a technology editor at BusinessWeek.com.

Image courtesy of Flickr user kreg.steppe.

Related research and analysis from GigaOM Pro:
Subscriber content. Sign up for a free trial.

Intel IT’s Top 5 Reasons for Implementing Cloud « Data Center Knowledge


Highlighting thought leadership in the data center

  • Intel IT’s Top 5 Reasons for Implementing Cloud

    August 3rd, 2011 : Industry Perspectives

    Ajay Chandramouly has over 12 years of experience in the technology industry, and over 9 years of experience at Intel Corporation. Ajay held a variety of IT, software and hardware engineering positions while at Intel, and also at the Lawrence Livermore National Laboratory.

    Ajay-Chandramouly

    Cloud computing is real inside Intel IT. In fact, it is one of our Top 3 Priorities this year (the other two are “consumerization” and security).  At Intel, our private cloud infrastructure as a service implementation is important because it means we can deliver a highly available computing environment that provides secure services and data on-demand to authenticated users and devices from a shared, elastic, and multi-tenant infrastructure. (mais…)

Amazon Web Services Moves into New Territory…Again – ReadWriteCloud

This post is part of our ReadWriteCloud channel, which is dedicated to covering virtualization and cloud computing. The channel is sponsored by Intel and VMware.

Michelin Man in the Sky

Amazon Web Services is on an aggressive development cycle. Its latest announcement comes today with what it calls AWS CloudFormation, a service that Amazon’s Jeff Barr describes in a manner that makes it feel quite similar to cloud management technologies such as Puppet and Chef.

With AWS CloudFormation, developers can create their own templates for provisioning the resources needed for their applications. Barr’s descriptions show how far the “recipe” metaphor has spread through the cloud computing world. It’s related to Chef, which serves as a configuration environment. He tells a story about how much cooking is done in his house and the need to be precise in measurements when baking. The recipe has to be just right.

In this case, the recipe automates the creation of the stack for the developer.Christopher Peter replied to my question about how this can integrate with WordPress: “…I was referring to the example template. I like the programmatic approach to convert manual setup into 1 efficient command.”

That’s exactly it: AWS is programmable. Now it’s becoming automated to some extent, too.

Barr:

To date, many people have used AWS in what we’ll have to think of as cooking mode. They launch some instances, assign some Elastic IP addresses, create some message queues, and so forth. Sometimes this is semi-automated with scripts or templates, and sometimes it is a manual process. As overall system complexity grows, launching the right combination of AMIs, assigning them to roles, dealing with error conditions, and getting all the moving parts into the proper positions becomes more and more challenging.

The mechanisms allows the developer to describe what resources are required. AWS CloudFormation then configures the setup accordingly.

Barr:

Using CloudFormation, you can create an entire stack with one function call. The stack can be comprised of multiple Amazon EC2 instances, each one fully decked out with security groups, EBS (Elastic Block Store) volumes, and an Elastic IP address (if needed). The stack can contain Load Balancers, Auto Scaling Groups, RDS (Relational Database Service) Database Instances and security groups, SNS (Simple Notification Service) topics and subscriptions, Amazon CloudWatch alarms, Amazon SQS (Simple Queuue Service) message queues, and Amazon SimpleDB domains. Here’s a diagram of the entire process:

cloudformation_1.png

Barr goes into some depth about how these recipes work. The conversation on Twitter was buzzing on the topic. Christian Reilly (@reilly) tried the service this morning and he was impressed with it. He said it is a solid end-to-end service from virtual machine to app. It’s free and in part for that reason it could be a killer in the market as the lines blur in terms of the differentiation between it, Chef and other services.

But after just a day, it is already spawning integrations with Chef. A post on Hacker News details how this can be done.

Reaction has been generally positive.

cloudformationchef.jpg

AWS has been on a tear lately. Last week it announced hosting for static websites. It launched Elastic Beanstalk, a PaaS environment earlier in the month. These are all new efforts.

But there are lots of other movements in the market that AWS has to be watching. OpenStack and hosting providers are starting to build their own cloud environments.

In any case, these are fast moving times. I wonder what it will be from AWS next week?

blog comments powered by Disqus

The ABCs of virtual private servers, Part 1: Why go virtual?

Media_httpstaticarste_kxvef