PA200 - Cloud Providers

Petr Blaho, Ilya Etingof

Created: 2018-04-11 Wed 19:35

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

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
  • 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)

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
  • 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)

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 Functions)

Heroku

  • PaaS
  • Ruby, Java, Node.js, Scala, Clojure, Python, PHP, and Go
  • PostgreSQL, Redis, MongoDB
  • Connect for Salesforce

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