Cloud Based Tes,ng & Capacity Planning (CloudPerf)



Similar documents
Amazon Elastic Compute Cloud Getting Started Guide. My experience

Cloud Computing and E-Commerce

Technology and Cost Considerations for Cloud Deployment: Amazon Elastic Compute Cloud (EC2) Case Study

How AWS Pricing Works

Amazon Hosted ESRI GeoPortal Server. GeoCloud Project Report

Oracle Applications and Cloud Computing - Future Direction

OTM in the Cloud. Ryan Haney

Hunk & Elas=c MapReduce: Big Data Analy=cs on AWS

Cloud Computing and Amazon Web Services

SharePoint Capacity Planning Balancing Organiza,onal Requirements with Performance and Cost

Cornell University Center for Advanced Computing

GeoCloud Project Report GEOSS Clearinghouse

Amazon EC2 XenApp Scalability Analysis

Last time. Today. IaaS Providers. Amazon Web Services, overview

THE DEFINITIVE GUIDE FOR AWS CLOUD EC2 FAMILIES

ArcGIS for Server: In the Cloud

Description of Application

Clusters in the Cloud

How To Choose Between A Relational Database Service From Aws.Com

How AWS Pricing Works May 2015

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

Amazon Web Services 100 Success Secrets

Introduction to Cloud Computing

Smartronix Inc. Cloud Assured Services Commercial Price List

Cloud Computing. Alex Crawford Ben Johnstone

UBUNTU DISK IO BENCHMARK TEST RESULTS

Introduc)on of Pla/orm ISF. Weina Ma

Splunk implementa-on. Our experiences throughout the 3 year journey

Cloud computing is a marketing term that means different things to different people. In this presentation, we look at the pros and cons of using

Stream Deployments in the Real World: Enhance Opera?onal Intelligence Across Applica?on Delivery, IT Ops, Security, and More

Data Management in the Cloud: Limitations and Opportunities. Annies Ductan

UAB Cyber Security Ini1a1ve

Cloud Computing. Chapter 1 Introducing Cloud Computing

Microsoft Windows Apple Mac OS X

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

Cloud computing - Architecting in the cloud

Amazon Elastic Beanstalk

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Cornell University Center for Advanced Computing

MySQL and Virtualization Guide

Scalable Architecture on Amazon AWS Cloud

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

Using SUSE Studio to Build and Deploy Applications on Amazon EC2. Guide. Solution Guide Cloud Computing.

PostgreSQL Performance Characteristics on Joyent and Amazon EC2

Microsoft Windows Apple Mac OS X

CloudFTP: A free Storage Cloud

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

Managing and Conducting Biomedical Research on the Cloud Prasad Patil

Deep Dive: Maximizing EC2 & EBS Performance

SNOW LICENSE MANAGER (7.X)... 3

Data Center Evolu.on and the Cloud. Paul A. Strassmann George Mason University November 5, 2008, 7:20 to 10:00 PM

SNOW LICENSE MANAGER (7.X)... 3

GeoCloud Project Report USGS/EROS Spatial Data Warehouse Project

Deploying Splunk on Amazon Web Services

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Running R from Amazon's Elastic Compute Cloud

Data Centers and Cloud Computing. Data Centers

MySQL: Cloud vs Bare Metal, Performance and Reliability

Using Cloud Services for Test Environments A case study of the use of Amazon EC2

Introduction to Cloud Computing on Amazon Web Services (AWS) with focus on EC2 and S3. Horst Lueck

Data Centers and Cloud Computing

Cloud Computing. Chapter 1 Introducing Cloud Computing

SoftLayer Offerings. What s Inside

Cloud Computing. Adam Barker

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

How to Grow and Transform your Security Program into the Cloud

SolovatSoft. Load and Performance Test Plan Sample. Title: [include project s release name] Version: Date: SolovatSoft Page 1 of 13

Scalable Application. Mikalai Alimenkou

Mark Bennett. Search and the Virtual Machine

CentOS Linux 5.2 and Apache 2.2 vs. Microsoft Windows Web Server 2008 and IIS 7.0 when Serving Static and PHP Content

Managing your Red Hat Enterprise Linux guests with RHN Satellite

An Introduction to Cloud Computing Concepts

The Cost of the Cloud. Steve Saporta CTO, SwipeToSpin Mar 20, 2015

Cloud Compu)ng. [Stephan Bergemann, Björn Bi2ns] IP 2011, Virrat

Virtuoso and Database Scalability

Enabling Technologies for Distributed and Cloud Computing

Performance measurement of a private Cloud in the OpenCirrus Testbed

INTRODUCTION TO CLOUD MANAGEMENT

How Liferay Is Improving Quality Using Hundreds of Jenkins Servers

Planning, Provisioning and Deploying Enterprise Clouds with Oracle Enterprise Manager 12c Kevin Patterson, Principal Sales Consultant, Enterprise

METAARCHIVE & CLOUD COMPUTING

Maximizer CRM 12 Summer 2013 system requirements

Maximizer CRM 2015 system requirements

Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud)

Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs)

Transcription:

Cloud Based Tes,ng & Capacity Planning (CloudPerf) Joan A. Smith Emory University Libraries joan.smith@emory.edu Frank Owen Owenworks Inc. frank@owenworks.biz Full presenta,on materials and CloudPerf screencast are available at hmp://www.joanasmith.com/content/cloudperf

Discussion Map 1. Cloud Strategies 2. Performance Tes,ng 3. Challenges & Lessons Learned 4. Q & A 2

PART 1. CLOUD STRATEGIES 3

Mo,va,on Once upon a,me Grad- student implementa,on Significant university digital scholarship website Major PR event with NY Times, TV News, etc. Fairy tale to nightmare Fastest hardware on site was s,ll inadequate Max concurrent users < 15 Expected concurrent users: > 15,000 Wake up, Neo 4

Goals: Background Deploy as economically as possible (don t overbuy hardware) Tune applica,on for performance before deployment (happy users) Tradi,onal Approach Limita,ons: Availability and cost of hardware (affordability as decision point) Time in days or weeks to configure, test, reconfigure (rinse and repeat) Blind investment in hardware solu,ons (fingers crossed) High up- front costs and on- going costs (for test, admin, etc.) Cloud advantages Quick to deploy, evaluate, adjust and redeploy Rented cost of hardware is cheap Easily tweak specific aspects of hardware and OS configura,ons Cloud disadvantages High ini,al costs to create the standardized test environment Not guaranteed hardware performance (can vary within type) Only approxima,ng target deployment environment 5

Defini,on: Cloud Service This is what we mean by cloud Sold on demand (not a subscrip,on) Elas,c (as much or as limle at one,me) Hardware is managed by the provider Rapid provisioning/deployment (near real-,me for some) This is not a cloud Monthly fee + access costs Mainframe data center Long deployment cycle 6

Types of clouds Solware as a Service (SaaS) Users log in to turnkey web applica,on Examples: salesforce.com Customer Rela,onship Management / Sales freshbooks.com Small business invoicing soasta.com Cloud based load tes,ng Google Docs Document management Planorm as a Service (PaaS) Specific set of APIs for that one planorm Build custom applica,on on top of APIs Deploy apps to that planorm Example: Google App engine Custom Java, Python APIs: Write your own everything Auto- scales in cases of increased user demand Infrastructure as a Service (IaaS) Configurable OS, Hardware Example: Amazon Amazon EC2 - Compute cloud CloudPerf uses EC2 Amazon S3 - Storage cloud 7

EC2: What it is & How it works EC2 = Elas,c Compute Cloud A virtual infrastructure Instance Based Amazon Machine Image: Hard Drive image of an OS stored in Amazon Cloud (S3 or EBS) Instance Type: Selectable Hardware Cos,ng Cost begins upon powering up Instance Price per Hour: $0.02- $2.48 Addi,onal $$ for network, storage usage Management Web interface for administra,on Programming APIs 8

Launching a Virtual Instance 9

Typical large app cluster 10

EC2 Manual Cluster Building One,me AMI Setup: Launch public EC2 image through Amazon Console Install infrastructure solware to the image Oracle Database, Tomcat App Server, Apache HTTPD etc Customize configura,on files Save your AMI as private AMI Recurring Setup: Launch n (10) AMIs, record network info Reconfigure 4 app servers to talk to db Reconfigure 1 load balancer to talk to apps Reconfigure 4 test runners to talk to each other, load balancer Fetch, install and configure latest solware version (e.g., slave voyages) Automate! 11

CloudPerf: Streamlined workflow New web- based management system Aims to minimize number of Machine Images we need to maintain One windows image, One Linux image All solware installed on all images U,lizes 16 KB User Data to instruct image what service to start Auto configures en,re cluster for target web applica,on Peer discovery Synchroniza,on Downloads and installs target solware from repository 12

CloudPerf Cluster Configura,on 13

CloudPerf Monitoring 14

Technical Challenges Solware repository to fetch latest version Your solware changes: don t rebuild AMI every,me Amazon S3 works well as image storage Peer discovery and network configura,on Changes every launch: cannot be part of AMI Private IPs protect your app during tes,ng Synchroniza,on DB, then App Servers, then Load Balancer Requires polling solu,on Instance types are approximate Infrastructure failures (network, heavy load etc) 15

Resolving startup dependencies We modeled startup aler the Unix rc model Runlevel 0: No dependencies Runlevel 1: User- data is posted Runlevel 2: All peer network addresses are known Timing is everything Peer discovery is a synchroniza,on problem 16

How does Amazon charge? Instances $0.02 to $2.48 per hour, based on processing power and memory Network Data Transfer Inbound: $0.10 per GB Outbound: First GB Free $0.08 to $0.15 per GB therealer CloudWatch $0.015 per instance- hour EBS Storage $0.10 per GB/month $0.10 per million I/O requests S3 Storage $0.14 per GB for first 1 TB, less therealer Data In: $0.10 per GB Very small per request charges Prices vary by Data Center East Coast, Europe, West Coast, etc. 17

Amazon Instance Types Type Memory CPU CU Disk GB Linux Windows Note t1.micro 613 MB 2 $0.02 $0.03 750 hrs Free m1.small 1.7 GB 1 160 $0.085 $0.12 32 bit only m1.large 7.5 GB 4 850 $0.34 $0.48 m1.xlarge 15 GB 8 1690 $0.68 $0.96 m2.2xlarge 34 GB 13 850 $1.00 $1.24 m2.4xlarge 68 GB 26 1690 $2.00 $2.48 c1.medium 1.7 GB 5 350 $0.17 $0.29 32 bit only c1.xlarge 7 GB 20 1690 $0.68 $1.16 cc1.4xlarge 23 GB 33.5 1690 $1.60 N/A Cluster Compute cg1.4xlarge 22 GB 33.5 1690 $2.10 N/A Dual GPUs 1 CU = One 2007 1.0-1.2 GHz Opteron or Xeon processor 1 CU = One 2006 1.7 GHz Xeon processor 18

Cost examples 1 full,me performance tester at Owenworks Mostly large 11- node clusters Total bill for AWS: ~ $1500/month One 2 node Linux cluster, 4 hours/day m1.xlarge 15 GB RAM, 8 CU - > $120 month 1600 1400 1200 1000 800 600 400 200 0 Compute Network Storage 19

QA Costs for Cloud vs Tradi,onal In a real QA lab, it would take two knowledgeable individuals an en,re work- week to load and configure 11 servers for a single test run With EC2, an en,re cluster can be launched by an individual and be ready for tes,ng in about 5 minutes. When the test is complete and the data gathered, the cluster can be terminated; if addi,onal runs are needed, another cluster can be ready in minutes Mul,ple clusters can easily be configured to allow direct comparisons between solware releases (valuable for troubleshoo,ng) Using the cloud, the costs of purchasing and maintaining tradi,onal QA lab equipment can be substan,ally reduced if not eliminated 20

PART 2: PERFORMANCE TESTING 21

Key Performance Tes,ng Tasks Iden,fy bounds CPU? Disk I/O? RAM? Net Bandwidth? Clarifies what to buy for deployment Iden,fy hardware requirements capacity planning Which/how many CPUs Op,mum RAM, Disk, etc. Iden,fy solware bomlenecks Many solware defects only show up under load Database concurrency, threading, cache sizes Iden,fy failure modes When the applica,on is overloaded, how does it fail Target responses for failure modes 22

Types of performance tests: Load tes,ng using expected customer workload Stress tes,ng exceeding expected load; what happens? Endurance tes,ng basically a longer- dura,on load test Capacity planning Hardware needed to meet expected load 23

Test Planning Strategy Create Applica,on Usage Models Determine usage style (bursty, con,nuous) Es,mate expected load, users, transac,ons, reports, etc. Create Hardware Deployment Models Capacity Tests Performance Tests Write tests Jmeter, Ra,onal Performance Test, Silk, etc. Validators are very important. Most applica,ons can generate error pages very efficiently 404 is a successful page generated but not a successful outcome 24

Tools for EC2 Performance Tes,ng Jmeter Open source distributed performance test tool Amazon AWS management console CloudWatch, if enabled, gives network stats, CPU usage, Memory usage Elas,cFox Firefox plugin Func,onally equivalent to the EC2 por,on of AWS management console S3Fox Firefox plugin Func,onally equivalent to the S3 por,on of AWS management console Tradi,onal OS- Specific Tools: Unix: top, iostat, ganglia Windows: Task Manager 25

JMeter Repor,ng 26

Amazon Management Console 27

Amazon CloudWatch: Graph Detail 28

Part 3 CHALLENGES & LESSONS LEARNED 29

Challenge: Analyzing Results Instance types are *approximate* need mul,ple runs to even out results Mapping test results to real hardware is hard How much CPU is a CU worth? EC2 network topology differs from deployment topology Disk I/O performance is poor on EC2 Few apps these days are disk bound Disk bound apps not a good match for EC2 tes,ng Lack of comparable historical data from similar sites 30

Challenge: Licensing Issues Not Mac compa,ble!! Apple requires Server OS for virtualiza,on Apple license requires Mac Hardware None of the cloud services use Mac Hardware Check the license Some disallow running in virtualized environment Some require separate license Some provide an Amazon AMI, and charge for it by the hour (Windows OS) 31

Lessons Learned Keeping images in sync with scripts is key Use scripts to modify images at run,me Minimize the number of images Install all infrastructure solware on every image Pull target solware versions from S3 Startup and configure based on user- data Results analysis requires skill & experience User models and historical usage data are important Separate solware process problems from cloud problems Automated tes,ng can serve as a form of regression test 32

Final Thoughts: Cloud Value High up- front costs to script Worthwhile if your apps share a common tech stack Offset by not having to buy boat loads of hardware Value from: Repeatability & rapid test turn- around Hardware savings & reduced configura,on,me Variety of hardware, allowing what- if scenarios Performance assurance Right- sizing configura,on Right- sizing hardware 33

PART 4. Q & A 34

Full presenta,on materials and CloudPerf screencast are available at hmp://www.joanasmith.com/content/cloudperf THANK YOU! 35

ADDITIONAL DETAIL SLIDES 36

Cloud as Test Environment Broad QA applicability func,onal tes,ng regression tes,ng Test plans vary by test type but using the cloud provides the same sort of benefits Efficient, cost- effec,ve, fast results 37

Cloudy? Term originates from network diagrams Cloud didn t mamer Fuzzy concept Overused by marketers Calling it a cloud doesn t make it a cloud Maximize buzzword synergy add pictures of (old) network clouds 38

CloudPerf Sequence Diagram 39

Elas,cFox 40