Five ways to use the cloud and stumbling blocks along the way
The practice of renting virtualised pools of servers and storage over the net is known as infrastructure as a service (IaaS), and is the most popular class of cloud service available today.
But most businesses are only making limited use of IaaS, with the majority restricting their use to spinning up application development and test environments or to rapidly provisioning extra server capacity during periods of heavy demand.
The reasons for this limited adoption are many: concerns about security of data and systems controlled by a third party, worries over the reliability of systems run by a cloud provider and served over the internet, and the premium paid for getting a vendor to provide infrastructure over running it in-house.
But where demand for IT services is uneven, fluctuating between high and low-demand, or where a business needs infrastructure to test applications for a short period or to try out a new endeavour, it can be more cost effective and far quicker to rent infrastructure from a cloud provider than attempting to build it in-house. There are even instances of companies like Netflix, which runs its entire IT operation on Amazon Web Services’ infrastructure.
AWS main IaaS offerings are EC2, which provides compute on demand and S3, which provides storage on demand. EC2 gives companies access to virtual machines or instances running an OS and applications of their choice over the internet, with these instances being configurable and controllable via web service APIs. Alongside and on top of these EC2 and S3 AWS provides a range of cloud offerings related to networking, load balancing, databases, data warehousing and big data analysis, as well as a range of management tools.
At the AWS Enterprise Summit in London on Tuesday businesses broadly outlined the ways they are using AWS today and lessons that can be learned from their experience.
Application development and testing
Developers and testers commonly use a self-service approach to draw computing resources from the likes of AWS EC2, S3 and Amazon’s block level storage service EBS. Typically this will be carried out via a self service portal, such as AWS’ own CloudFormation, or via some other form of API call.
Businesses often create self-service enterprise portals that automatically restrict how much computing resource should be provisioned and for how long based on governance and workflow requirements, and that tag the resources that are appropriate for different teams.
Businesses are using EC2 to enable standard build developer/test workstations, add integrated project management and issue tracking, to run popular source control systems and to drive build servers and continuous integration, according to Yuri Misnik, head of solutions architecture at AWS.
On the testing side EC2 instances are being used to allow unit and regression tests to be scaled up and run in parallel in a fraction of the time of doing it in-house, for A/B scenario testing to be run on replica stacks and for the creation of sandboxes for security testing, said Misnik. For testing how applications perform under load, he said, customers sometimes use spot instances – a pricing model where customers bid for time on unused EC2 instances – as a cost effective way of stressing applications.
AWS has a number of pricing models for renting infrastructure, based on how customers want to use it. For instance on-demand instances let customers pay for compute capacity by the hour with no long term commitments, while reserved instances require a one-time up front payment in return for a significant discount to the hourly rate. Customers can save a lot of money by ensuring the pricing model they use is best suited to their need, said Misnik, citing a customer that saved 45 percent cost by transitioning to reserved instances. AWS provides a tool Trusted Advisor, which makes recommendations on how customers can save money and improve performance or security.
Entertainment conglomerate Lionsgate, has used EC2 to develop and test SAP apps, reducing deployment time from weeks to days, as has Galata Chemicals, which reduced the cost of running development and testing operations by 70 percent by moving to EC2.
Building and running new application
The UK broadcaster Channel 4 launched its first live application on AWS in 2008 and today runs all of its new web apps on the infrastructure.
Describing the benefits of running apps on AWS, Bob Harris, chief technology officer with Channel 4, name-checked agility, scalability and resilience.
“We get servers up and running for teams in minutes, if it’s urgent, or hours,” he said.
The broadcaster sees “a huge increase in productivity” among teams building apps running on AWS, said Harris, because of the development team’s ability to deploy or destroy virtual servers and apps as and when they need to.
That freedom to spin up new instances has a downside, however.
“One of the things it lets you do is be inefficient far more efficiently,” said Harris.
“People tend to start instances, maybe they start more than they need or too big. So we’ve have a constant battle over the past couple of years making sure that we’re keeping our house in order behind us.”
Tools like Trusted Advisor are designed to help keep on top of this problem by flagging up the number of instances being used.
For a broadcaster that has to deal with spikes in traffic to its web sites and apps after popular TV programmes are broadcast, and doesn’t want to have to buy excess capacity for one time peaks in demand, the scalability of AWS was a good fit, said Harris.
“The peaky workloads are the important ones. In the past you had to explain to the marketing manager those 404s were a sign of success because it showed how much traffic came to your website. Today I can’t remember the last time that happened on a Channel 4 website.”
Harris estimates that the total cost of ownership for running these services on AWS is more than five times lower than running it off in-house infrastructure.
He stressed the need to build services that worked well with horizontal scaling across different EC2 instances as demand increased. Licensing of back-end software is another consideration, with Harris saying that there are still difficulties with software vendors being tied to a per machine or per CPU socket licensing model, which is obviously a poor fit for EC2 where software can be running on a varying number of virtual and physical machines based on demand.
“My personal view is that a significant number of proprietary models are simply not cloud-friendly because they don’t allow us to take advantage of that flexibility. Cloud plus open source is really the place you need to be if you want high scalability,” he said.
Proprietary software vendors are beginning to make concessions for running their software in the cloud, with Microsoft, SAP, Oracle and IBM offering licence mobility deals for their major software packages to AWS customers that are a better fit for cloud computing’s scalable pay per use model.
Augment on-premise systems and run hybrid apps
Hybrid apps are those that rely on a mixture of back-end services running on both in-house and AWS infrastructure.
AWS provides multiple features to help companies building hybrid apps integrate their datacentres with AWS infrastructure in a secure fashion, such as AWS Direct Connect and Virtual Private Cloud.
Access controls similar to those within in-house datacentres can be set on AWS infrastructure using its Identity and Access Management tools while AWS CloudHSM (hardware security modules) are ultra secure key management appliances which can be used by customers who have to follow stringent data protection regulations so they are able to move data onto AWS infrastructure.
Another approach taken by businesses is to offload certain systems to AWS: Nokia runs analysis on data stored on Amazon’s Redshift data warehousing platform, allowing it to reduce cost by up to 50 percent and run queries up to twice as fast compared to its previous data warehouse.
Channel 4 is using AWS Elastic Map Reduce (EMR) service, the AWS-hosted Hadoop framework running on EC2 and S3, to analyse web logs from its sites going back a number of years and hone ad-targeting and programme recommendations.
Channel 4’s Harris said that EMR provides a way for the broadcaster to experiment without the commitment of an up front investment, an important consideration when the outcome of big data analysis is uncertain.
“It’s about the cost of exit – how much money have I sunk if I’ve to walk away. In big data we’re all trying to work out ‘What’s the real value of a better ad target?’, it’s a hard analysis to do. Imagine if I wanted to ramp my physical platform by ten or more times, we’re talking tens of millions of pounds. By the time I’ve also hired the half a dozen people to run this thing this is seriously expensive.”
AWS’ Misnik also said some businesses are using AWS infrastructure as a cloud-based disaster recovery site, running anything up to hot standby environments with rapid failover.
Migrating existing apps to the cloud
Migrating apps running on in-house infrastructure to AWS is less common, as it presents a number of challenges.
Matthew Graham-Hyde, CIO of the media conglomerate Kantar Group, said getting a migrated app to work requires both re-engineering the app and working out the right mix of cloud infrastructure it needs to sit upon.
“It’s a very different working model when you take an application and re-engineer it for the cloud,” he said, for instance so it is able to scale across available instances based on demand and exploit the distributed nature of the cloud architecture to become more resilient to failure.
“You have to have everyone in the room – your infrastructure architects, sysadmins, business analysts, developers, consulting partners – and you’re ripping up installation after installation as you re-engineer this application to get the true benefits of being a cloud application. It’s a very iterative model.”
Kantar has migrated a number of apps to AWS, including a third party data visualisation tool whose running costs have dropped by 50 percent since the move.
AWS recommends migrating apps that are under-utilised, that have an immediate need to scale or that simply are the easiest to move. Examples of apps and systems that should prove more straightforward to migrate are, AWS claims: web apps, batch processing systems, content management systems, digital asset management systems, log processing systems, collaborative tools and big data analytics platforms.
Another company that claims to have benefited from shifting existing systems to AWS is the pharmaceutical firm Bristol-Myers Squibb, which migrated its clinical trial simulation platform, with the result that simulation times have been reduced from 60 hours down to 1.3 hours and reduced costs by 60 percent.
Everything in the cloud
Video streaming company Netflix is one of the few firms to have dispensed of its in-house datacentres entirely in favour running its entire infrastructure on top of AWS services.
The spiky nature of customer traffic means Netflix is a good match for the scalability offered by EC2. Netflix uses thousands of EC2 instances in multiple regions and across the various AWS availability zones to support more than 33 million customers worldwide.
Not having to run IT infrastructure has freed up the IT team at Netflix to devote time to improving the performance or features of the company’s IT services. But Netflix is also an example of the amount of work needed to go “all-in” on cloud – the company has devoted a lot of time to making AWS work as a platform for its business (going as far as to develop the Chaos Monkey software that breaks parts of production systems to test overall resiliency), the latency inside a distributed architecture and limitations on compute storage and networking that come with sharing a server’s resources with other customers.
Professional Software Development