Moving towards using the cloud has many benefits: cost savings and scalability are among the most appealing. However, using the cloud does have its risks. Availability and security have recently been in the spotlight, but another important risk that is often overlooked is the speed at which services are delivered to the end users. And this could be the most important of all.
Arguable the giants of online businesses, Google.com and Amazon.com deliver web performances that are second to none. And many online brands aspire to deliver a similar level of online performance. With ever-increasing broadband speeds and time-poor customers, online businesses have a lot to contend with to keep their customers happy.
But should we expect Amazon’s EC2 service to deliver the same speedy performance as Amazon.com? The simple answer is yes. And with that three letter word comes a checklist of performance considerations that CIOs and CTOs who are responsible for managing larger technology infrastructures must adhere to.
Firstly, regardless of whether you operate a small or large business, it is critical to establish whether your cloud provider will deliver the service that your business needs. To do this properly the business should check whether the service level agreement (SLA) meets expectations for accountability – and guarantees it.
The different kinds of cloud services
The idea behind cloud services is that it is offered and used in the same way a utility like electricity is used. It is on demand, easily scalable, and you only pay for what you use. Within a cloud environment there are different kinds of cloud services. These include Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).
The most mature of these is SaaS. It provides complete turnkey applications to businesses that are usually accessed through a Web browser. SAP, Zoho and Gomez are examples.
With PaaS the underlying platform is abstracted and the business is given an on-demand solution stack and a development environment on which to build the necessary applications. Examples include Force.com from Salesforce and Google App Engine.
Typical examples of IaaS include Amazon EC2, Mosso and 3Tera. 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.
Understanding your cloud SLAs
Although many SLAs promise 99.99% uptime, what does this actually mean? CIOs need to ensure that a cloud SLA addresses the company’s specific business needs. This means that every service in the delivery chain has to have someone responsible and accountable for it – just as they would in a non-cloud infrastructure with its 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.
Putting the Cloud to the test
With IaaS, elasticity is the most promoted benefit, giving a fast ramp-up during peak usage periods – and only during those times. But how efficiently can this occur based on your company’s individual needs? And although it’s not an explicit benefit, connectivity is certainly implied.
And what are the implied performance guarantees with PaaS? With Google Ap 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 New York that is trying to close a deal?
These are some of the important questions CIOs and CTOs want answers to as they consider migrating their existing IT infrastructure to the cloud.
Best practices for measuring cloud performance:
1. Clearly understand your organization’s reasons for engaging the cloud. Each company has it own specific reasons for using the cloud. This might include reducing the cost of ownership, streamlining IT management or maintaining a cloud-bursting solution to handle spikes in demand. Before you test know the metrics that are most important to your business and monitor those parameters.
2. Know your customers. Where are they located? What times of day do they visit your site? Which ISPs do they engage? What device do they use to connect to the Internet? What browser and OS combination do they use? When you’ve answered these questions and others you’ll have a clear sense of the kind of web experience your customers expect – and how to deliver on those expectations.
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. Once you know your customers and their tendencies measure from their perspective. Also take the outside in approach when you’re evaluating cloud providers and when you’re building your applications.
4. Understand your business’s capacity requirements. The elasticity benefit of the cloud carries many implied performance promises. Testing to ensure that these benefits apply to the real-world demands of your organization is vital.
5. Demand a web performance SLA based on your needs. Ask for guarantees that match your company’s specific needs. If it’s elasticity, then get guarantees on capacity and velocity.
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.