29
Victoria Livschitz, CEO Grid Dynamics Sep, 2009 Introduction to Cloud Computing: The Practitioner’s Perspective

Introduction To Cloud Computing

Embed Size (px)

DESCRIPTION

Practitioner perspective on cloud computing

Citation preview

Page 1: Introduction To Cloud Computing

Victoria Livschitz, CEOGrid Dynamics

Sep, 2009

Introduction to Cloud Computing:The Practitioner’s Perspective

Page 2: Introduction To Cloud Computing

2Grid Dynamics

Agenda

Part one: introduction to cloud computing

Cloud computing: what it is, and what it is not

Cloud applications principles

Benefits and challenges of cloud computing

Part two: practitioner’s perspective

Batch processing in the cloud demo

Portfolio analytics in the cloud demo

QA on the cloud demo

Page 3: Introduction To Cloud Computing

3Grid Dynamics

PartOne. Introduction to Cloud Computing

Page 4: Introduction To Cloud Computing

4Grid Dynamics

Evolution of computing is about abstracting

Programming languages

abstract algorithms from machine instructions

1951 A0 SYSTEM1954 FORTRAN

Operating Systems

abstract software from hardware 1959 GM OS IBM7011965 OS/360

File Systems abstract data storage from physical medium

1961 DECTape

Databases abstractdata from physical storage 1960-xIDS,IMS1970 RDBMS

Networking protocols

abstract communication from network 1969 ARPANet

Virtual machines abstractapplication from platform 1995 JVM

Grid Computing abstractdistributed application from distributed platform

1990-2000

Cloud Computing Abstract application from infrastructure 2000-2009

Page 5: Introduction To Cloud Computing

5Grid Dynamics

Cloud Computing like Power Grid

Page 6: Introduction To Cloud Computing

6Grid Dynamics

Why now?

Broadband networks

Adoption of Software as a Service

Gmail, Salesforce, etc…

Web 2.0 mindset

Virtualization technologies for commodity x86

Virtual Machines and Virtual Appliances as a standard deployment object

Open Source software

Community

Low entry barrier

No per-CPU costs

Page 7: Introduction To Cloud Computing

7Grid Dynamics

Anatomy of a Cloud: SPI Paradigm

Building Blocks

Hardware infrastructure (IaaS) AWS, GoGrid, Rackspace, Mosso, Flexiscale

Platform (PaaS) Force.com, Google App Engine, Gmaps API

Software (SaaS) Salesforce.com, Gmail

Cloud principles

Pay As You Go Self-service Programmable Dynamic provisioning

Cloud scope

Public, Private, Hybrid

Page 8: Introduction To Cloud Computing

8Grid Dynamics

Cloud computing is not just

Distributed computing

Cluster of computers acting to perform one big task

Computationally intensive applications

Hosting infrastructure

Web hosting

Packaging of resources as metered service

Application hosting

Shared instance of application

Page 9: Introduction To Cloud Computing

9Grid Dynamics

Cloud computing is also

Cloud platform services Storage and Data Services

Scalable archiving and backup solution Relational, Object or Column Databases Network-attachable block storage

Messaging Other: Auth, CDN, URI fetching, Task Scheduling, Image Processing, etc.

Cloud middleware Grid Computing Middleware Data grids Provisioning systems

Cloud API Monitoring Management Orchestration

CloudAPI

Middle-ware

Platform services

Page 10: Introduction To Cloud Computing

10Grid Dynamics

What is a cloud application?

Horizontally scalable

Performance can be increased dynamically by the means of adding CPU and/or storage resources

Failure resistant

Features failover and failback on application level

Manages persistence on application level

Cloud aware

Relies on cloud services

Relies on application specific monitoring as well as to Cloud API to monitor and manage resources

Not so security critical

Page 11: Introduction To Cloud Computing

11Grid Dynamics

Native Cloud Application principles Massively parallel by design

Keep state in data grid Process in computation grid Load balance

On-demand elastic scalability Elastic scalability to scale not only up but also down with workload Use SLA to define scaling needs Use Cloud API to satisfy scaling needs

Loosely coupled Component-based Wrap cloud API and Cloud Services to avoid lock-in

Resilient by design Failover and failback features to withstand resource failure Cloud API is used to restore/re-provision failed resource

Page 12: Introduction To Cloud Computing

12Grid Dynamics

Cloud Scope: Public, Private, Hybrid

Public Clouds

Out there, provided as a service VM-Image-based or Virtual Private Datacenter-based Really massively scalable

Private Clouds

Benefits of public clouds, but: Internal bandwidth for access cloud resources Maintain control over resources Meet enterprise/legal regulations

Hybrid Clouds

Augment private cloud with capacity of public cloud (cloud bursting) Suitable for handling traffic spikes or periodic massive computation jobs Introduce complexity of managing application on private-public boundaries,

especially wrt data transfer

Page 13: Introduction To Cloud Computing

13Grid Dynamics

Benefits of Cloud Computing

Benefits of scale

Large cloud provider can always invest more into robust cloud services then you Illusion of “infinite capacity” for processing and storage resources Bursting: Employ large amount of servers with ease

Risk management

Most infrastructure risks moved to cloud provider (HW and network failures is provider’s problem)

Resilient and redundant cloud services as building blocks Opportunity to automate failover and failback

Speed of innovation

Low entry cost for innovative programs Easy to try a lots of ideas and not meet IT-related bounds

Page 14: Introduction To Cloud Computing

14Grid Dynamics

When it rains: cloud challenges

Raw performance Virtualization tolls CPU and I/O

Data-compute affinity Moving data in and out is costly

Firm SLA Fair share of resources is not

guaranteed in all scenarios

Opacity reliability and safety technologies are

proprietary and unknown

Security and Data privacy Cloud abstracts out where actual

data processing occurs Digital Millennium Copyright Act

(DCMA) and Cryptography Export laws

Lock-In No standards so far

Legacy as a Service Rarely cloud-friendly

Deployment Automate, automate, automate

Everything fails all the time Cloud provider outages, hidden and

obvious Unexpected Cloud API and Services

evolution

Page 15: Introduction To Cloud Computing

15Grid Dynamics

Part two. Practitioner’s perspective

Page 16: Introduction To Cloud Computing

16Grid Dynamics

Batch processing in the cloud

Traditional batch processing limitations

Limited by number of server resources Low utilization No way to process burst workload HW failure reduces capacity

Cloud way

Unlimited server resources 100% utilization Opportunity to scale with load Opportunity to automatically restore capacity on failure

Do it as quickly as you need

Neutral cost equation: 1000 servers * 1 hour = 10 servers * 100 hours

Page 17: Introduction To Cloud Computing

17Grid Dynamics

Terracotta cloudware

Cluster JVM, not application

Transparent clustering

Network attached memory

Separation of application from infrastructure

No new API

Java is the API

Java memory model Java concurrency

Scale-out

Terracotta ServerClustering the JVM

App Server

Web App

JVM

Frameworks

Frameworks

Business Logic

App Server

Web App

JVM

Frameworks

Frameworks

Business Logic

App Server

Web App

JVM

Frameworks

Frameworks

Business Logic

Page 18: Introduction To Cloud Computing

18Grid Dynamics

Batch processing in the cloud architecture

Terracotta cluster

Worker Servers Array

FrontendProvisioning Service

Master TC Server

Cloud API

Data source(nginx)

Scale up request

Job request Job result

new server

Page 19: Introduction To Cloud Computing

19Grid Dynamics

Batch processing in the cloud demo

Netflow log processing of traffic usage in large enterprise

Parses log files and finds biggest traffic consumer within organizaiton

Logs are served by nginx web server

Terracotta cloudware for cluster management, job distribution and results gathering

Automated provisioning and dynamic scalability

Deployed on top of Amazon EC2

Page 20: Introduction To Cloud Computing

20Grid Dynamics

Portfolio evaluation in the cloud Major investment bank

Annuity Calculator application Monte-Carlo Simulation with geometric Brownian motion (GBM) Fully parallelizable (share-nothing) algorithm

Customer talks to an agent and agent gets back to the customer next business day

Nightly batch job computes the Annuity Amounts for all customers

Current approach limitations

System is constrained in precision by time available for batch Customer satisfaction can be improved if this can be computed in near Real Time Adding new resources is tedious and expensive

Page 21: Introduction To Cloud Computing

21Grid Dynamics

PECloud solution

Cloud based solution

Re-using existing Monte Carlo models (written in C++)

Ability to quickly launch and destroy the application

Ability to scale up or down based on the size of the problem

Complete the Simulation in near real-time

SOA Architecture

Reusable financial model deployed as scalable service

Security Model

Page 22: Introduction To Cloud Computing

22Grid Dynamics

PECloud solution architecture

Page 23: Introduction To Cloud Computing

23Grid Dynamics

Traditional QA process at a glance

Page 24: Introduction To Cloud Computing

24Grid Dynamics

QA process limitations

Multiple build instances $$$ spent on infrastructure

Build refresh cycles vary:

Environment setup and deployment takes time

Infrastructure on-demand offered by cloud is a solution

OR

Page 25: Introduction To Cloud Computing

25Grid Dynamics

Real-life QA study: Major retail website

Limited to 6 static staging environments

Continuous feature development

Frequent content updates and promotional updates

QA provides environment configuration specs sets up the environment for specific date &build

days or even weeks to allocate, set up and configure physical QA environment

Availability of resources in operations

Specs improperly communicated additional iteration to set up environment

Page 26: Introduction To Cloud Computing

26Grid Dynamics

QA on the cloud strategies

Cloud as a Load and Stress Testing for QA environment

Cloud as a QA Environment Hosting

Page 27: Introduction To Cloud Computing

27Grid Dynamics

Cloud4QA architecture

Page 28: Introduction To Cloud Computing

28Grid Dynamics

Q&A

Page 29: Introduction To Cloud Computing

Victoria Livschitz,CEO

Grid [email protected]

Thank You!