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)
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, …
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
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