Cloud Computing Overview -A 60 minute overview on some essentials about Cloud systems -Target audience: Management, Architects
Cloud Computing A cloud computing system stores data in a remotely accessible system. Users can access IT Resources remotely as long as they have the permission to access the cloud network. Source: Petre, 2012; Singh & Jangwal, 2012. Cloud IT Resources are IT artifacts which can include hardware, software, virtual servers, programs, databases or any IT resource remotely accessible to a cloud consumer. 2
Topics covered Simple Architectures Deployment Delivery Cloud Characteristics eg. Multi-Tenancy Opportunities Challenges Platform examples including AWS 3
What Happens In The Cloud There are three possible scenarios that one can come across while using cloud computing solutions: Transfer of data to a remote cloud server. Transfer of data from a cloud server to user s device. Storing data on a cloud server not owned by user. 4
Cloud Computing Architecture 5
Cloud Computing has many forms... 6
A Basic Cloud Development System Development Environment: Production Environment IDE, SDK, Plugins Simple storage Table Store <key, value> Drives Accessible through Web services Management Console and Monitoring tools & multi-level security 7
Cloud Development Azure eg. 8
Characteristics Of Cloud Systems Common Characteristics: Massive Scale Resilient Computing Homogeneity Geographic Distribution Virtualization Service Orientation Low Cost Software Advanced Security Essential Characteristics: On Demand Self-Service Broad Network Access Rapid Elasticity Resource Pooling Measured Service 9
Types Of Cloud Deployment Models Private Cloud Hybrid Cloud Public Cloud 10
Deployment Platforms in the Cloud 11
Private Cloud The infrastructure is owned and used by a single organization Private clouds enable a flexible and agile management of local infrastructure Not a new model, datacenter management has been around for a while Internal interfaces expose additional functionality for managing virtualized resources and controlling data center operation, not exposed by cloud interfaces Cloud interfaces may be also provided for users requiring higher abstraction 12
Private Cloud Feature Function Internal Interface Unix-like CLI for fully management of VM life-cycle and physical boxes XML-RPC API and libvirt virtualization API Scheduler Requirement/rank matchmaker allowing the definition of workload and resource-aware allocation policies Support for advance reservation of capacity through Haizea Virtualization Management Xen, KVM, and VMware Generic libvirt connector (VirtualBox planned for 1.4.2) Image Management General mechanisms to transfer and clone VM images Network Management Definition of isolated virtual networks to interconnect VMs Service Management and Contextualization Support for multi-tier services consisting of groups of inter-connected VMs, and their auto-configuration at boot time Security Management of users by the infrastructure administrator Fault Tolerance Persistent database backend to store host and VM information Scalability Tested in the management of medium scale infrastructures with hundreds of servers and VMs (no scalability issues has been reported) Installation Installation on a UNIX cluster front-end without requiring new services Distributed in Ubuntu 9.04 (Jaunty Jackalope) Flexibility and Extensibility Open, flexible and extensible architecture, interfaces and components, allowing its integration with any product or tool 13
Hybrid Cloud Extension of Private Clouds to combine private with public Cloud-based infrastructure to enable highly scalable hosting environments. Access to remote cloud is fully transparent to private cloud users. Hybrid Clouds enable the dynamic scaling of capacity to meet peak or fluctuating demands. 14
Hybrid Cloud Feature Function Cloud Plugins Amazon EC2 and ElasticHosts connectors Federation Support for simultaneous access to several remote clouds Flexibility Modular approach to develop new connectors 15
Public Cloud The infrastructure is owned by a single commercial organization and used by customers. Public clouds enable the deployment of an entire IT infrastructure without the associated capital costs, paying only for the used capacity. Cloud interface: Simple remote management of virtualized server instances. 16
Public Cloud Feature Function Cloud Interfaces for Users Implementation of a subset of the EC2 Query API and the OGF OCCI API Flexibility The new OpenNebula Cloud API allows the implementation of the new Cloud interfaces 17
Public Cloud Feature Function Cloud Interfaces for Users Implementation of a subset of the EC2 Query API and the OGF OCCI API Flexibility The new OpenNebula Cloud API allows the implementation of the new Cloud interfaces 18
Public vs Private 19
Cloud Deployment Model Summary 20
Types Of Cloud Delivery Systems 21
Cloud Delivery Models 22
Cloud Delivery Models 23
Software as a Service (SaaS) SaaS is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. 24
Platform as a Service (PaaS) PaaS is a way to rent hardware, operating systems, storage and network capacity over the Internet. The service delivery model allows the customer to rent virtualized servers and associated services for running existing applications or developing and testing new ones. 25
Infrastructure as a Service (IaaS) IaaS is a provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis. 26
Cloud Delivery Platform Summary 27
Key Characteristics of the Cloud Resiliency: Failover, redundancy Elasticity: Scaling of IT resources in and out to accommodate demand On Demand Usage: Self provisioning and accessible Multi-Tenancy (see next slides) 28
MULTI-TENANCY Multi-tenancy is an architectural pattern A single instance of the software is run on the service provider s infrastructure Multiple tenants access the same instance. In contrast to the multi-user model, multi-tenancy requires customizing the single instance according to the multi-faceted requirements of many tenants. 29
Multi-tenancy the concept 30
MULTI-TENANCY A Multi-tenant application lets customers (tenants) share the same hardware resources, by offering them one shared application and database instance while allowing them to configure the application to fit there needs as if it runs on dedicated environment. Key aspects of multi tenancy: 1. The ability of the application to share hardware resources. 2. The offering of a high degree of configurability of the software. 3. The architectural approach in which the tenants make use of a single application and database instance. 31
Multi-Tenant Architecture 32
Cloud Computing Security Authentication in cloud computing is of critical importance as it ensures the overall security of the system. As all the sensitive data of the users is stored in the cloud, authentication of identity of the users becomes very important to ensure the data is managed properly. 33
34 Source: Ahmed & Hossain, 2014
Opportunities In Cloud Computing It enables services to be used without any understanding of their infrastructure. Cloud computing works using economies of scale: It potentially lowers the outlay expense for start up companies, as they would no longer need to buy their own software or servers. Cost would be by on-demand pricing. Vendors and Service providers claim costs by establishing an on going revenue stream. Data and services are stored remotely but accessible from anywhere. 35
Challenges In Cloud Computing Use of cloud computing means dependence on others and that could possibly limit flexibility and innovation: Security could prove to be a big issue: The others are likely become the bigger Internet companies like Google and IBM, who may monopolise the market. It is still unclear how safe out-sourced data is and when using these services ownership of data is not always clear. There are also issues relating to policy and access: If your data is stored abroad whose policy do you adhere to? What happens if the remote server goes down? How will you then access files? There have been cases of users being locked out of accounts and losing access to data. 36
37 Advantages of Cloud Computing Lower computer costs: You do not need a high-powered and high-priced computer to run cloud computing's web-based applications. Since applications run in the cloud, not on the desktop PC, your desktop PC does not need the processing power or hard disk space demanded by traditional desktop software. When you are using web-based applications, your PC can be less expensive, with a smaller hard disk, less memory, more efficient processor... In fact, your PC in this scenario does not even need a CD or DVD drive, as no software programs have to be loaded and no document files need to be saved. 37
38 Advantages of Cloud Computing Improved performance: With few large programs eating up your computer's memory, you will see better performance from your PC. Computers in a cloud computing system boot and run faster because they have fewer programs and processes loaded into memory Reduced software costs: Instead of purchasing expensive software applications, you can get most of what you need for free-ish! most cloud computing applications today, such as the Google Docs suite. better than paying for similar commercial software which alone may be justification for switching to cloud applications. 38
39 Advantages of Cloud Computing Instant software updates: Another advantage to cloud computing is that you are no longer faced with choosing between obsolete software and high upgrade costs. When the application is web-based, updates happen automatically When you access a web-based application, you get the latest version available the next time you log into the cloud. without needing to pay for or download an upgrade. Improved document format compatibility. You do not have to worry about the documents you create on your machine being compatible with other users' applications or OSes There are potentially no format incompatibilities when everyone is sharing documents and applications in the cloud. 39
40 Advantages of Cloud Computing Unlimited storage capacity: Cloud computing offers virtually limitless storage. Your computer's current 1 Tbyte hard drive is small compared to the hundreds of Pbytes available in the cloud. Increased data reliability: Unlike desktop computing, in which if a hard disk crashes and destroy all your valuable data, a computer crashing in the cloud should not affect the storage of your data. In a world where few individual desktop PC users back up their data on a regular basis, cloud computing is a data-safe computing platform! 40
41 Advantages of Cloud Computing Universal document access: That is not a problem with cloud computing, because you do not take your documents with you. Instead, they stay in the cloud, and you can access them whenever you have a computer and an Internet connection Documents are instantly available from wherever you are Latest version availability: When you edit a document at home, that edited version is what you see when you access the document at work. The cloud always hosts the latest version of your documents as long as you are connected, you are not in danger of having an outdated version 41
42 Advantages of Cloud Computing Easier group collaboration: Sharing documents leads directly to better collaboration. Many users do this as it is an important advantages of cloud computing multiple users can collaborate easily on documents and projects Device independence. You are no longer tethered to a single computer or network. Changes to computers, applications and documents follow you through the cloud. Move to a portable device, and your applications and documents are still available. 42
Cloud Benefits 43
Challenges of the Cloud 44
45 Disadvantages of Cloud Computing Requires a constant Internet connection: Cloud computing is impossible if you cannot connect to the Internet. Since you use the Internet to connect to both your applications and documents, if you do not have an Internet connection you cannot access anything, even your own documents. A dead Internet connection means no work and in areas where Internet connections are few or inherently unreliable, this could be a deal-breaker. 45
46 Disadvantages of Cloud Computing Does not work well with low-speed connections: Similarly, a low-speed Internet connection, such as that found with dial-up services, makes cloud computing painful at best and often impossible. Web-based applications require a lot of bandwidth to download, as do large documents. Features might be limited: This situation is bound to change, but today many webbased applications simply are not as full-featured as their desktop-based applications. For example, you can do a lot more with Microsoft PowerPoint than with Google Presentation's web-based offering 46
47 Disadvantages of Cloud Computing Can be slow: Even with a fast connection, web-based applications can sometimes be slower than accessing a similar software program on your desktop PC. Everything about the program, from the interface to the current document, has to be sent back and forth from your computer to the computers in the cloud. If the cloud servers happen to be backed up at that moment, or if the Internet is having a slow day, you would not get the instantaneous access you might expect from desktop applications. 47
48 Disadvantages of Cloud Computing Stored data might not be secure: With cloud computing, all your data is stored on the cloud. The questions is How secure is the cloud? Can unauthorised users gain access to your confidential data? Stored data can be lost: Theoretically, data stored in the cloud is safe, replicated across multiple machines. But on the off chance that your data goes missing, you have no physical or local backup. Put simply, relying on the cloud puts you at risk if the cloud lets you down. 48
49 Disadvantages of Cloud Computing Locked in costs: Each cloud systems uses different protocols and different APIs may not be possible to run applications between cloud based systems eg. Amazon has created its own DB system (not SQL), and workflow system (many popular workflow systems out there) so your normal applications will have to be adapted to execute on these platforms. 49
Enterprise Cloud Models and Issues 50
Cloud Challenges Summary 51
Examples of 3rd party Cloud platforms 52
ABICLOUD CLOUD PLATFORM Abicloud is an open source infrastructure software for the creation and integral management of Public & Private Clouds based on heterogeneous environments. 53
(Source: Peng et al., 2009) 54
Eucalyptus Cloud Platform Elastic Utility Computing Architecture For Linking Your Programs To Useful Systems 55
Eucalyptus Cloud Platform Origins at Computer Science Department at University of California, Santa Barbara Provides framework for IT infrastructure and datacenter management by creating private clouds. Open source and packaged using Linux distributions Maintained by Eucalyptus Inc. which provides enterprise products and support. 56
Eucalyptus Cloud Platform Cloud controller (CLC) Cluster controller (CC) Node controller (NC) Storage controller(sc) Walrus 57
58 (Source: Peng et al., 2009)
Nimbus Cloud Platform An extensible open source Infrastructure-as-a-Service implementation Can be configured to use familiar schedulers like PBS and SGE to manage VMs Launches self-configuring virtual clusters WSRF and EC2 interfaces 59
A Brief History of Nimbus First STAR production run on EC2 Xen released 2003 Research on agreement-based services EC2 goes online Nimbus Cloud comes online 2006 First WSRF Workspace Service release 2009 EC2 gateway available Support for EC2 interfaces Context Broker release 60Source: Keahey, (2009)
61 Source: Peng et al., 2009
OpenNebula CLOUD PLATFORM Orchestrates storage, network and virtualization technologies to enable the dynamic placement of multi-tier services on distributed infrastructures, combining both data center resources and remote cloud resources, according to allocation policies Provides internal and Cloud administration and user interfaces for the full management of the IaaS Cloud platform Research Project 2005 TP1 v1.0 v1.2 2006 2007 2008 2009 v3.0 v3.4 v2.0 v2.2 v3.2 v1.4 2010 2011 62 2012
63 Source: Peng et al., 2009
OpenNebula For the Infrastructure Manager Centralized management of VM workload and distributed infrastructures Support for VM placement policies: balance of workload, server consolidation Dynamic resizing of the infrastructure Dynamic partition and isolation of clusters Dynamic scaling of private infrastructure to meet fluctuating demands Lower infrastructure expenses combining local and remote Cloud resources 64
OpenNebula For the Infrastructure User Faster delivery and scalability of services Support for heterogeneous execution environments Full control of the lifecycle of virtualized services management 65
An overview of AWS AWS is Amazon s umbrella description of all of their web-based technology services. Mainly infrastructure services: Amazon Elastic Compute Cloud (EC2) Amazon Simple Storage Service (S3) Amazon Simple Queue Service (SQS) Amazon CloudFront Amazon SimpleDB 66
Amazon EC2 Amazon EC2 is one large complex web service. EC2 provided an API for instantiating computing instances with any of the operating systems supported. It can facilitate computations through Amazon Machine Images (AMIs) for various other models. Signature features: S3, Cloud Management Console, MapReduce Cloud, Amazon Machine Image (AMI) Excellent distribution, load balancing, cloud monitoring tools 67
Amazon Cloud-front Cloud-based content distributing network enables you to place the content at the edges of the network for rapid delivery. Place the contents in S3 and run the application from anywhere and the content is moved to where the application is (to the edges). 68
S3 Amazon web services API support the ability to: Find buckets and objects Discover their meta data Create new buckets Upload new objects Delete existing buckets and objects When manipulating the buckets you can optionally specify where they should be stored. Use REST API preferably something that abstracts out even that: Jets3t; s3cmd (command line) BitTorrent access to S3 is also available 69
AWS Use in an organization Maintain a library of AMIs for the business May contain legacy systems or company-specific systems Harden AMIs using such software as Bastille Launch instances for non-technical but domain experts to work with. What will you provide them so that they can start working? Use S3 for archival storage and shared storage 70
The End 71