Introduction to Cloud Computing:<br />The Practitioner’s Perspective<br />Victoria Livschitz, CEO<br />Grid Dynamics<br />...
Agenda<br />Part one: introduction to cloud computing<br />Cloud computing: what it is, and what it is not<br />Cloud appl...
PartOne. Introduction to Cloud Computing<br />
Evolution of computing is about abstracting<br />
Cloud Computing like Power Grid   <br />
Why now?<br />Broadband networks<br />Adoption of Software as a Service<br />Gmail, Salesforce, etc…<br />Web 2.0 mindset<...
Anatomy of a Cloud: SPI Paradigm <br />Building Blocks<br />Hardware infrastructure (IaaS)<br />AWS, GoGrid, Rackspace, Mo...
Cloud computing is not just<br />Distributed computing<br />Cluster of computers acting to perform one big task<br />Compu...
Cloud computing is also<br />Cloud platform services<br />Storage and Data Services<br />Scalable archiving and backup sol...
What is a cloud application?<br />Horizontally scalable<br />Performance can be increased dynamically by the means of addi...
Native Cloud Application principles<br />Massively parallel by design<br />Keep state in data grid<br />Process in computa...
Cloud Scope: Public, Private, Hybrid<br />Public Clouds<br />Out there, provided as a service<br />VM-Image-based or Virtu...
Benefits of Cloud Computing<br />Benefits of scale<br />Large cloud provider can always invest more into robust cloud serv...
When it rains: cloud challenges<br />Raw performance<br />Virtualization tolls CPU and I/O<br />Data-compute affinity<br /...
Part two. Practitioner’s perspective<br />
Batch processing in the cloud<br />Traditional batch processing limitations<br />Limited by number of server resources<br ...
Scale-out<br />App Server<br />App Server<br />App Server<br />Web App<br />Web App<br />Web App<br />Business Logic<br />...
Batch processing in the cloud architecture<br />Scale up request<br />new server<br />Frontend<br />Provisioning Service<b...
Batch processing in the cloud demo<br />Netflow log processing of traffic usage in large enterprise<br />Parses log files ...
Portfolio evaluation in the cloud<br />Major investment bank<br />Annuity Calculator application <br />Monte-Carlo Simulat...
PECloud solution<br />Cloud based solution <br />Re-using existing Monte Carlo models (written in C++)<br />Ability to qui...
PECloud solution architecture<br />
Traditional QA process at a glance<br />
QA process limitations<br />Multiple build instances  $$$ spent on infrastructure <br />Build refresh cycles vary:<br />E...
Real-life QA study: Major retail website<br />Limited to 6 static staging environments <br />Continuous feature developmen...
QA on the cloud strategies<br />Cloud as a Load and Stress Testing for QA environment<br />Cloud as a QA Environment Hosti...
Cloud4QA architecture<br />
Q&A<br />
Thank You!<br />Victoria Livschitz,CEO<br />Grid Dynamicsvlivschitz@griddynamics.com<br />
Upcoming SlideShare
Loading in …5
×

Introduction To Cloud Computing

3,732
-1

Published on

Practitioner perspective on cloud computing

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,732
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
270
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Introduction To Cloud Computing

  1. 1. Introduction to Cloud Computing:<br />The Practitioner’s Perspective<br />Victoria Livschitz, CEO<br />Grid Dynamics<br />Sep, 2009<br />
  2. 2. Agenda<br />Part one: introduction to cloud computing<br />Cloud computing: what it is, and what it is not<br />Cloud applications principles<br />Benefits and challenges of cloud computing<br />Part two: practitioner’s perspective<br />Batch processing in the cloud demo<br />Portfolio analytics in the cloud demo<br />QA on the cloud demo<br />
  3. 3. PartOne. Introduction to Cloud Computing<br />
  4. 4. Evolution of computing is about abstracting<br />
  5. 5. Cloud Computing like Power Grid <br />
  6. 6. Why now?<br />Broadband networks<br />Adoption of Software as a Service<br />Gmail, Salesforce, etc…<br />Web 2.0 mindset<br />Virtualization technologies for commodity x86<br />Virtual Machines and Virtual Appliances as a standard deployment object<br />Open Source software<br />Community<br />Low entry barrier<br />No per-CPU costs<br />
  7. 7. Anatomy of a Cloud: SPI Paradigm <br />Building Blocks<br />Hardware infrastructure (IaaS)<br />AWS, GoGrid, Rackspace, Mosso, Flexiscale<br />Platform (PaaS)<br />Force.com, Google App Engine, Gmaps API<br />Software (SaaS)<br />Salesforce.com, Gmail <br />Cloud principles<br />Pay As You Go<br />Self-service<br />Programmable<br />Dynamic provisioning<br />Cloud scope<br />Public, Private, Hybrid<br />
  8. 8. Cloud computing is not just<br />Distributed computing<br />Cluster of computers acting to perform one big task<br />Computationally intensive applications<br />Hosting infrastructure<br />Web hosting<br />Packaging of resources as metered service<br />Application hosting<br />Shared instance of application<br />
  9. 9. Cloud computing is also<br />Cloud platform services<br />Storage and Data Services<br />Scalable archiving and backup solution<br />Relational, Object or Column Databases<br />Network-attachable block storage<br />Messaging<br />Other: Auth, CDN, URI fetching, Task Scheduling, Image Processing, etc.<br />Cloud middleware<br />Grid Computing Middleware<br />Data grids<br />Provisioning systems<br />Cloud API<br />Monitoring <br />Management<br />Orchestration<br />Cloud<br />API<br />Middle-ware<br />Platform services<br />
  10. 10. What is a cloud application?<br />Horizontally scalable<br />Performance can be increased dynamically by the means of adding CPU and/or storage resources<br />Failure resistant<br />Features failover and failback on application level<br />Manages persistence on application level<br />Cloud aware<br />Relies on cloud services<br />Relies on application specific monitoring as well as to Cloud API to monitor and manage resources<br />Not so security critical<br />
  11. 11. Native Cloud Application principles<br />Massively parallel by design<br />Keep state in data grid<br />Process in computation grid<br />Load balance<br />On-demand elastic scalability<br />Elastic scalability to scale not only up but also down with workload<br />Use SLA to define scaling needs<br />Use Cloud API to satisfy scaling needs<br />Loosely coupled<br />Component-based<br />Wrap cloud API and Cloud Services to avoid lock-in<br />Resilient by design<br />Failover and failback features to withstand resource failure<br />Cloud API is used to restore/re-provision failed resource<br />
  12. 12. Cloud Scope: Public, Private, Hybrid<br />Public Clouds<br />Out there, provided as a service<br />VM-Image-based or Virtual Private Datacenter-based<br />Really massively scalable<br />Private Clouds<br />Benefits of public clouds, but:<br />Internal bandwidth for access cloud resources<br />Maintain control over resources<br />Meet enterprise/legal regulations<br />Hybrid Clouds<br />Augment private cloud with capacity of public cloud (cloud bursting)<br />Suitable for handling traffic spikes or periodic massive computation jobs<br />Introduce complexity of managing application on private-public boundaries, especially wrt data transfer<br />
  13. 13. Benefits of Cloud Computing<br />Benefits of scale<br />Large cloud provider can always invest more into robust cloud services then you<br />Illusion of “infinite capacity” for processing and storage resources<br />Bursting: Employ large amount of servers with ease<br />Risk management<br />Most infrastructure risks moved to cloud provider (HW and network failures is provider’s problem)<br />Resilient and redundant cloud services as building blocks<br />Opportunity to automate failover and failback<br />Speed of innovation<br />Low entry cost for innovative programs<br />Easy to try a lots of ideas and not meet IT-related bounds<br />
  14. 14. When it rains: cloud challenges<br />Raw performance<br />Virtualization tolls CPU and I/O<br />Data-compute affinity<br />Moving data in and out is costly<br />Firm SLA<br />Fair share of resources is not guaranteed in all scenarios<br />Opacity<br />reliability and safety technologies are proprietary and unknown<br />Security and Data privacy<br />Cloud abstracts out where actual data processing occurs<br />Digital Millennium Copyright Act (DCMA) and Cryptography Export laws<br />Lock-In<br />No standards so far<br />Legacy as a Service<br />Rarely cloud-friendly<br />Deployment<br />Automate, automate, automate<br />Everything fails all the time<br />Cloud provider outages, hidden and obvious<br />Unexpected Cloud API and Services evolution<br />
  15. 15. Part two. Practitioner’s perspective<br />
  16. 16. Batch processing in the cloud<br />Traditional batch processing limitations<br />Limited by number of server resources<br />Low utilization<br />No way to process burst workload<br />HW failure reduces capacity<br />Cloud way<br />Unlimited server resources<br />100% utilization<br />Opportunity to scale with load<br />Opportunity to automatically restore capacity on failure<br />Do it as quickly as you need<br />Neutral cost equation: 1000 servers * 1 hour = 10 servers * 100 hours<br />
  17. 17. Scale-out<br />App Server<br />App Server<br />App Server<br />Web App<br />Web App<br />Web App<br />Business Logic<br />Business Logic<br />Business Logic<br />Frameworks<br />Frameworks<br />Frameworks<br />Frameworks<br />Frameworks<br />Frameworks<br />JVM<br />JVM<br />JVM<br />Terracotta Server<br />Clustering the JVM<br />Terracotta cloudware<br />Cluster JVM, not application<br />Transparent clustering<br />Network attached memory<br />Separation of application from infrastructure<br />No new API<br />Java is the API<br />Java memory model<br />Java concurrency<br />
  18. 18. Batch processing in the cloud architecture<br />Scale up request<br />new server<br />Frontend<br />Provisioning Service<br />Cloud API<br />Job request<br />Job result<br />Terracotta <br />cluster<br />Master<br />TC Server<br />Worker Servers Array<br />Data source<br />(nginx)<br />
  19. 19. Batch processing in the cloud demo<br />Netflow log processing of traffic usage in large enterprise<br />Parses log files and finds biggest traffic consumer within organizaiton<br />Logs are served by nginx web server<br />Terracotta cloudware for cluster management, job distribution and results gathering<br />Automated provisioning and dynamic scalability<br />Deployed on top of Amazon EC2<br />
  20. 20. Portfolio evaluation in the cloud<br />Major investment bank<br />Annuity Calculator application <br />Monte-Carlo Simulation with geometric Brownian motion (GBM)<br />Fully parallelizable (share-nothing) algorithm<br />Customer talks to an agent and agent gets back to the customer next business day<br />Nightly batch job computes the Annuity Amounts for all customers<br />Current approach limitations<br />System is constrained in precision by time available for batch<br />Customer satisfaction can be improved if this can be computed in near Real Time<br />Adding new resources is tedious and expensive<br />
  21. 21. PECloud solution<br />Cloud based solution <br />Re-using existing Monte Carlo models (written in C++)<br />Ability to quickly launch and destroy the application<br />Ability to scale up or down based on the size of the problem<br />Complete the Simulation in near real-time<br />SOA Architecture<br />Reusable financial model deployed as scalable service<br />Security Model <br />
  22. 22. PECloud solution architecture<br />
  23. 23. Traditional QA process at a glance<br />
  24. 24. QA process limitations<br />Multiple build instances  $$$ spent on infrastructure <br />Build refresh cycles vary:<br />Environment setup and deployment takes time <br />Infrastructure on-demand offered by cloud is a solution <br />OR<br />
  25. 25. Real-life QA study: Major retail website<br />Limited to 6 static staging environments <br />Continuous feature development<br />Frequent content updates and promotional updates<br />QA provides environment configuration specs  sets up the environment for specific date &build <br />days or even weeks to allocate, set up and configure physical QA environment<br />Availability of resources in operations <br />Specs improperly communicated  additional iteration to set up environment<br />
  26. 26. QA on the cloud strategies<br />Cloud as a Load and Stress Testing for QA environment<br />Cloud as a QA Environment Hosting<br />
  27. 27. Cloud4QA architecture<br />
  28. 28. Q&A<br />
  29. 29. Thank You!<br />Victoria Livschitz,CEO<br />Grid Dynamicsvlivschitz@griddynamics.com<br />

×