Nomad_Soul - Fotolia
An ongoing price war among Amazon Web Services, Google, Microsoft and other cloud competitors are pushing down the price of on-demand compute resources. But that won't keep public cloud costs from running amok if enterprise applications are not properly modeled in advance.
Manage AWS costs with proper application modeling
Careful application modeling prior to a production launch is the best way to blunt cloud sticker shock when you're hit with an unexpected event, such as a surge in demand or a bug in the code.
If that modeling is mishandled, user behavior can negate the value of moving off of in-house hardware and software, said Todd Christy, managing director of technology at Slalom Consulting, a Seattle-based firm that, among other things, advises clients on public cloud computing.
Modeling really starts on the business side with three core criteria: scale, compute and networking. Volume and region determine scale. IT will need to identify events that spur traffic surges. Volumes may stay the same for years, but when something triggers a huge hit to an environment, the question is: Will it be 20 times or 200 times your normal volume?
Storage volumes and storage lifecycle drive compute power. Anything that pushes storage is important, especially if it is a real-time or short-term need. In addition, IT should consider both inbound and outbound demands on networking.
Choosing the right application
AWS offers roughly 30 core services to choose from, but an individual application may require 10 or fewer. Perhaps only two or three services will drive the cost of the application.
Most applications don't need CloudFront, the AWS content-delivery network, for example. But some do. That's what IT teams need to find out early, Christy said.
In most organizations, initial AWS use centers on test-and-development applications, which are typically low volume and can be shut down at night. Resource demands are small, so the cost to model these applications isn't vast. Taking these apps into production, however, requires a clear understanding of their dynamics, especially if business growth is variable.
Experienced IT professionals who work with AWS agree that it's easy to blow through a lot of money and resources if you're not paying attention. "We've done performance testing, and we've learned that a lot depends on the language that the application is written in," said Raymond Colanero, a cloud engineer at Medidata Solutions Inc., a New York company that builds cloud services for life sciences.
"When we scale, we need to go larger with anything written in .NET versus Ruby," he said. ".NET apps run on M3 large instances, where Ruby can run in M3." Ruby is a more lightweight framework than .NET, so it consumes far fewer resources. On the other hand, it is less able to handle complex integration with back-end platforms, Colanero said.
A successful outcome in AWS starts with choosing the right application. If you choose an app that doesn't need to scale, has a fixed utilization and already runs well in the in-house servers, then moving it to AWS probably won't save anything, said Owen Rogers, a senior analyst at 451 Research, a New-York-based consulting firm. This is especially true if your organization has a reasonably new server infrastructure.
"You can't just throw everything in the garbage and move to the cloud," Rogers said. "That's a good reason to have a hybrid cloud. Use what you've got, and add cloud on top of it for the unexpected spikes in demand."
Cloud providers and pricing models
IT organizations also face the challenge of sorting through different cloud provider pricing models, which can make costs unpredictable. All cloud providers charge for virtual machines and bandwidth; bandwidth usage is often difficult to control, because the IT team doesn't always know what end users are downloading, Rogers said.
Plus, cloud providers don't use the same pricing schemes or even the same terminology. "CIOs are overwhelmed," he said.
There are a few defenses, however.
For spikes in spending or surges, enterprises can use third-party tools to track anomalies. Companies such as 2nd Watch in New York, Cloudyn in Tel Aviv, and Cloudability in Portland, Ore., sell analytic tools for AWS cost monitoring, usage and beyond.
Another notable tool comes from Houston-based Krystallize Technologies, which assesses an old installation and compares it to how it would run on a public cloud. It will also determine in real time how a deployment is working relative to its benchmark performance. CloudHealth in Boston is another small vendor that checks cloud costs and performance.
Learn how cloud performance monitoring maximizes AWS efficiency.