PA200 Overview of contemporary public cloud providers RNDr. David Gešvindr MVP: Data Platform | MCSE: Data Platform | MCT gesvindr@fi.muni.cz @gesvindr Outline 1. Introduction to Public Cloud 2. Compute Services 3. Storage Services 4. Monitoring of applications 5. Other Services Outline 1. Introduction to Public Cloud 2. Compute Services 3. Storage Services 4. Monitoring of applications 5. Other Services Cloud definition „Cloud computing is a model for enabling ubiquitous, convenient, ondemand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.“ - National Institute of Standards and Technology Key features of the cloud ▪ On-demand self service ▪ Broad network access ▪ Resource pooling ▪ Rapid elasticity ▪ Measured service Service Models ▪ Software as a Service (SaaS) ▪ Platform as a Service (PaaS) ▪ Infrastructure as a Service (IaaS) ▪ Public cloud ▪ Private cloud ▪ Hybrid cloud Deployment Models Contemporary Cloud Providers Amazon Web Services Microsoft Azure Google Cloud Oracle Cloud IBM Cloud Public Cloud Adoption Amazon Web Services (AWS) ▪ Launched in July 2002 (major redesign in 2006) ▪ Initially Amazon was providing access to spare compute capacity in their datacenters hosting their e-commerce systems − Their goal was to have a fully automated management of all resources − Their E-commerce solution was later redesigned to be hosted in AWS ▪ Offers over 100 services (IaaS, PaaS and SaaS) ▪ 22 geographic regions ▪ You can start using AWS Free Tier Microsoft Azure ▪ Launched in February 2010 ▪ Public cloud provided by Microsoft ▪ Flagship of Microsoft products and services − Very intensive development of provided services with a goal to become leader in cloud industry − Offers 58 regions worldwide (https://azure.microsoft.com/en-us/regions/) ▪ Offers over 100 services (IaaS, PaaS and SaaS) − Great tooling support for developers (not only Microsoft/.NET developers) ▪ You can start using Azure for Students − https://azure.microsoft.com/students Google Cloud ▪ Launched in April 2008 ▪ Google Cloud unites all Google Cloud Services − Google Cloud Platform is a public cloud provided by Google ▪ 22 geographic regions ▪ Offers over 100 services (IaaS, PaaS and SaaS) ▪ You can start using Google Cloud Platform Free Tier − https://cloud.google.com/free Outline 1. Introduction to Public Cloud 2. Compute Services 3. Storage Services 4. Monitoring of applications 5. Other Services Virtual Machines (IaaS) ▪ IaaS service which allocates a virtual machine in cloud provider‘s datacenter ▪ Provides a full access to a virtual machine with Windows or Linux OS preinstalled ▪ It is important to select type of VM based in application‘s requirements − Different ratio CPU/RAM, performance of storage, GPU availability − General Purpose / Compute / Memory / Storage Optimized ▪ Services: − Azure Virtual Machine + Azure Storage Managed Disk − Amazon Elastic Compute Cloud (Amazon EC2) + Amazon Elastic Block Store (EBS) − Google Compute Engine + Google Persistent Disk Managed application hosting (PaaS) ▪ Web/application servers managed by the cloud provider (PaaS) ▪ Developer selects required runtime (.NET, PHP, Java, NodeJS, etc.) and then deploys its application using supported deployment method − Common support for Continuous Integration and Deployment ▪ Support for vertical and horizontal scalability (autoscale) ▪ Services: − Azure App Service − AWS Elastic Beanstalk − Google App Engine Managed Containers (PaaS) ▪ Cloud provier provisions and manages compute infrastructure for deployment and operations of applications in containers ▪ Developer creates a Docker container with application and stores it in a container registry ▪ The service downloads the application container and runs it ▪ Services: − Azure Container Instances, Azure Kubernetes Service − Amazon Elastic Container Service, Amazon Elastic Kubernetes Service − Google Cloud Run Serverless Computing (PaaS/FaaS) ▪ Function as a Service (FaaS) is a new trend, when developers deploy not applications but functions (methods with code) that are triggered based in selected trigger ▪ The function is automatically hosted and also scaled ▪ Commonly billed based on consumed CPU time and memory ▪ Supported triggers: HTTP call, time, message in queue, new file ▪ Services: − Azure Functions − AWS Lambda − Google Cloud Functions Outline 1. Introduction to Public Cloud 2. Compute Services 3. Storage Services 4. Monitoring of applications 5. Other Services Object / Blob storage (PaaS) ▪ Highly scalable object/blob storage service ▪ Commonly used as a primary storage service for data ▪ Supported types of data − Files (blobs) with block or random access, Data Lakes − Messages in a queue − Records in a table (key-value storage, no SQL access) ▪ Services: − Azure Storage − Amazon Simple Storage Service (Amazon S3), Amazon Simple Queue Service − Google Cloud Storage Relational database (PaaS) ▪ Relational database engine hosted as a service (fully managed by the cloud provider offering high availability, managed backups, etc.) ▪ Commonly used database engines are offered as a service by cloud providers ▪ New database services are built by the cloud providers to achieve high scalability ▪ Services: − Azure SQL Database (Microsoft SQL Server, PostgreSQL, MySQL, MariaDB) − Amazon RDS, Amazon Aurora − Google Cloud SQL NoSQL database ▪ Various NoSQL databases provided as a managed service (PaaS): − Document Database (Mongo DB) − Column-family (Apache Cassandra) − Key-value (Redis) − Graph (Gremlin) ▪ Services: − Azure CosmosDB, Azure Storage, Azure Cache for Redis − Amazon DynamoDB, Amazon DocumentDB, Amazon Neptune, Amazon Timestream, Amazon Managed Apache Cassandra Service − Google Cloud Bigtable, Google Cloud Firestore, Google Memorystore Big Data analytics ▪ Data are stored in Data Lakes (eg. CSV files, NoSQL databases) ▪ Analytical Services can connect to these data lakes and run analytical queries, computations and machine learning − Apache Hadoop, Apache Spark ▪ Services: − Azure Storage, Azure Synapse Analytics, Azure Databricks − Amazon S3, Amazon Athena, Amazon EMR − Google Cloud Storage, Google Cloud Bigtable, Google BigQuery, Google Cloud Dataproc Outline 1. Introduction to Public Cloud 2. Compute Services 3. Storage Services 4. Monitoring of applications 5. Other Services Monitoring of applications ▪ Cloud applications should be actively monitored not just by basic tools that are part of the hosting service ▪ Additional services can be used for collection of exceptions, outages and their intelligent analytics ▪ Services: − Azure Application Insights − Amazon CloudWatch − Google Cloud Logging / Monitoring / Trace / Profiler… Outline 1. Introduction to Public Cloud 2. Compute Services 3. Storage Services 4. Monitoring of applications 5. Other Services Artificial Intelligence ▪ Services providing a simple API to access advanced AI models and services to: − Analyze images − Analyze texts − Analyze anomalies ▪ Services: − Azure Cognitive Services − Amazon ML Services, Amazon AI Services − Google AI Hub, Vision AI, Video AI, Natural Language, Translation, AutoML Questions RNDr. David Gešvindr MVP: Data Platform | MCSE: Data Platform | MCT gesvindr@fi.muni.cz @gesvindr