More and more hosting companies are offering cloud services, but which one’s right for you? David Flower explains the kinds of questions you need to be asking
Using the cloud has several benefits and is appealing to many businesses thanks to the cost savings and scalability options it promises. Using it, like anything, comes with risks. Availability and security have been in the spotlight, but another that is overlooked is the speed at which services are delivered to the end users.
Regardless of whether you’re operating small or large businesses, it is vital to establish whether your cloud provider can actually deliver the service that your business needs. The best way to confirm this is by checking whether the service level agreements (SLA) meet expectations for accountability — and guarantee them.
Understand your cloud service
Cloud services are typically offered in the same way a utility like electricity is: on a payment by consumption basis that is easily scalable. Typical cloud services include: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).
SaaS is the most sophisticated and well known. It provides complete turnkey applications to businesses and is mostly accessible through a web browser. Examples include SAP, Zoho and Gomez.
Examples of PaaS include Force.com from Salesforce and Google App Engine. With these services the underlying platform is typically abstracted and the business is given an on-demand solution stack and a development environment on which to build the necessary applications.
IaaS usually involves a server and storage device that is connected to the internet. It has a blank page on which to build the underlying platform and every element and application requirement in the infrastructure. Examples include Amazon EC2, Mosso and 3Tera.
Understand your cloud SLAs
Although many SLAs promise 99.99% uptime, what does this mean? CIOs need to ensure that a cloud SLA addresses the company’s specific business needs. Every service in the delivery chain has to have someone accountable for owning and managing it, just as they would in a non-cloud infrastructure with their detailed service level objectives (SLOs) from internal teams and SLAs from outside vendors.
However, if you’re outsourcing vital portions of your infrastructure to the cloud, many of those elements are beyond your direct control. So who is accountable if one aspect of that service falls below expectations? Watching for these potential cloud disconnects is an important part of your due diligence in evaluating cloud services.
Testing the cloud
IaaS prides itself on its elasticity during peak usage periods. But how efficiently does this happen? What are the implied performance guarantees with PaaS? With Google App Engine you assume the underlying service is performing at adequate speeds for your business. Velocity and capacity are a given. But are all the APIs functioning at mission-critical levels – or will a spike in usage slow down the underlying performance?
Many of the same performance considerations apply across a SaaS environment. But are you 100 per cent confident that a transaction made in your London office is available minutes later for use by your team in Hong Kong trying to close a deal?
Cloud SLAs are a work in progress and will only evolve if IT professionals demand it. Right now the client is in the driving seat while cloud providers try fulfilling the promise of risk-free utility computing.
Best practices for measuring cloud performance:
1) Understand your reasons for using the cloud. Is it to reduce costs, streamline IT management or maintain a cloud-bursting solution to handle spikes in demand? Understand the metrics important to your business that you need to test.
2) Know your customers’ locations, browsing habits, and the devices, browsers and OS combinations they use?
3) Take an inside out customer point-of-view approach to web performance monitoring and testing. How the end-user sees and experiences your website might be the most important aspect of your business. Take the same approach to evaluating cloud providers and building applications.
4) Understand your business’s capacity requirements. The elasticity benefit of the cloud carries many implied performance promises. Testing these apply to real-world scenarios.
5) Demand a web performance SLA based on your needs.