550 likes | 767 Views
6046COMP:Cloud Computing Lecture 1 . Cloud Computing What, Why and How. Dr Martin Randles m.j.randles@ljmu.ac.uk 0151 231 2641 Office: 725. Clouds. What are Clouds? . What is Cloud Computing?. Is it virtualization.
E N D
6046COMP:Cloud Computing Lecture 1 Cloud Computing What, Why and How Dr Martin Randles m.j.randles@ljmu.ac.uk 0151 231 2641 Office: 725
Clouds • What are Clouds?
What is Cloud Computing? • Is it virtualization http://www.smallbusinesscomputing.com/testdrive/article.php/3819231/What-is-Virtualization-and-Why-Should-You-Care.htm3
What is Cloud Computing? • Is it Software as a Service? http://www.daniweb.com/blogs/entry3993.html#
What is Cloud Computing? • Is it new? http://www.sciencedaily.com/releases/2009/04/090416105350.htm
What is Cloud Computing? • Is it for stupid people? http://cloudcomputing.sys-con.com/node/692407
What is Cloud Computing? • Is it the future for business? http://www.helium.com/items/1955435-future-of-cloud-computing
Latest Terminology • Are these Cloud Computing • Service Oriented Architecture (SOA) • Web 2.0 • Software as a Service (SaaS) • Web Services • Rich Internet Applications (RIA) • NO • They are types of application architecture • They work within the cloud, but are not cloud computing • Autonomic computing, utility computing, grid computing as well.
Understanding Clouds • Applications plus location • Where do applications live?
Traditionally • Applications live on premises • Purchase dedicated hardware and manage personal data centre. • Purchase required (guessed) number of servers • Unpack • Install in racks • Initialize and install: OS, Middleware, Applications, etc.
Where are my Applications? • Application runs • on-premises • Supply own machines, connectivity, software, etc. • Complete control • Upfront capital costs for the infrastructure paid in advance
Hosted Applications • Pay a separate company to host application on their hardware • Pay subscription; monthly charge • Most often used for public websites and business web presence • GoDaddy • 123 • Pixelinternet • etc…
Where are my Applications? • Application runs • at a hoster server • Rent resources • Machines, connectivity, software, etc. • Less control • Lower costs but paying for idle capacity • Application runs • on-premises • Supply own machines, connectivity, software, etc. • Complete control • Upfront capital costs for the infrastructure paid in advance
Cloud Computing • Pay a company for an integrated range of computing services, applied to a set of applications • The cloud administrator defines the service level • Cloud software handles application management • replication • storage
Where are my Applications? • Application runs • at a hoster server • Rent resources • Machines, connectivity, software, etc. • Less control • Lower costs but paying for idle capacity • Application runs • on the cloud • Shared environment • Offers pool of computing resources without reference to any infrastructure • Pay as you go • Application runs • on-premises • Supply own machines, connectivity, software, etc. • Complete control • Upfront capital costs for the infrastructure paid in advance
Varieties of Clouds • Private Cloud • Cloud computing resources residing in a self- managed data centre with no sharing • Hosted Cloud • Cloud computing resources offered by a hosting site utilizing software from a third party vendor • Public Cloud • Cloud computing resources offered by the same vendor as the software.
What about the Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform Buy “Software as a Service” A hosted application that I buy from a vendor “Packaged” Application An application that I buy “off the shelf” and run myself Hosted “Packaged” An application that I buy “off the shelf” and then run at a hoster Build vs. Buy Hosted “Home Built” An application that I develop myself, but run at a hoster “Home Built” Application An application that I develop and run myself Cloud Platform An application that I develop myself, that I run in the cloud Build
Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform “Software as a Service” “Packaged” Application Hosted “Packaged” CRM / Email “CRM and Email are frequently used generic services. There are few customizations, and it should be cheaper for someone else to run these.” “Home Built” Application Cloud Platform Hosted “Home Built” Viral Marketing Accounting Business Process 1 Business Process 2 HR Application
Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform “Software as a Service” “Packaged” Application Hosted “Packaged” CRM / Email “Home Built” Application Cloud Platform Hosted “Home Built” Take existing service and transfer to the cloud Marketing website Accounting This is a marketing website. It has a small chance of taking off, but we’re not sure! Business Process 1 Business Process 2 HR Application
Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform “Software as a Service” “Packaged” Application Hosted “Packaged” CRM / Email “Home Built” Application Cloud Platform Hosted “Home Built” Marketing website The cloud can scale better. Application can handle load without requiring full investment Accounting This application runs at full capacity once a month Business Process 1 Business Process 2 HR Application
Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform “Software as a Service” “Packaged” Application Hosted “Packaged” CRM / Email “Home Built” Application Cloud Platform Hosted “Home Built” Marketing website Accounting Data intensive application. Can storage be improved Better on pay as you go. Can handle increased demand as needed Business Process 1 Business Process 2 HR Application
Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform “Software as a Service” “Packaged” Application Hosted “Packaged” CRM / Email “Home Built” Application Cloud Platform Hosted “Home Built” Marketing website Accounting Business Process 1 Need to share data Business Process 2 Better storage options (scalable). Elastic cloud HR Application
Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform “Software as a Service” “Packaged” Application Hosted “Packaged” CRM / Email “Home Built” Application Cloud Platform Hosted “Home Built” Old HR application but data regulations mean no off-site storage Marketing website Accounting Business Process 1 Business Process 2 HR Application Inter-organization Communication with predefined infrastructure
Applications Application runs on-premises Application runs at a hoster Application runs using cloud platform “Software as a Service” “Packaged” Application Hosted “Packaged” HR Application CRM / Email “Home Built” Application Cloud Platform Hosted “Home Built” Marketing website Need new package Not everything can run in the cloud Accounting Business Process 1 Business Process 2
Drivers for Cloud Computing • Increasing cost of data centre ownership • Asymmetric/unpredictable work loads • Flash crowds, demand surges • Stepped increases rather than linear • Difficult to plan • Increasing risk from data centre failure • Core business conflict • Not in data centre business • Cloud offering becoming mature.
So is it the best thing since sliced bread? • Before clouds… • Grids • Vector supercomputers • … • Cloud computing means many different things: • Large-data processing • Rebranding of web 2.0 • Utility computing • Everything as a service • Large scale (global) service oriented architecture
Service Oriented Architecture • Business processes mapped to software services • Infrastructure supports: • Provision • Consumption • Description • Brokerage • A system architecture to structure complex systems around (web) services • Business is tracked by software • High service agility/composition/replication… • Services are management units • Global SOA • Massively scaling SOA • Web 2.0 is a global SOA? • Now moving to Web 3.0 (Web Squared)
Rebranding of web 2.0 • Rich, interactive web applications • Clouds refer to the servers that run them • AJAX as the de facto standard (for better or worse) • Examples: Facebook, YouTube, Gmail, … • “The network is the computer”: • User data is stored “in the clouds” • Rise of the netbook, smartphones, etc. • Browser is the OS
Utility Computing I think there is a world market for about five computers. • What? • Computing resources as a metered service (“pay as you go”) • Ability to dynamically provision virtual machines • Why? • Cost: capital vs. operating expenses • Scalability: “infinite” capacity • Elasticity: scale up or down on demand • Does it make sense? • Benefits to cloud users • Business case for cloud providers
Enabling Technology: Virtualization App App App App App App OS OS OS Operating System Hypervisor Hardware Hardware Traditional Stack Virtualized Stack
5 Cloud Characteristics • Elastic resources • Resources can rapidly grow or shrink appearing to be infinitely scalable • IT Service Centric Approach • Specific applications and services can be run only as needed • Consumption based metering • Pay as you go • Self-Service ubiquitous network access • Anywhere access from any device, on-demand • Location independent resource pooling • Shared resources assigned according to multi-user demands • Resources are virtualized and can change dynamically
4 Cloud Deployment Models • Private cloud • Elastic resources • Public cloud • Delivery over the internet • Hybrid cloud • Combination of public and private to accommodate overflow • Community cloud • Community access such as Gmail, Yahoo, etc.
3 Service Offering Models • Software as a Service (SaaS) • Specific services hosted as solutions • Platform as a Service (PaaS) • Custom application development framework with hosting environment • Infrastructure as a Service (IaaS) • Provides raw computing resources on demand.
SaaS, PaaS and IaaS • SaaS • No hardware or software to manage • Service delivered through a browser • Customers use the service on demand • Instant Scalability • PaaS • Platforms are built upon Infrastructure, which is expensive • Estimating demand is not a science! • Platform management is not fun! • IaaS • A platform virtualization environment • Computing resources, such as storage. • Virtualization taken a step further
Examples: SaaS, PaaS and IaaS • SaaS • Your current CRM package is not managing the load or you simply don’t want to host it in-house. Use a SaaS provider such as Salesforce.com • Your email is hosted on an exchange server in your office and it is very slow. Outsource this using Hosted Exchange. • PaaS • You need to host a large file (5Mb) on your website and make it available for 35,000 users for only two months duration. Use Cloud Front from Amazon. • You want to start storage services on your network for a large number of files and you do not have the storage capacity…use Amazon S3. • IaaS • You want to run a batch job but you don’t have the infrastructure necessary to run it in a timely manner. Use Amazon EC2. • You want to host a website, but only for a few days. Use Flexiscale.
Consequence: Everything as a Service • Utility computing = Infrastructure as a Service (IaaS) • Why buy machines when you can rent cycles? • Examples: Amazon’s EC2, Rackspace • Platform as a Service (PaaS) • Give me nice API and take care of the maintenance, upgrades, … • Example: Google App Engine • Software as a Service (SaaS) • Just run it for me! • Example: Gmail, Salesforce
Grid Vs Cloud Computing Similar intentions, architecture and technology Different programming, business and computing model; applications and virtualization Both define methods for discovering, requesting and using centrally stored resources Implement highly paralleled executions Clouds use virtualization, grids retain full control over resources
What are cloud data centres? • Nothing like local data centres • Each cloud data centre is about the size of 12 football pitches • on this scale there are different considerations involving likely failures • Mean time between failure • The approximate lifetime of a component (manufacturers guess)
Typical MTBF • Disk drive = 1 million hours • a failure every 114 years • Network Interface Controller = 44 years • CPU Cooling fan = 22 years • Data centre of 20,000 machines • Statistically 2 to 3 machines will be down at any one time • Not too bad except when it’s the machine you need.
Replacement strategy • 24/7 maintenance with replacement strategy NIC Server Rack Container
Approach • Move away from single application running on single machine • Need to move from ACID transaction model • Atomic • Consistent • Isolated • Durable • To BASE transaction model • Basically available • Soft State • Eventually consistent
Approach • ACID is extremely difficult to implement in highly distributed systems • BASE means inconsistencies can be tolerated for short periods • Best effort approach: Cost/benefit means its cheaper to fail sometimes than maintain 100% efficiency.
Approach • Over 7 million copies of Modern Warfare 2 were sold in the first 24 hours of its release • Should an online store selling those copies opt for ACID or BASE consistency. • Obviously BASE, its fine to apologise for a small number of over sales.
Costs • In migrating to a cloud data centre the costs (bandwidth, etc.) must still be considered. • It is pay as you go but we want to know how much we will be charged • Internet audio streaming • 64kps = 21 Gb per month • YouTube • 512kps = 166 Gb per month • Blu Ray/HDTV • 4Mbps = 1296 Gb per month
Example Costs • Storage = 15p. per Gb. • Data transfer = 17p. per Gb. • YouTube Costs = 17p. x 166Gb. = £28.22 per user per month • HDTV costs = 17p. x 1296Gb. = £220.32 per user per month
Worst Case Costs Not everything makes business sense in the cloud • HD Films (Typical size 25Gb.) • Storage for 360 films = 9Tb. • Streaming to 1000 users per day at 36Mbps • Storage cost = £1350 per month • Data Transfer = £1.93 million per month • Break even point each user’s subscription would be £1937 per month • It is thought to cost Google $1 million per day to host the bandwidth for YouTube videos
What Next? • How does the cloud actually work • How do we assign jobs units to servers? • What if we have more job units than servers? • What if servers need to share partial results? • How do we aggregate partial results? • How do we know all the servers have completed? • What if servers fail? • Problems of Parallelization
Parallel Processing Problems • Parallelization problems arise from: • Communication between workers (e.g., to exchange state) • Access to shared resources (e.g., data) • Thus, we need a synchronization mechanism