paas ecosystem overview

Post on 14-Apr-2017

1.213 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PaaS Ecosystem Overview

Dmitry Meytin December 2015

What is PaaS?

NOT iPaaS, MPaaS nor APaaS

Code

Push and Build

Deploy & Run

Monitor & Bug Discovery

Fix the bug

Update & Build

Gradually Redeploy

Scale Horizontally & Vertically

Enjoy automation

PaaS. What else?

Timeline

2007 2008 2015

Lattice

Swarm

Marathon

2006

Heroku-like PaaS

Heroku-like PaaS

• Buildpacks• Containers• Application vs Service• 12-factor applications• Multi-cloud/Specific Cloud

Buildpack magic

bin/detect bin/compile

• Installing plugins• Building artifacts• Caching artifacts

bin/release

• Addonsmysql:50mb

• Config_vars PATH: "bin:/usr/bin:/bin"

• Procfilehello param1 param2

Container Creation Process

Application vs Service

The Twelve-Factor App (1)I. CodebaseOne codebase tracked in revision control, many deploys

II. DependenciesExplicitly declare and isolate dependencies

Dependency Library

V1 V2 V3

Codebase Codebase Codebase

Packaging System

IV. ConfigStore config in the environment

- File- Environment variables

III. Backing ServicesTreat backing services as attached resources

The Twelve-Factor App (2)V. Build, release, runStrictly separate build, release and run stages

VI. ProcessesExecute the app as one or more stateless processes

- Fully stateless- Share-nothing

VII. Port bindingExport services via port binding

• The twelve-factor app is completely self-contained

• There is no runtime injection of a webserver into the execution environment

VIII. ConcurrencyScale out via the process model

Share-nothing, horizontally partitionable nature of twelve-factor app processes

The Twelve-Factor App (3)X. Dev/prod parityKeep development, staging, and production as similar as possible

- Minimize the time gap: a developer may write code and have it deployed hours or even just minutes later

- Minimize the personnel gap: developers who wrote code are closely involved in deploying it managing it in production

- Minimize the tools gap: keep development and production as similar as possible

XI. LogsTreat logs as event streams

• Each running process writes its event stream, unbuffered, to

• Use log routers and log aggregators• Build alert system according to user-

defined heuristics

XII. Admin processesRun admin/management tasks as one-off processes

• Running database migrations• Running one-time scripts committed into

the app’s repo

IX. DisposabilityMaximize robustness with fast startup and graceful shutdown

- Processes should strive to minimize startup time

- Processes shut down gracefully when they receive a SIGTERM signal from the process manager

- Handle unexpected, non-graceful terminations (crash-based design)

STDOUT

CloudFoundry Architecture v2.0 (not Lattice/DIEGO)

Cloud Foundry Service Broker

Blueprint-like PaaS

Blueprint-based PaaS

• No code-to-binary step• Multi-layered• Legacy application support• Service discovery• VMs and/or Containers• Rich life-cycle management

Blueprint Standards

• OASIS TOSCA (Physical Host + VMs + Containers)

• Murano PL (VMs + Containers)• Virtuozzo Application Packaging Standard

(Containers/VMs)• Jelastic Packaging Standard (Containers)• Kubernetes/Swarm/Marathon (Containers)• HashiCorp Configuration Language• (Containers)• …

OASIS TOSCA

TOSCA Example

StackStorm

Cloudify

Container Evolution

Container Evolution• High Adoption• Network Management• Volume Management (persistent data)• Security• Service discovery• Hardware Acceleration (Intel Clear Containers)• Live Migration!

μicroservices

Simple NetflixOSS style microservices architecture on three AWS Availability

Zones

Container EvolutionContainer Evolution

Following Borg & Omega

Warehouse-Scale Computer OS

Kubernetes

Conceptual difference – remediation vs self-organization

Self-Organization

More Tools

Vamp.io

Source-to-image

OpenShift v3.0

Fabric8

CloudFoundry DIEGO (DEA-GO)

HashiCorp Atlas

SERF

Nomad

ConsulVaultHCL

Serf

Otto

• otto compile• otto dev• otto infra• otto build• otto deploy

Otto NomadTerraForms

Consul

Vault

DevOps Process

Orientation map, anyone?

P24E – Programmable infrastructurE

Conclusions

• Don’t hesitate to try• You still can create your own solution

Q&A

top related