Cloud ComputingBenefits and Challenges Ms. Sara Salem Ph.D. Student, Faculty of Computers and Information, Cairo University Prof. FatmaOmara Vice dean of the faculty of Computers and Information , Cairo University Mr. Mohamed Handosa Ph.D. Student, Faculty of Computers and Information, Mansoura University
Computing Generations 1. Mainframe Computing 4. Internet Computing Server Internet Terminal PC PC PC Server Mainframe 2. PC Computing 5. Grid Computing Grid PC PC PC 3. Network Computing 6. Cloud Computing Cloud Server Server Handbook of Cloud Computing
Mainframe Vs. Cloud Computing • Cloud is a return to mainframe computing • Mainframe • Offers finite computing power • Dummy terminals as user interface devices • Cloud • Provides almost infinite power and capacity • PCs can provide local computing and cashing Handbook of Cloud Computing
History of Internet Revolution • Internet gone through four revolutions. • Every revolution took about ten years. • Cloud computing is a major part of the fifth revolution Resource Elastic Applications Social Networking & Commerce Web & Search Email & Usenet TCP/IP 1970 1980 1990 2000 2010 2020 2011 Seif Haridi & Peter Van Roy
Cloud Computing Definition • A computational environment that provides transparent access to a shared pool of computing resources matching the user’s needs • e.g. processing power, storage, applications, & components • Clouds capabilities vary mainly in the extent of transparency addressed in the following eight aspects: • Access, location, concurrency, replication, failure, mobility, performance, and scaling.” [Egypt's Cloud Computing Strategic Plan-2011]
Cloud Computing Definition NIST: Definition of Cloud Computing, Draft version 14 http://csrc.nist.gov/groups/SNS/cloud-computing/index.html
The Evolution of Cloud Computing • Software as a Service • Network-based subscription to applications • Gained momentum in 2001 • Cloud Computing • Next-Generation Internet computing • Next Generation Data Centers • Grid Computing • Solving large problems with parallel computing • Made mainstream by Globus Alliance • Utility Computing • Offering computing resources as a metered service • Introduced in late 1990s
Cloud Computing From Wikipedia, the free encyclopedia
Cloud Services VS. Traditional Hosting • Sold on demand, typically by minute or hour. • Elastic, a user can have as much or as little of a service as they want at any given time. • Service is fully managed by the provider • A consumer needs only a PC and Internet access.
Primary Benefits of Cloud Computing • Two primary benefits • Increasing agility • Reducing costs • Agility improves with ability to re-provision technological infrastructure resources. • Cloud computing provides both application developers and users an abstract view of services that shields complexities and details
The Growth of Cloud Computing http://blogs.zdnet.com/Hinchcliffe
How Cloud Computing Works Database (Storage) Computer Network Control Node Client Computer Application Servers 2008 HowStuffWorks
Cloud Computing Benefits
Cloud Benefits • No up-front investment • Pay-as you-go pricing model. • No need to invest in the infrastructure. • Resources are rented from the according to needs. • Lowering operating cost • Resources are allocated and de-allocated on demand. • No need to provide capacities according to peak load. • Resources can be released to save on operating costs when service demand is low.
Cloud Benefits (Cont.) • Highly scalable • Infrastructure providers pool large amount of resources and make them easily accessible. • Service providers can easily expand its service to large scales to handle rapid increase in service demands • Easy access • Services hosted in the cloud are generally web-based. • Accessible through devices with Internet connections. • Devices: desktop, laptop, cell phones and PDAs.
Cloud Benefits (Cont.) • Reducing business risks and maintenance expenses • Outsource the service infrastructure to the cloud • Service providers shift business risks (such as hardware failures) to infrastructure providers • Infrastructure providers have better expertise and are better equipped for managing these risks. • A service provider can cut down the hardware maintenance and the staff training costs.
Pay-by-use VS. Provisioning for Peak Static data center Data center in the cloud • Capacity • Resources • Resources • Capacity • Demand • Demand • Time • Time • Unused resources • Unused resources Slide Credits: Berkeley RAD Lab
Heavy Penalty for Under-Provisioning Lost revenue Lost users • Resources • Resources • Resources • Capacity • Capacity • Capacity • Demand • Demand • Demand • 2 • 2 • 3 • 3 • 2 • 3 • 1 • 1 • 1 • Time (days) • Time (days) • Time (days) Slide Credits: Berkeley RAD Lab
IT Project Evaluation Criteria IT Evaluation Criteria Cloud Computing Offers Fast time to value Minimal capital investment Lower operational costs Fewer resource demands • Time to value • Capital expense • Operational costs • Technical resource demands 53% of software projects cost 189% of original estimate Standish Group, Chaos Report 2007
Energy Savings • Cloud computing leads to a 38% reduction in worldwide data center energy consumption by 2020. • Total data center energy consumption • from $23.3 billion in 2010 • to $16.0 billion in 2020. “Cloud Computing Energy Efficiency” report
Large capital infrastructure costs and low data sensitivity (Data Centers) Key Indicators for Cloud Computing Value Projects that need to scale massively up or down with demand (Tax season) Software or hardware migrations and upgrades (Email Migration) Projects that need to be deployed rapidly (Wikis, Blogs) New development for public or low data sensitivity projects (Web Presence) Projects that require a great deal of Government IT infrastructure management Cloud Computing
SaaS IaaS PaaS Cloud Computing Layers and Services
Cloud Computing Services Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS)
Cloud Computing Layers Resources Managed at each layer Google Apps, Facebook, Youtube, Saleforce.com Business Applications, Web Services, Multimedia Application Software as a service (SaaS) Platform Software Framework (Java, .NET) Storage (DB, File) Microsoft Azure, Google AppEngine, Amazon SimpleDB/S3 Platform as a service (PaaS) Infrastructure Amazon EC2, GoGrid Flexiscale Computation (VM) Storage (block) Infrastructure as a service (IaaS) Hardware CPU, Memory ,Disk, Bandwidth Data Centers
Hardware Layer Hardware • Implemented in data centers • Manages physical resources of the cloud: • Servers, routers, switches, power cooling systems. • Responsible for: • Hardware configuration • Fault tolerance • Traffic management • Power and cooling resource management Infrastructure as a service (IaaS) CPU, Memory ,Disk, Bandwidth Data Centers
Infrastructure Layer Infrastructure Amazon EC2, GoGrid Flexiscale • Also known as the Virtualization Layer. • Creates a pool of resources by partitioning the physical resources using virtualization technologies such as Xen, KVM, and VMware. • Many key features, such as dynamic resource assignment, are only made available through virtualization technologies. Computation (VM) Storage (block) Infrastructure as a service (IaaS)
Platform Layer Platform • Built on top of the infrastructure layer. • Consists of OSs and application frameworks. • Minimize the effort of deploying applications directly into VM containers. • E.g. Google App Engine provides API support for implementing storage, database, etc. Software Framework (Java, .NET) Storage (DB, File) Microsoft Azure, Google AppEngine, Amazon SimpleDB/S3 Platform as a service (PaaS)
Application Layer Google Apps, Facebook, Youtube, Saleforce.com Business Applications, Web Services, Multimedia Application • Highest level of the hierarchy • Consists of the actual cloud applications • Cloud applications can leverage automatic-scaling feature to achieve better performance, availability, and lower operating cost. Software as a service (SaaS)
Cloud Computing Providers • IaaS and PaaS providers are often parts of the same organization (e.g. Google, Salesforce). • PaaS and IaaS providers are often called the infrastructure providers or cloud providers
Market Overview Software as a Service (SaaS) Platform as a Service (Paas) Infrastructure as a Service (IaaS)
Some Commercial Clouds • Windows Azure (PaaS) • Hosting service for .NET applications and SQL databases • Google AppEngine(PaaS) • Automatic scaling and reliability at the price of a highly constrained application structure (3-tier Web application) • Amazon Web Services (IaaS) • Includes Scalable Storage Service (S3), Elastic Computing Cloud (EC2), Elastic Block Store (EBS) • Comes with many secondary tools: e-commerce, Content-Distribution Network (CDN), etc.
Cloud-based Storage • An IaaS where the only resource being managed is the storage space. • Amazon S3, CloudDIP and Dropbox • Used to facilitate collaboration between students • Allow working together on the same document.
Hybrid Public Private Community Cloud Computing Deployment Models
Public Cloud • Service providers offer their resources as services to general public. • Offers key benefits to service providers, including: • No initial capital investment on infrastructure, and • shifting of risks to infrastructure providers. • However, public clouds lack fine-grained control over data, network and security settings, which hampers their effectiveness in many business scenarios.
Private (Internal) Cloud • Designed for exclusive use by a single organization. • May be built and managed by the organization or by external providers. • Offers the highest degree of control over performance, reliability and security. • However, similar to traditional server farms and do not provide benefits such as no up-front capital costs.
Hybrid Cloud • A combination of public and private cloud models. • Offers more flexibility than both public and private. • Part of the service infrastructure runs in private clouds while the remaining part runs in public clouds. • Provides better control and security over application data compared to public clouds, while still providing on-demand service expansion. • Requires carefully determining the best split between public and private cloud components.
Community Cloud • Shared by several organizations and supports a specific community having shared concerns • e.g. mission, security requirements, policy, etc. • Managed by the organizations or a third party and may exist on-premises or off-premises.
Cloud Computing Characteristics
Multi-Tenancy • Services owned by multiple providers are co-located in a single data center. • Performance and management issues of services are shared among service providers and the infrastructure provider. • The layered architecture of cloud computing provides a natural division of responsibilities • However, multi-tenancy also introduces difficulties in understanding and managing the interactions among various stakeholders.
Service Oriented • Service-driven operating model. • Strong focus on service management. • IaaS, PaaS and SaaS provider offer service according to Service Level Agreement (SLA) with customers. • SLA assurance is a critical objective of every provider.
Shared Resource Pooling • Infrastructure provider offers a pool of computing resources. • Dynamic resource assignment provides flexibility for managing resource usage and operating costs.
Dynamic Resource Provisioning • Traditional model provides resources according to peak demand. • Cloud allows service providers to acquire resources based on the current demand. • Resources obtained and released on the fly. • This can lower the operating cost.
Geo-Distribution and Ubiquitous Network Access • Any device with Internet connectivity is able to access cloud services • e.g. mobile phone, a laptop, etc. • To achieve high network performance and localization, data centers are located at many locations around the world. • A service provider can easily make use of geo-diversity to achieve maximum service utility.
Cloud Computing Transparency
Cloud Computing Transparency • The transparency feature of the cloud that shields complexities related to utility computing and Software as a Service (SaaS) from both developers and end-users. • Clouds transparency addressed eight aspects: • Access, location, concurrency, replication, failure, mobility, performance, and scaling. Egypt's Cloud Computing Strategic Plan-2011
Cloud Computing Transparency (Cont.) • Access Transparency • Identical operations should be used to access local and remote resources. • Location Transparency • Resources should be accessed without knowledge of their physical location. Egypt's Cloud Computing Strategic Plan-2011
Cloud Computing Transparency (Cont.) • Concurrency Transparency • Ensures consistency of resources in the presence of concurrent access. • Replication Transparency • End-users and applications developers should not be aware of the existence of multiple replicas of the resources. Egypt's Cloud Computing Strategic Plan-2011
Cloud Computing Transparency (Cont.) • Failure Transparency • End-users and applications developers should continue their tasks even with the presence of faults in hardware or software. • Mobility Transparency • Both resources and clients allow to move within the system without affecting the operation of the system. Egypt's Cloud Computing Strategic Plan-2011
Cloud Computing Transparency (Cont.) • Performance Transparency • System should be reconfigured dynamically to match load variances. • Scaling Transparency • Allows system and applications dynamic scaling without changing system structure or algorithms. Egypt's Cloud Computing Strategic Plan-2011