Upload
eugene-steinberg
View
3.638
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Practitioner perspective on cloud computing
Citation preview
Victoria Livschitz, CEOGrid Dynamics
Sep, 2009
Introduction to Cloud Computing:The Practitioner’s Perspective
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
3Grid Dynamics
PartOne. 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
5Grid Dynamics
Cloud Computing like Power Grid
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
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
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
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
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
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
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
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
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
15Grid Dynamics
Part two. Practitioner’s perspective
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
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
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
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
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
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
22Grid Dynamics
PECloud solution architecture
23Grid Dynamics
Traditional QA process at a glance
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
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
26Grid Dynamics
QA on the cloud strategies
Cloud as a Load and Stress Testing for QA environment
Cloud as a QA Environment Hosting
27Grid Dynamics
Cloud4QA architecture
28Grid Dynamics
Q&A