62
Managing Performance in the Cloud TheDevMgr

Managing Performance in the Cloud

Embed Size (px)

DESCRIPTION

How to you manage Performance in the Cloud, in particular in "Platform as a Service (PaaS) environments like Window's Azure or Heroku where you don't have a "virtual machine" to manage? Even in "Infrastructure as a Service (IaaS)" environments like Amazon EC2 there are limitations on the tools you can deploy into that environment to assist in performance management, troubleshooting etc (e.g. you can't deploy promiscuous mode network sniffing tools in EC2). James Smith from Adactus will give us an overview of Cloud Services as a whole, and then drill down into some of the issues they have experienced in deployed their "Pulse" Claims Management Solution into the Azure cloud (http://www.pulseclaims.com/home). Beyond just looking at page speed performance he'll talk about the challenges involved in managing SLA's, Cloud "support" (or lack of it!), performance troubleshooting and the whole "performance lifecycle".

Citation preview

Page 1: Managing Performance in the Cloud

Managing Performance in the Cloud

TheDevMgr

Page 2: Managing Performance in the Cloud

BACKGROUNDCloud History

Page 3: Managing Performance in the Cloud

• Desktop internet computing

• Shift from local to centralised computing

• Software was cheap and hardware was expensive.

In the nineties…

Page 4: Managing Performance in the Cloud

• Shift from desktop to mobile

• The cloud is born

• Bezos and his book company start to shape the future.

The carefree noughty days

Page 5: Managing Performance in the Cloud

• Shift from centralised to distributed computing

• Commoditisation of computing (PAYG)

• Anything-as-a-Service (XaaS).

The twenty-tens

Page 6: Managing Performance in the Cloud
Page 7: Managing Performance in the Cloud

THE CLOUDWhat is it?

Page 8: Managing Performance in the Cloud

Service ModelsX

aaS SaaS

PaaS

IaaS

Anything

Software

Platform

Infrastructure

Page 9: Managing Performance in the Cloud
Page 10: Managing Performance in the Cloud

Infrastructure (IaaS)

• Outsource hardware to support operations– Storage, servers, networking components

• Service provider owns and hosts equipment

• Service provider responsible for management & maintenance.

Page 11: Managing Performance in the Cloud
Page 12: Managing Performance in the Cloud

Platform (Paas)

• Paradigm for delivering operating systems and associated services over the Internet

• No downloads or installation

• Google App Engine, Microsoft Windows Azure, Heroku & Force.com.

Page 13: Managing Performance in the Cloud

Software (SaaS)

• Software distribution model in which applications are hosted by a vendor or service provider

• Made available to customers over the Internet

• SalesForce.com, many...many...more.

Page 14: Managing Performance in the Cloud

Deployment Models

Private PublicHybrid

Page 15: Managing Performance in the Cloud

• “Virtualised” infrastructure operated for a single organisation (single tenant)

• Hosted internally or externally

• Managed internally or by a third-party

• Can be secured to meet compliance

• More expensive, less flexible.

Private Cloud

Page 16: Managing Performance in the Cloud

• Service provider makes resources available to the general public over the Internet– Compute, Storage, O/S, Applications

• May be free or pay-per-usage model

• Fast deployment, short commitments

• Shared services, less control.

Public Cloud

Page 17: Managing Performance in the Cloud

• Core platform on private cloud

• Burstable capability into public cloud

• Brings best of both private and public

• Brings problems of both private and public.

Hybrid

Page 18: Managing Performance in the Cloud

THE COST OF POOR CLOUD PERFORMANCE

Financial and customer satisfaction

Page 19: Managing Performance in the Cloud
Page 20: Managing Performance in the Cloud

Cost• Compuware survey suggests large

business losses can exceed £500k due to poor cloud performance

• 57% of European IT Directors believe that they can’t manage cloud application performance

• You still have to deliver 2 second response times.

Page 21: Managing Performance in the Cloud

Performance• 50% of ops teams have suffered more

than one P-1 performance issue in the cloud

• 33% experience a P-1 issue every month

• 60% of incidents took more than 2 hours to resolve

• Good luck webops (cloudops). Source: AppDynamics

Page 22: Managing Performance in the Cloud

COMMON PERFORMANCE CHALLENGES

Traditional and new problems

Page 23: Managing Performance in the Cloud

Performance Challenges• Traditional

• Connectivity– Bandwidth /

Latency

• Bottlenecks– CPU, IO, Database

• Contemporary

• Bigger scale–More stuff

• Shared infrastructure– Not your stuff

(entirely).

Page 24: Managing Performance in the Cloud

Traditional• Connectivity

• Latency, jitter & Packet loss

• Bandwidth limitations

• Users demand fast access to data

• Bottlenecks

• Will still occur!

• Virtualised hardware– Host Contention– Storage.

Page 25: Managing Performance in the Cloud

Contemporary• Bigger Scale

• 10’s, 100’s, 1000’s, 10,000’s of servers – VM Sprawl

• Dynamically allocated physical resource

• Over-provisioning

• Hidden billing costs

• Shared Resources

• Room for one more?

• Deal with other peoples problems– DDOS, general

stupidity?

–Mi casa, es tu casa.

Page 26: Managing Performance in the Cloud

• Elasticity– Planned (scheduled/controlled scaling)– Unplanned (auto-scaling)

• Global distribution– Data Centres– Data

• Less Control.

Paradigm Shift

Page 27: Managing Performance in the Cloud

Data location still matters!

Page 28: Managing Performance in the Cloud

CLOUD EXPERIENCESStories from the trenches

Page 29: Managing Performance in the Cloud

INFRASTRUCTURE-AS-SERVICE

IaaS

Page 30: Managing Performance in the Cloud

• Adactus Food Ordering Platform

• Transacts –> 7 million orders & > $100M USD a year – 30% daily of orders taken in1 hour

• Adopted as eCommerce platform for Pizza Hut and KFC globally.

Application

Page 31: Managing Performance in the Cloud

Platform• Private• Global instances all

deployed on private clouds

• VMWare ESX Hosts– V-Web’s

• Dedicated / Non-Virtualised SQL

• Public• Rackspace public

cloud

• On-Demand– Load Balancers–Web Servers– SQL Servers

• High-scale, high-volume.

Page 32: Managing Performance in the Cloud

• Big Scale– A lot more to manage

• Virtual Platform– Contention

• End-to-End Application Performance Management.

Challenges

Page 33: Managing Performance in the Cloud

Solutions

• Cloud-centric APM– AppDynamics– CloudKick (now Rackspace APM)– Rightscale

• Automated Operations– Chef, Puppet (SysOps)– CloudFoundry, OpenShift (App LifeCycle)– Heroku, AppFog (NoOps?)

Page 34: Managing Performance in the Cloud
Page 35: Managing Performance in the Cloud

PLATFORM-AS-A-SERVICEPaaS

Page 36: Managing Performance in the Cloud

• Adactus Pulse

• Claims management solution for the insurance industry delivered as SaaS

• Processed over a million claims

• Deployed for ISS and Aviva.

Application

Page 37: Managing Performance in the Cloud

Platform• Deployed into Windows Azure Platform–Web Roles–Worker Roles– SQL Azure– SQL Azure Reporting Services

• Upgrade of traditional ASP.NET application

• Continuous Deployment Process.

Page 38: Managing Performance in the Cloud

Challenges

• Disproving the “shared resource” impact– Is it the infrastructure?

• Database performance is a black-box– Limitations and more limitations

• Getting performance data is hard work– Not easy to access, dispersed everywhere

• Baseline performance is not linear.

Page 39: Managing Performance in the Cloud

Baseline Performance

Large variances in baseline performance.

Page 40: Managing Performance in the Cloud

Windows Azure is more consistent.

Page 41: Managing Performance in the Cloud

Solutions• Instrumentation is king– Aspect Orientation (AOP)

• Gibraltar

– Does your provider offer a Performance API?

• Dedicated Cloud (Azure) Tools• Dynatrace• Cerebrata

• You must automate– Deployment (and everything else!)– Consistency is key.

Page 42: Managing Performance in the Cloud
Page 43: Managing Performance in the Cloud
Page 44: Managing Performance in the Cloud

DATABASE-AS-SERVICEDaaS

Page 45: Managing Performance in the Cloud

• Service provider takes responsibility for installing and maintaining the database.

• Amazon (mySQL)• Microsoft SQL Azure• Google App Engine Datastore• CouchDB, MongoDB.

Overview

Page 46: Managing Performance in the Cloud

Challenges

• Most service providers are having performance issues (even Google!)

• Database is a (performance) black-box– You will find limitations

• Need to handle transient connections– Your database will be there, but not always.

Page 47: Managing Performance in the Cloud

Solutions• Do as much tuning outside of the cloud

as possible

• Instrument your data access

• DB sharding becomes viable easy

• Build connection resiliency into your data-framework.

Page 48: Managing Performance in the Cloud

• On-premise databases– Are you sure?

• You might be about to create your own data storm?– Too much on-premise data– Too little bandwidth.

Caution

Page 49: Managing Performance in the Cloud

SOFTWARE-AS-A-SERVICESaaS

Page 50: Managing Performance in the Cloud

Overview• Adactus Pulse– Delivered on a SaaS Model

• We consume SaaS (heavily)– CRM, Performance, Google Apps, WIKI, Bug

Tracking, Testing, Accounting, Planning & Forecasting, Document Management, CMS, Exception Handling, Business Intelligence, Deployment, APM, Collaboration, HRM, ERP and more.

Page 51: Managing Performance in the Cloud

Challenges• Consumer

• Good news– Performance is out

of your control!

• Bad news– Performance is out

of your control!

• Provider

• Expectations are high!– Response times

• Performance is still king!– Competitors– Repeat use.

Page 52: Managing Performance in the Cloud

Real User Monitoring• Consumer

• It’s your new best friend

• Get to know your SLA– Its your new best

friend

• Simple rules– Be the first to know– Get your money back

• Provider

• It’s your new best friend

• You will live & die by your SLA’s

• Simple rules– Be the first to know– Tell your customers.

Page 53: Managing Performance in the Cloud
Page 54: Managing Performance in the Cloud
Page 55: Managing Performance in the Cloud

MonitoringXaaS

SaaS

PaaS

IaaS

RUM

Instrumentation

APM

Page 56: Managing Performance in the Cloud

BEYOND PERFORMANCEStories from the trenches

Page 57: Managing Performance in the Cloud

Service-Level-Agreements

• Critical element for both provider and consumer

• Don’t waste time on detailed numerical service level agreements

• SLAs need to be based on end-user experience.

Page 58: Managing Performance in the Cloud

Service-Level-Agreements1. Establish system availability

2. Establish system response time

3. Establish error resolution time

4. Establish a fail over window for disaster recovery

5. Ensure that you can get your data back.

Page 59: Managing Performance in the Cloud

Service-Level-Agreements• IaaS– The O/S is your responsibility• Managed Cloud Platforms are available

• PaaS– SLA’s stop at the O/S• Your application still remains your responsibility

• SaaS– Know your SLA inside out. Its your

responsibility.

Page 60: Managing Performance in the Cloud

Disaster Recovery

• It’s hard in the cloud

• DR strategies are still emerging

• Bandwidth & network capacity limits

• Security is still a concern.

Page 61: Managing Performance in the Cloud

Disaster Recovery• There isn’t a single blueprint

• Identify critical resources and recovery methods

• Architect for redundancy

• Back up to/from and restore to/from the cloud

• Most cloud SLA’s > 99.5% availability– 4 hours, 39 minutes downtime per month.

Page 62: Managing Performance in the Cloud

THANK YOU. QUESTIONS?That’s all folks!