Cloud Computing Architecture Prof. Dr. Ch. Reich rch@hs furtwangen.de http://www.informatik.fh furtwangen.de/~reich/
The Cloud: Types
The Cloud: Pyramid of Flexibility (SaaS) (PaaS) (IaaS)
Flavours of Cloud Computing
The Cloud: How are people using it?
Distributed Cloud Computing Cloud Provider #1 Printing Service Office Apps User On Demand CPUs CRM Service Data Storage Service Cloud Provider #2 Enterprise Backup Service Employee ILM Service Service Service Service 3 Service Business Apps/Service Private Cloud Public Cloud The Internet
Simple Cloud Services Architecture
SaaS Architecutre
Microsoft Windows Azure The Azure Services Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together.
How Should a SaaS Cloud Model Look Like? (1)
How Should a SaaS Cloud Model Look Like? (2)
How Should a SaaS Cloud Model Look Like? (3)
IaaS Architecutre
Architecture Overview
Sun's View
Cloud Architecture
Compute Service On-demand provisioning of virtual machines of industry-standard operating systems including Linux, Windows and OpenSolaris Creation of custom VMIs and access to preconfigured VMIs in the cloud, persistent and nonpersistent VMs Control and management with open, AWS EC2like API or Virtual Datacenter UI On-demand, scalable computing infrastructure accessed via APIs or unique Virtual Datacenter (VDC) UI model
Storage Service Ability to store and retrieve data as objects or files REST API with open, AWS S3-like semantics for object storage, WebDAV Fast and inexpensive cloning of objects and files High availability Detailed metering of storage used, I/O requests,bandwidth, etc. On-demand, API-based access to storage on the network
Sun Virtual Data Center Model Drag & Drop design from pre-built components Deploy to cloud Monitor, manage, reconfigure Compatible with APIs Encapsulate system architecture of an application Model, save and deploy entire system
Project Kenai APIs for the Cloud >20,000 developers >3,000 projects Tutorials Web API Useful Stuff Kenai.com
REST REST Representational State Transfer - an abstract architectural model for how the web should work - guidelines to find existing flaws and validate future extensions - minimize latecy + network communication - maximizing independence and scalability - modern Web is an instance of REST
REST Motivation: Web domain issues and characteristics Universally consistent and incrementally deployed interface Usability sensitivity to latency as perceived by the user Scalability unanticipated access spikes Adoption low entry barriers Challenge: To introduce new functionality in the web domain without causing negative impact? REST to the rescue!
Four REST Commands GET to retrieve information POST to add new information, showing its relation to old information PUT to update information DELETE to discard information Example: Method name http://xyz.com/axis2/services/math/add? param1=10¶m2=20 Parameter A Parameter B Class name
Cloud RESTful API from Sun Everything is a Resource http GET, POST, PUT... One entry point, everything else accessible from there Simple creation, save, load, start, stop of virtual servers
Rest-Example: Retrieve Info about VM http://example.com/vms/33333
View 27
Examples of Different Types of Services Web Application Service Compute Service Collaboration Services Datacenter Infrastructure Database service Cloud Computing Service Catalog Job Scheduling Service Storage service Virtual Client service Content Classification Storage backup, archive service 28
Architectural Model for Cloud Computing Service Request & Operations End User Requests & Operators Service Creation & Deployment IT Infrastructure & Application Provider Virtual Image Management Datacenter Service Management Infrastructure Access User Request Management/Self Service Portal Services Service Lifecycle Management Image Lifecycle Management Provisioning Service Catalog, Availability/Back up/component Restore Library Performance Management Security: Identity, Access, Integrity, Isolation, Audit & Compliance Usage Accounting Design & Build License Management Image Library (Store) Cloud Administrator Service Oriented Architecture Information Architecture Optimized Middleware (image deployment, integrated security, workload mgmt., high-availability) Service Management Service Catalog Request UI Operational UI Deployment Standards Based Interfaces Virtualized Infrastructure Service Oriented&Architecture Virtual Resources Aggregations Server Virt. System Resources SMP Servers Blades Information Architecture Storage Virt. Network Virt. Standards Based Interfaces Virtualized Infrastructure Storage Servers Storage Operational Lifecycle of Images Network Hardware August 24, 2008 29
Service Management: Progressive Adoption of Capability Service Request & Operations IT Infrastructure & Application Provider Tivoli Process Automation Architecture End User Requests & Operators Request a Server Orchestration of Technology, Processes, People & Data to fulfill end-user requests and operational tasks Simple Deployment Automated Provisioning Data Center Model Reservations Service Management Request an Application Request Server + Application Guided by Service Catalog Management Policy Visualize Deployment Integrated with Security, Availability and Control Performance Management Automate Deployment Integrated with Process (e.g. ITIL, procurement) Complex Service Requirements Assets, Configuration Items Service Creation & Deployment Service Planning Service Definition Tools Service Publishing Tools Service Fulfillment & Configuration Tools UI, Fulfillment, Data, MetaData Technology Platform Management Services Provisioning Services Request UI Usage & Accounting Services Operational UI Monitoring Services Service Monitoring Tools KPIs Energy Management Services Security Services Infrastructure & Virtualization 30
Lifecycle of a Cloud Service Service Subscription Subscriber Administrator & tion n p i r sc io Sub tantiat Ins Pr o du ct io n Service Instance Termination Ter Cloud Service m i n at i o Subscriber De n io n t i f in Service Catalog Of f e ring Service Offering Autonomic Execution of Management Plans Management LPAR / VM Management LPAR / VM App OS App App OS App App OS x86 App Storage App OS UNIX App App OS App App App Service Creation Management LPAR / VM System z Service Definition OS Network 31
Integration and Simplification Expanding Role Of Virtualization Highly Virtualized Data Center Abstraction and Pooling Service Ensemble Management. Virtual Servers, Storage, Networks Ensemble Physical Consolidation V V V Mainframe or Unix Server Resource Pools Servers V Networks V V Ensemble Security Multi-System Virtualization Windows Server Storage Linux Server Green IT V Resilience V Storage Networks Decouple complexity from scale Integrated autonomic mgmt Dynamic energy optimization Integrated Security Improved resource optimization Simplified High Availability Simplified Deployment Better hardware utilization Improved IT agility Lower power consumption 32
Cloud Computing requires Service Management Visibility User Request Interface and IT Operational Views Enable end users to request services Enable end users and IT staff to monitor status of requests Enable IT operations staff to manage the delivery of the services View monitoring statistics of cloud deployments, including breached thresholds Control Orchestration of People, Processes, Data, Technology Enable the fulfillment of user requests based on best practices for request types & conformance to organizational processes Automation Automate Requests and Operational Tasks to Improve Efficiency and Effectiveness Automate the orchestration of technology to fulfill user requests for cloud services Consistently enforce operational policies for service delivery Automate processes and repetitive IT administration tasks for optimized utilization of resources Provide usage and accounting management for cloud services Provide the ability to automatically meet higher scalability demands Provide security for cloud services Provide process automation capabilities, enabling the value of change, release, and configuration management disciplines in a cloud computing environment Enable green initiatives through optimized utilization of resources Virtualization without good management is more dangerous than not using virtualization in the first place, Gartner 33
Tivoli Service Automation Manager is built upon the IBM Service Management Platform Orchestration of Technology, Processes, People & Data to provide Cloud Computing services and Service Management of Cloud Computing IBM Service Management Platform Tivoli process automation engine Workflows, Work and Job Management, Role-based access SOA Services, Notification, Escalation, Governance, Integration Federated Data Subsystem Services, Assets, Configuration Items Operational Management Technology Platform Management Services Security Provisioning Services Services Usage & Accounting Services Monitoring Services Energy Management Services IT Infrastructure 34
Automated Software Deployment at Every Level IBM Tivoli Provisioning Manager Service Catalog Availability Service Desk Change Tivoli Provisioning Manager and Tivoli Provisioning Manager for Software Release Change and Configuration Mgmt Database Application Dependency Mapping Policy Based Allocation Composite Application Deployment Compliance and Remediation Patch Management nit or Provisioning Ana ly ze Monitoring Mo Plan ute ec Ex Software Distribution and Content Delivery a Centralized Reporting Capabilities Virtualization Management Physical and Virtual Resources Servers Network Storage Discovery, Inventory and Remote Control Bare Metal Operating System Deployment 35
Application Infrastructure Map 36
Business Service Level Management Service Measurement SLA Rules Can be defined for: Services Applications Devices 3 Types of SLAs Instance Cumulative Violation Count SLA Metrics Availability Downtime (MTTR) Penalties ($$$) 37
Blue Cloud Computing Architecture Apache Virtual Machine Virtual Machine Virtual Machine Virtual Machine Tivoli Monitoring Agent Open Source Linux with Xen Virtualized Infrastructure based on Open Source Linux & Xen Data Center System x Monitoring IBM Monitoring v.6 DB2 Provisioning Baremetal & Xen VM Provisioning Manager v.5.1 WebSphere Application Server Cloud computing infrastructure to support the academic initiative can be delivered either as hosted or onsite solution. Provisioning Management Stack 38
Cloud Computing & Open Source
Eucalyptus - open.eucalyptus.com Elastic Utility Computing Architecture Linking Your Programs To Useful Systems Web services based implementation of elastic/ utility/cloud computing infrastructure Interface compatible with EC2 Works with command-line tools from Amazon w/o modification Functions as a software overlay One-button install using Rocks
Eucalyptus Architecture: WS-Cloud Amazon EC2 Interface Client-side API Translator
Cloud Interface Web service based Written in Java Handles user event to cloud VM instance control translation Experiment: instance creation time EC2 Compatible User Interface Cloud Interface Web-based Admin Interface Other Interfaces?
Cloud Controller Web service Java Handles distribution of VM instance control events to clusters of resources SLA Engine Cloud Controller Instance Scheduler Other schedulers?
Cluster Controller Web service C based Handles distribution of VM instance control events to individual of resources Investigation: what are the performance, invasiveness and functionality tradeoffs of various cloud networking strategies? Virtual Network Cluster Controller Instance Scheduler Other network/scheduler solutions?
Node Controller Web service C based Handles management of individual VM instances Resource Management Node Controller VM Hypervisor Interface Other Hypervisors?
Open Nebula www.opennebula.org OpenNebula is a Virtual Infrastructure Manager Does storage, network and VM orchestration dynamic placement VMs (groups of VMs = multitier infrastructures) according to allocation policies Cloud administration user interfaces for the full management of the Cloud platform. Supports private and public clouds to build hybrid clouds
Open Nebula Architecture Overview
Core Virtual Infrastructure Manager
Scheduler Independent, decoupled entity of the OpenNebula architecture (e.g. Haizea: advance reservation of resources) uses the XML-RPC Default scheduler functionality: User-driven consolidation, the scheduler assigns VMs to those hosts that meets the capacity requirements of the VM. Matchmaking policy, to schedule a VM those resources that do not meet the requirements (boolean expression) are filtered out. Then a ranking process is made to select the best Host. This is done by applying the ranking expression defined in the VM template. The scheduler is built on a policy template, this template can be used to further tailor the Scheduler behavior.
Command Line Interface The command line interface (CLI) allows manually manipulate the virtual infrastructure. Examples: onevm submit <template> new VM into pool onevm deploy <vm_id> <host_id> Starts VM on specific host onevm shutdown <vm_id> Stops VM...
Request Manager The Request Manager exposes a XML-RPC Interface, and then depending on the invoked method a given component is called internally. Virtual Machine Manager responsible for the management and monitoring of VMs Transfer Manager does files transfers needed for the correct deployment of virtual machines.
Virtual Network Manager is responsible for the handling of IP and MAC addresses, allowing the creation of virtual networks Host Manager manages and monitors the physical hosts Database A persistent generic pool based on a SQLite3 backend
Haizea Rresource Manager haizea.cs.uchicago.edu
Use cases Our work is motivated by several use cases that stand to benefit from virtual workspaces: Virtual labs Event-driven applications Batch jobs with strict software requirements These use cases present resource management scenarios such as best-effort scheduling, advance reservations, or a mix of both.
HFU View of a Cloud Computing Architecture
What is CloudIA? CloudIA = Cloud Infrastructure & Applications Infrastructure- & Application-as-a-Service (IaaS & AaaS) AaaS includes Platform and Service as a Service (PaaS & SaaS) leverages various virtualization technologies (e.g. VMware, Xen and KVM) supports Service-Level Agreement (SLA) as Platform- and Infrastructure as a Service (PaaS & IaaS) models.
What is CloudIA special about? overbooking of physical hardware to run more VMs Single-Sign-On for external applications, such as Google Apps creating personalized VMs and service containers on-demand makes different Infrastructure-as-a-Service (Amazon EC2) available
CloudIA Architecture
CloudIA Architecture
Resource Interface Layer Interfaces JDBC: provides an independent database connectivity through the use of the Java Database Connectivity (JDBC) API. Hadoop: enables large files to be stored across multiple machines through the use of the Hadoop File System (HDFS). JMS: allows distributed applications to communicate with each other by leveraging the Java Message Service (JMS). Condor: executes compute-intensive jobs on idle resources by interacting with Condor. Vmware, Xen, KVM Nagios: monitors physical resources through the use of Nagios.
CloudIA Architecture
System Layer Modules Job Submission: submits users jobs to resources, according to their SLAs and customized VM images. Load Balancer: dynamically adjusts load performance of each physical hardware. User Account Manager QoS Monitoring: monitors jobs and detects any QoS violations. Failure Management: performs high availability of running VMs, by migrating them into other resources in case of hardware failure. Persistence & Checkpointing: saves current status of VMs to enable customer to restart the VM at that point in case of failure. Replication: performs backup of VM images, services, applications, and other data. Life Cycle Management: controls and manages the life-cycle of VMs by providing functionalities, such as init, start, stop, move and erase.
CloudIA Architecture
Business Layer Modules Capacity Planer: updates supply and forecasts future demand. (able to overbooks resources) Billing & Accounting: calculates costs for using VMs and prices SLA Manager: handles contracts and negotiations with users regarding to terms and conditions of using our cloud system. Snapshot Manager: enables installation and/or runtime status of applications to be saved into a disk or image, such that users can resume their applications in the future. Config Manager: creates on-demand VMimages according to users specifications. Resource Calendar: stores reservations and shows availability of resources in the present and future time. Reservation Manager: handles reservation queries and requests
CloudIA Architecture
CloudIA Architecture
CloudIA Open Nebula