Week 1- Cloud computing is a model for enabling ubiquitous, convenient, on demand network access to a shared pool of configurable computing resources. –  SaaS –  The consumer uses an application, but does not control the operating system, hardware or network infrastructure on which it’s running. Applications are restricted to business applications or applications that may normally installed in a business network or personal computer  Examples • Business applications: CRM  Gmail, Google Doc, etc. The service specification depends on the actual application, it could be the number of user account supported, the size of storage, etc  The pricing is usually subscription based, e.g. monthly or yearly price Again virtualization technology maybe used to provide each customer one or many VMs with preinstalled app  Most providers write multi-tenancy based system to allow better resource utilization. PaaS: The consumer uses a hosting environment for their applications. The consumer controls the applications that run in the environment, but does not control the operating system, hardware or network infrastructure on which they are running. The platform is typically an application framework. Pricing could be fine grained hourly rate or subscription based. Virtualization technology can be used if the platform is presented as VM + some preinstalled software. Container technology may be used and the launching time could be greatly reduced  Provider may design their own software to let clients share an underlying platform IaaS: The consumer uses “fundamental computing resources” such as processing power, storage, networking components or middleware. The consumer can control the operating system, storage, deployed applications and possibly networking components such as firewalls and load balancers, but not the cloud infrastructure beneath them. The specification is similar to the general spec when you purchase a computer. These include CPU speed, number of cores, memory, etc  At the beginning, most providers use fine grained pay-as-you-go hourly rate  Now many providers have even finer grained “Per Second Billing” IaaS provides virtual machine together with storage and network as package. All provider uses virtualization technology, the actual software used could be different. Data Centre – A building or portion of a building whose primary purpose is to house a computer room and its support areas. Week 2 – Server Consolidation Solution: Pool heterogeneous services together – To do so, run several virtual machines on the same shared hardware, coordinated by a hypervisor (VMM) – Hypervisor abstracts / hides physical computing platform – Allows to share commodity hardware without sacrificing security and performance Benefits: better resource utilization – Fault tolerance – Portability – Manageability. Instruction Set Architecture sits at the boundary of hardware and software – Instruction refers to machine code for simple manipulation that can be directly executed by CPU  Typical ISA: x86 for PC ARM for mobile. Application Binary Interface – interface between a user application and the Operating System – User applications are usually written in high level language – Some kind of support is needed to make it run on a machine C++ – a compiler Python –  an interpreter. API is the interface of libraries provided by many languages or framework VM is an isolated environment that appears to be a whole computer but actually only has access to a portion of the computer resources. two types – System VM provides a full compute system’s ISA emulation, applications an run on top of it as if on an actual computer Eg – VMWare, VirtualBox. Process VM – is a virtual platform created for an individual process and destroyed once the process terminates Eg – JVM Js Engine. Role of VMM The concept of time sharing was the first to improve resource utilization – Multi user, multi-tasking systems – The relationship between VMM and VM is similar to the relationship OS and other applications – Managing hardware resources among multiple applications –  Provide interface between hardware and other applications. Challenges for VMM  Each VM runs its OS (guest OS) which assumes full control of the all hardware resources –  But that is not true, guest OS has only a portion of the hardware to use in virtualization – OS is designed to be the most privileged software system on a machine, now it is not – Do we need to modify OS implementation? – The extra layer may introduce performance overhead. Virtualization Techniques Full Virtualization – No Guest OS modification – Either Software Approach  – Hardware-assisted Virtualization – New privilege mode  This is considered as the preferred mode – Paravirtualization – Modify the OS to the virtualized environment, but expose some details of the hardware for optimization Guest OS is aware that it is running on a VM to some extent – Xen Executing Guest Instructions  – host and guest ISAs different, the only way to implement a full virtualization is through emulation – Translating the instruction from one ISA to another. host and guest ISAs are the same – Under certain condition, the guest instructions may execute directly on host machine – Best performance. Conditions for ISA- The hardware consists of a processors and a uniformly addressable memory The processor can operate: the system mode or the user mode Some subset of the instruction set is available only in the system mode -The memory address translation is done in a standard way