introduction to paas and iaas cloud computing
play

Introduction to PaaS and IaaS Cloud Computing Roberto Beraldi - PowerPoint PPT Presentation

Introduction to PaaS and IaaS Cloud Computing Roberto Beraldi Models for Cloud Computing (SaaS)Software as a Service XaaS (PaaS) Platform as a Service (IaaS) Infrastructure as a Service Models for cloud computing CC in a nutshell Cloud


  1. Introduction to PaaS and IaaS Cloud Computing Roberto Beraldi

  2. Models for Cloud Computing (SaaS)Software as a Service XaaS (PaaS) Platform as a Service (IaaS) Infrastructure as a Service

  3. Models for cloud computing

  4. CC in a nutshell • Cloud computing is a way to use Information Technology infrastructures without the need to install specific HW related to the infrastructures being used. • IT infrastructure can be as simple as a single raw virtual machine, … … more abstract as a sw platform used to develop and running applications on several machines, …or a sw application

  5. What CC can provide? • Infrastructure as a service (IaaS) • Platform as a service (PaaS) • Software as a service (SaaS) • API as a service (APIaaS) • STorage as a service (STaaS) • X as a service (XaaS)

  6. Main characteristics of CC • Pay-per-use – no ongoing commitment, utility prices • Elastic capacity and the illusion of infinite resources • Multitentancy – Same instance of an application to serve multiple clients • Resources that are abstracted or virtualized Resources provided as a Service and with a self-service Interface – provides users the ability to upload, build, deploy, schedule, manage, and report on their business services on demand.

  7. Factors enabling cloud computing Hardware HW virtualization Multi-core chips Computing Distributed Technologies Internet Web 2.0 Utility computing Cloud Web Services Grid Computing Mashups computing .. SoA Autonomic Computing Data Center Automation System Management

  8. Cloud actors

  9. Platform as a Service • A cloud platform offering an environment on which developers create and deploy applications – E.g., decide the size of the VM, where they are located, etc. • Different Programming Languages – PHP – Java – Ruby • Different DB • Web based console to create application (with dashboard)

  10. Platform as a Service • Developers can use an IDE to develop the application and use either an SDK or CLI to deploy the application • Impact on the programming model • Main players: – Google’s app engine, OpenShift, Windows Azure, and many more…

  11. PaaS – example: GAE • Cloud service for running web applications on the Google data center • GAE is one of the most interesting and complete PaaS – Simple configuration – Transparent scalability • “infinite” number of applications, req/sec storage – Security • All applications run inside a sandbox, do not have direct access to file system, cannot open other connections • Different programming languages

  12. GAE console

  13. Lots of service Compute • – App Engine – VM Storage • – BigTable – SQL – Datastore Operations • – Monitoring – Debugging – Etc. Tools • – Deployment Manager – Development Big Data •

  14. SDK

  15. GAE architecture • Google App Engine speaks with web applications through the Web Server Gateway Interface ( WSGI ) standard protocol • App Engine and SDK includes the webapp2 framework that implements WSGI WSGI Protocol HTTP Requests WEB Server WEB App

  16. GAE: supported language • Java – JVM, Java servlet, … – SDK Eclipse extension • Python – Standard library (without ‘unsecure’ calls) • Go • PHP (new)

  17. LAB: Hello Word in GAE • What we need: – Google account – GAE registration • Plafond free (10 app) – Register a new application • The application ID will be used to deploy the application – SDK – Use the language • Python 2.7 (no support for 3.x)

  18. Hello Word in GAE Step 1 Code Step 4 “Google Cloud” Deploy helloworld.py Web-based Admin console Simulator Conf Step 2 app.yaml Step 3

  19. Hello Word in GAE Step 1 Code helloworld.py Define a handler for the HTTP requests as a class that extends • webapp2.RequestHandler class (MainPage) – Attributes : response , request (instance of class Request, Response) – Methods: get,post, etc.. (to override) Map HTTP get request to get method (also post, put, etc..) • Write data to HTTP response through self.response • app is a global name that must assigned to the application •

  20. Step 3 Conf app.yaml Step 4 “Google Cloud” Deploy appcfg.py update . Web-based Admin console • An application name helloword must be registered with the google engine – helloworld.appspot.com

  21. Dashboard

  22. GAE architecture (simplified view) HTTP Requests App Eng App Eng App Eng Front End Front End Front End Balancer Load App Server App Server App Server Other API layer Google APP APP APP Service

  23. Python GAE architecture REQ/REP Services CGI Sandbox URLfetch Standard Lib mail Python VM App images Read-only File system BigTable MEMCACHE DATASTORE Source: Google App Engine – Guido van Rossum

  24. Python GAE architecture (scaling) REQ/REP Services CGI Sandbox URLfetch Standard Lib mail Python VM App images Read-only . File system . BigTable MEMCACHE DATASTORE Source: Google App Engine – Guido van Rossum

  25. Example: PHP • an app that handles customer requests might include separate modules to handle other tasks, such as: – API requests from mobile devices – Internal, admin-like requests – Backend processing such as billing pipelines and data analysis

  26. Appication modules instances

  27. GAE and mobile apps

  28. OpenShift OpenShift Online by Red Hat is a Platform as a Service (PaaS) that provides • developers and IT organizations with an auto-scaling, cloud application platform for deploying new applications on secure, scalable resources with minimal configuration and management overhead. Languages • Java, Ruby, and PHP . Integrated developer tools, such as Eclipse integration, JBoss Developer – Studio, and Jenkins, support the application life cycle. Database • MySQL, PostgreSQL, MongoDB, and SQLite. – OpenShift Online provides disk space, CPU resources, memory, • network connectivity, and an Apache or JBoss server to create, deploy, and manage applications in the cloud. Management web console • CLI, very powerful for coding debugging etc • Source: online documentation

  29. OpenShift: basic System components

  30. Subscription plan

  31. Example: create and application git to pull CLIENT GEAR git commit

  32. PaaS example2: Windows Azure • It is a set of integrated cloud technologies each providing a specific set of services to application developers • Windows Azure provides developer-accessible services for creating applications • Strongly integrated with Visual studio – Development fabric simulator – Development storage simulator

  33. Windows azure • Two execution models for applications – Web hosting: Web Site – PaaS: Cloud Service • IaaS: Virtual Machines http://www.windowsazure.com/en-us/develop/net/fundamentals/intro-to-windows-azure/

  34. Deployement Web Portal 1. Register (Live-id) 2. Create Hosted-Service http://xxxx.cloudapp.net Service 3. Package upload .csconf + .cspkg Service Fabric Service Controller Conf (n.inst. =3) Service .cspkg

  35. Microsoft azure • Lots of services are added during the years – Computation • VM,Cloud Services,Batch,RemoteApp – Web and mobile device • Backend for mobile app – Data and storage – Data analysis • Machine learning – Internet of Things – …

  36. INFRASTRUCTURE AS A SERVICE

  37. Cloud computing in a nutshell (by an analogy) Production Distribution Utilization • Electricity is “virtual” entity – (many sources, we do not care from where we receive it,…) • “Pay-as-you-go” – Elastic

  38. CC: Virtual computing power Utilization Provider CPU cycles Memory Virtual machine Storage control panel User decides the size on the VM…

  39. IaaS • A cloud infrastructure enables on-demand provisioning of servers running several choices of operating systems and a customized software stack. • Cloud computing services are usually backed by large-scale data centers composed of thousands of computers. • Such data centers are built to serve many users and host many disparate applications. • Offers virtualized resources (computation, storage, and communication) on demand

  40. IaaS: deployment models

  41. Virtualization, main idea • Memory: – Virtual Memory (>=Physical memory) • Multitasking: – Several processes concurrently on the same HW, see the same ISA. HW is shared thanks to an OS than manages critical instructions. • Virtual Machine: – ‘60 from IBM on mainframes – Abandoned with the advent of PCs, now again used for cloud computing – Even different ISA on the same CPU – Used to run different OS (not processes) – Achieved through a Virtual Machine Monitor

  42. Isolation • Through virtualization, workload isolation is achieved since all program instructions are fully confined inside a VM, which leads to improvements in security. • Better reliability is also achieved because software failures inside one VM do not affect others. • Moreover, better performance control is attained since execution of one VM should not affect the performance of another VM.

  43. Isolation

Recommend


More recommend