PA200 - Cloud Providers Petr Blaho, Ilya Etingof April 11, 2018 Recap of Cloud Types • More detailed in Cloud Service Deliver Models • Datacenter Virtualization – oVirt • IaaS – Infrastructure as a Service – OpenStack • PaaS – Platform as a Servise - OpenShift • SaaS – Software as a Service – Microsoft Dynamics CRM – mostly abandoned • xPaaS – extended PaaS – integrates aPaaS (Application), iPaaS (Integration), dvPaaS (Data Virtualization), bpmPaaS (Business Process Management), mPaaS (Mobile) Amazon AWS • Amazon Web Services • Web service backend providing libraries for majority of modern web programming languages • Provides also database access and storage • Features mobile platform as well • REST-style HTTP, SOAP 1 S3 • Simple Storage Service • Provides API-driven Object storage • Stored files are abstracted all the way to objects and are easy to represent in high-level programming languages • REST-style HTTP, SOAP, BitTorrent EC2 • Elastic Compute Cloud (IaaS) • KVM-based • Provides backend to earlier mentioned services as well as ability to sell „Virtual private cloud“ to customers • OSs (Linux, OpenSolaris, Windows, NetBSD, . . . ) Other • Elastic Beanstalk (PaaS) • AWS Lambda (event-driven, serverless computing - FaaS) • Glacier (storage for archives or backups) • Elastic Block Store (block-level storage) • SimpleDB, DynamoDB, Elastic MapReduce, . . . Google Cloud Platform • Rich platform exposing functionality over REST • Primarily developed to support Google’s core services (search, youtube, gmail) • Later extended with the business needs driven by Android, its integration with services 2 • Nowadays featuring rich set of programming frameworks, hosting services and database engines App Engine • Web apps on Google’s infrastructure (PaaS) • Python, Java (JVM), Go, PHP, Node.js • Easy deploy, monitoring, scaling • Limited languages and tools (SQL vs. GQL) Compute Engine • IaaS • Compute Engine Unit (GCEU) - abstraction of computation power • at the backend kvm based Storage • IaaS for storage • REST-like HTTP access • compatible with Amazon S3 BigQuery • web service (with REST-like interface) • work with Storage • SQL dialect, returns JSON • can be integrated via HTTP (Spreadsheets) 3 Red Hat • Provider of solutions that can serve either as a private or public cloud • Also provider of PaaS/xPaaS solution (OpenShift) • Involved in development of cloud-oriented apps ranging from Level 1 (kernel, KVM), through management software (OpenStack, oVirt) and PaaS up to application level (Jboss Enterprise Application Platform, Data Virtualization, etc.) oVirt • open source upstream for Red Hat Virtualization • can manage networks, CPUs, storages • with VM it can do live migration, live snapshots • integrate with many open source projects (OpenStack, Foreman, ManageIQ, . . . ) oVirt Engine • Java (GWT, WildFly) • REST-style HTTP API • can integrate with LDAP or AD oVirt Node • RHEL, CentOS, Fedora or Debian with KVM • VDSM (Python daemon) manages resources and VMs • gets commands from Engine and reports back to it OpenStack • open source platform for cloud computing (mainly IaaS) • written in Python 4 • each Project aims to solve one part of cloud computing needs • pluggable w/r/t backends and between Projects Identity (Keystone) • central user management and authentication service • can use directory service backend (LDAP) Compute (Nova) • layer on top of hypervisor(s) • manages compute resources - VMs and containers Networking (Neutron) • manages networks and IP addresses for VMs • can use SDN technologies (OpenFlow) • load balancing, floating IPs, firewall, VPN, . . . Other • Block Storage (Cinder) - many storage providers • Image Storage (Glance) - images to boot from and to store snapshots of VMs to • Orchestration (Heat) - used to manage deployments of applications on OS • Database as a Service (Trove) • Bare Metal (Ironic) - management of physical machines (PXE and IPMI as default) 5 OpenShift • PaaS • container based deployment and management • Kubernetes with Docker images • written in Go IBM SoftLayer • IaaS • Servers (Bare Metal, Virtual) • Storage (Block, File, Object, Backup) • Networking (VPN, DirectLink, CDN) • Management (Monitoring & Reporting, Managed Hosting) Bluemix • PaaS • based on Cloud Foundry • runs on SoftLayer • supports Java, Node.js, Go, PHP, Swift, Python • include OpenWhisk (similar to Amazon Lambda or Google Cloud Func- tions) Heroku • PaaS • Ruby, Java, Node.js, Scala, Clojure, Python, PHP, and Go • PostgreSQL, Redis, MongoDB • Connect for Salesforce 6 Cloud Foundry • PaaS • Ruby, Go, Java, Node.js, Python, PHP, .NET • IBM, Pivotal, HPE, GE, Huawei - certified providers Recap • not a full enumeration of subjects on market • offerings are different in technologies, services and prices • offerings often overlaps in a lot of parts • offerings often provides some added value for allied services / products 7