Cloud Computing: Computing as a Service
Delve into the world of cloud computing and the concept of computing as a service through topics like virtualization, advanced services, serverless computing, and more. Explore the benefits of instant deployable computing power, scalability, and pay-as-you-go models. Uncover the workings of virtualization in cloud computing environments and the components involved in managing virtual machines for optimal performance and efficiency.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Cloud Computing: Computing as a Service Prof. Raffaele Montella, Ph.D. http://raffaelemontella.it raffaele.montella@uniparthenope.it
Outline - Computing in the Cloud Introduction Computing as a service Virtualization and Containerization Advanced services Serverless computing Conclusion
Introduction Infrastructure as a Service. Instant deployable computing power. There is no queue: the resources are allocated and consumed: More CPUs than in the user availability. Expensive high-end GPGPU devices. Diverse and different environments for product testing. Access computing power from anywhere, anytime, any device.
Compute as a Service CPUs, RAM, storage, GPUs, FPGAs on demand Elasticity Scalability Pay as you go
Compute as a Service Pay how much you can: make a bid Private clouds Public clouds Cloud burst
Virtualization Computing on the cloud means not using servers directly. A virtual machine hosts an operating system. The custom software runs on this machine. A virtual machine is a software image of a complete machine that is loaded on the compute server.
Virtualization The compute server runs a software component called hypervisor . The hypervisor grants the server resources to the virtual machines. Different operating systems are packed of the hypervisor. The computing servers are managed in a homogeneous way.
Virtualization Components: Cloud Management System Fabric Controller Cloud Monitor An instance of a virtual machine is a running virtual machine started from its image.
Virtualization Many instance of the same virtual machine on the same (or different server). Instance recovery in case of crash. Instance health. Instance load. Balance between costs and performance.
Containers Are similar to virtual machines. Based on a different virtualization technology. Layered on top of the host operating system. Operating system level virtualization.
Containers More effective, instant deployment. An application is packaged in a container. All dependencies are packaged. Atomic unit simple to manage.
Containers Example: Container 1: web server Container 2: database server Persistent disk can be hosted on the physical machine. Example: Package: Sweep parameters application. Multiple containers instances with different parameters.
Containers Lightweight. Applications start in an instant. A container shares libraries with other containers. On a given compute server: more containers less virtual machine instances
Containers Packaging an application in a container is a simple task. Container definition script language. Requirements: Libraries Dependencies Source files Data The script runs on a laptop for testing and on a remote cloud compute server for production.
Containers Containers are portable between different clouds. It is possible, but not really easy move virtual machine images from one cloud to another. Virtual machines take minutes to be up and running. Virtual machines are more isolated.
Containers Managing networking in containers is tricky. Security in containers could be an issue. More containers share the same host OS instance.
Virtual Machines vs Containers App Cloud Fabric Controller App Cloud Fabric Controller App App App App App Bins & Libs Bins & Libs Docker Bins & Libs Bins & Libs Guest OS Guest OS Guest OS Hypervisor Hypervisor Server Server Containers are more cloud-native Virtual Machines are more secure.
Virtual Machines vs Containers Virtual Machine Containers Heavyweight Lightweight Fully isolated Process-level isolation No automation in configuration Automated configuration Slow deployment Fast deployment Easy networking Abstract networking Custom images Portable Containers are more cloud-native Virtual Machines are more secure.
Advanced Computing Services Infrastructure as a Service is just the foundation of the computing in the cloud. Cloud vendors (Amazon, Microsoft, Google) have dedicated services. Data analysis clusters. Tools for massive streams of events. Machine learning tools.
Advanced Computing Services The problem of computing is the scaling. Virtual machines and containers make easy to virtualize a single machine image. The most part of today applications are data massive. Run parallel tools is not the exception, but the regular way.
Advanced Computing Services High performance computing using Message Passing Interface (MPI) Virtual clusters (Amazon, Microsoft Azure) Many task parallelism (MTP) : massive number of independent task to run in a embarassing parallel way.
Advanced Computing Services Bulk synchronous parallelism (BSP) MapReduce (Apache Hadoop) Spark (interactive using Jupyter) Cloud Datalab (Google) - based on Jupyter Cloud Business Intelligence (Microsoft Azure)
Advanced Computing Services Scaling containers: Docker Swarm Kubernetes container management (Google) High Throughput Condor (1985 still widely used, and developed) Class-AD - Resource specification language Used in European grid computing for decades alongside Globus 2 and GridFTP
Advanced Computing Services MesOS: distributed operating system with web interface. Dataflow and workflows: Galaxy / Globus Galaxy: bioinformatics https://www.globusgenomics.org Galaxy / Globus Galaxy-ES: earth science https://onlinelibrary.wiley.com/doi/abs/10.1002/cpe.354 0 DagOn*: http://github.com/dagonstar More: https://github.com/meirwah/awesome-workflow-engines
Serverless Computing Having up and running a virtual machine instance on the cloud could be costly if the most part of the time is in idle. The effort needed to configure a service is not trivial. The security have to be enforced. The scalability is an issue.
Serverless Computing A service can be deployed and bounded to a web route without the need to be hosted to a dedicated machine. The service is billed for the amount of the resources for the time that are used. The services are hosted in lightweight containers. Serverless computing is cloud native/continuously upgraded.
Conclusions Good things about hosting computation in the cloud: Cost Scalability Access Configurability Variety Security Upgradability Semplicity
Conclusions Bad things about hosting computation in the cloud: Cost Variety Security Dependence Private clouds Hybrid clouds Cloud burst Initial cost of investment Total cost of ownership Time to marked