This presentation is about Platform as a Service, a category of cloud computing services that enables customers to develop, run, and manage applications without building and maintaining their own infrastructure. The presentation also contains an overview of public cloud application platforms, such as Google Cloud Platform, AWS, Microsoft Azure and more.
The presentation was held by Volodymyr Davydenko (Engineering Consultant, GlobalLogic) at GlobalLogic Kyiv DevOps Career Day on June 9, 2018.
2. Confidential
Platform as a Service (PaaS)
is a category of cloud computing services that
enable customers to develop, run, and manage
applications without the complexity of building
and maintaining own infrastructure.
4. Confidential
Documentation
SDK
Rich languages support
Custom runtimes
Cross-platform
Support of debugging
tools
Service integration (DB,
Messaging, Cache, Big
Data)
Key PaaS evaluation criteria
No tight infrastructure
coupling
Operational agility
Horizontal auto scaling &
Load balancing
High Availability
Enabling continuous
deployment (blue/green
deployment, rolling updates)
RBAC
Security Operations
Monitoring systems with
visual reporting
Alerting integration
Non-repudiation audit
systems
Development Operations Monitoring &
Audit
Community
Support
Social presence
Vendor, partners and
community service
catalog and integration
options
7. Google Cloud
Platform
GKE
Suggested Use
Case
Web application Web application Complex containerized workload
deployment
Supported Runtime Python 2.7, Java 8, PHP,
Go
Python, Java, PHP, Go
+ Custom (Docker)
Docker
Compute resource
direct access
No Yes Yes
Scaling Seamless, seconds Minutes Workers
Pricing Instances, storage, traffic Instances, storage,
traffic
Resources (VMs)
Flexible
8. AWS
Suggested Use Case Web application Simple containerized
deployments
Complex containerized
workload deployment
Supported Runtime All (Java, .NET, PHP,
Node.js, Python, Ruby, Go,
and Docker)
Docker Docker
Compute resource direct
access
No Yes (Fargate: No) Yes (Fargate: No)
Scaling Seamless, seconds Workers, minutes Workers, minutes
Pricing Per instance/Bucket Per resources Per resources + Fargate
9. Service Web Apps Service Fabric ACS
(AKS)
Suggested Use Case High load web services High load web services Complex containerized
workload deployment
Supported Runtime ASP.NET, Node.js, Java,
PHP, Python
Docker/Windows server
containers
Docker
Compute resource direct
access
No Yes Yes
Scaling model Seamless Seamless, seconds Workers
Pricing Service plans VM/Storage/IP VM/Storage/IP
10. Market alternatives
Suggested Use Case Web application Web application Complex containerized
applications
Supported Runtime Docker All (with binary buildpack) Docker
Scaling Seamless, seconds Minutes Workers
Deployment GIT integration cf cli GIT integration, OpenShift
pipelines
Pricing Run time Memory/instances Project plan
12. OpenShift is a container management platform with Kubernetes as the underlying
orchestration framework bringing PaaS capabilities to public, on-premise private as well as hybrid
clouds. With Application Lifecycle management (ALM) built in and automation capabilities around
DevOps, openshift stands out to be one of the favoured platform for managing large scale container
deployments.
13. Components
- Source code management,
builds, and deployments for
developers
- Managing and promoting
images at scale as they flow
through your system
- Application management at
scale
- Team and user tracking for
organizing a large developer
organization
14. Pivotal Cloud Foundry
Cloud Foundry is an open source multi cloud
application platform for running applications, tasks, and
services. Its purpose is to change the way applications,
tasks, and services are deployed and run by significantly
reducing the develop-to-deployment cycle time.
As a cloud-native platform, Cloud Foundry directly
uses cloud-based infrastructure (AWS, Azure, GCP,
VMWare, OpenStack) so that applications running on the
platform can be infrastructure unaware. Cloud Foundry
provides a way to run applications predictably and reliably,
even in the face of unreliable heterogeneous
infrastructure.
16. Kubernetes
Kubernetes is an open-source platform for managing containerized applications across clusters of
nodes that allows you to solve your application orchestration requirements by:
Choosing vanilla Kubernetes might be a great choice for companies with strong DevOps teams who would
like to experiment with latest Kubernetes features that are not yet available within the specific
Kubernetes-based solution vendors, and a great choice for building own on-premise platforms. You get
battle tested container and storage orchestration, however you need to build your own personalized
release processing, and operations solutions.
● Automatic resource-based scheduling for containers and storage
● Automatic healing
● In-built automatic roll-out mechanisms
● Service discovery, HA and load balancing
● In-built configuration management
● Workloads management
● Built as fast and scalable system
18. Mesosphere DC/OS
Mesosphere DC/OS is a distributed operating system based on the Apache Mesos distributed systems kernel. It
enables the management of multiple machines as if they were a single computer. It automates resource management,
schedules process placement, facilitates inter-process communication, and simplifies the installation and management
of distributed services. Its included web interface and available command-line interface (CLI) facilitate remote
management and monitoring of the cluster and its services. DC/OS is a platform for running distributed containerized
software, like apps, jobs, and services. As a platform, DC/OS is distinct from and agnostic to the infrastructure layer.
This means that the infrastructure may consist of virtual or physical hardware as long as it provides compute, storage,
and networking.
19. Components
Distributed System
As a distributed system, DC/OS includes a group
of agent nodes
Cluster Manager
As a cluster manager, DC/OS manages both
resources and tasks running on the agent nodes.
Container Platform
As a container platform, DC/OS includes two
built-in task schedulers (Marathon and DC/OS
Jobs (Metronome)) and two container runtimes
(Docker and Mesos). Recently DC/OS was
extended with support for Kubernetes
21. Features OpenShift Tectonic
Cloud
Foundry Kubernetes Docker EE Mesosphere Rancher
Azure
Service
Fabric
APP Platform as a service Y Y Y N Y Y N N
Orchestration framework Kubernetes Kubernetes
Diego/
Kubernetes Kubernetes
Swarm/Kuber
netes
Marathon/Ku
bernetes
Kubernetes/C
attle/Maratho
n Proprietary
AWS Y Y Y Y Y Y Y Y
Azure Y Y Y Y Y Y Y Y
GCP Y N Y Y Y Y Y Y1
Oracle N N Y ? Y Y Y1
Bare Metal Y Y Y Y Y Y Y Y1
VMWare Y Y (Beta) Y Y Y Y Y Y1
OpenStack Y ? Y Y ? ? ? ?
PaaS Comparison Matrix
22. Features OpenShift Tectonic
Cloud
Foundry Kubernetes Docker EE Mesosphere Rancher
Azure
Service
Fabric
Open Source Y Y YN Y N Y Y N
Container format Docker Docker CF / Docker
Docker and
RKT Docker
Unified
runtime,
OCI Docker
Docker,
Windows
Containers
CI/CD
Out of the
box &
external
integrations
Through
external
tools
Through
external
tools
Through
external
tools
Through
external
tools
Jenkins
integration
or external
tools
Through
Jenkins/
External
Tools
Through
VSTS and
Jenkins
Active Community Y Limited Pivotal Y Y Y Y Limited
Documentation
Great (Blogs,
wiki, github) Limited
Great
documentati
on from
Pivotal
Sufficient.
(Blogs, wiki,
github)
Sufficient,
(Blogs,
Conference
videos) Sufficient
Sufficient
(Docs/
Github/
Slack
Community) Limited
Who it’s for
Customers
looking for
PaaS &
hybrid
solutions
along with a
product with
great
community
support.
Customers
who are
looking to
work purely
with
containers
and use
CoreOs as
the underlying
OS
Customers
who want to
make the
software
build, test,
deploy, and
scale cycle
faster by
abstracting
from
underlying
infrastructure
Customers
who have the
internal teams
and expertise
to set up
multiple
components
to get the
install going
Customers
who need a
standards
based
solution with
support for a
wide variety
of operating
systems
Customers
who need to
run complex
workloads
Customers
who need a
feature rich
solution that
has a good
partner
ecosystem
Customers
with existing
Azure
footprint and
a .NET based
workloads
23. Engineering Demand - Q1 2018
Disclaimer:
- These numbers for demand are anecdotal based on worldwide keyword search on LinkedIn jobs portal.
- They are meant to reflect comparative demand for specific skill sets.
- They platform expertise is usually found embedded in general Cloud/DevOps Engineer/Architect job profiles.