Slide 1

Slide 1 text

Open Source PaaS using Docker A short overview

Slide 2

Slide 2 text

09/08/15 VSHN AG | http://vshn.ch 2 Agenda ● VSHN? Or: How do I spell that? ● PaaS in 2015 ● Buildpack ● Open Source Projects overview – Dokku, Deis, Tsuru, Flynn, Apache Stratos, OpenShift v3, Cloud Foundry

Slide 3

Slide 3 text

09/08/15 VSHN AG | http://vshn.ch 3 /me ● Tobias Brunner aka tobru ● VSHNeer since the beginning of VSHN ● Open Source fan ● Blog: https://tobrunet.ch ● Twitter: @tobruzh

Slide 4

Slide 4 text

09/08/15 VSHN AG | http://vshn.ch 4 Company Profle | v ʒ | ˈ ɪ nn ● Owner-operated Swiss company ● 12 employees at the head office in Zurich ● Service provider for DevOps, software delivery automation and confguration management ● Partner for operations/hosting of web applications ● Further specialty felds: Consulting, System Engineering, Continuous Delivery, Monitoring, Backup, 24/7 Support

Slide 5

Slide 5 text

09/08/2015 VSHN AG | http://vshn.ch 5 Software Delivery Automation

Slide 6

Slide 6 text

09/08/15 VSHN AG | http://vshn.ch 6 PaaS in 2015 ● Push to deploy ● Automatic – Building – Testing – Releasing – Monitoring – Feedback – (Scaling)

Slide 7

Slide 7 text

09/08/15 VSHN AG | http://vshn.ch 7 PaaS in 2015 ● At the moment: Docker most used backing tool ● Shared concepts: – Push to deploy (f.e. git push) – Docker – Builds container matching app language – Automatic deployment ● Twelve-Factor App (http://12factor.net/ ) ● Buildpacks

Slide 8

Slide 8 text

09/08/15 VSHN AG | http://vshn.ch 8 Buildpacks ● Invention of Heroku ● Foundation of many Open Source PaaS implementations ● Defnes how to build up the stack ● Not limited to one language ● Autodetection of application language ● Many open buildpacks available

Slide 9

Slide 9 text

09/08/15 VSHN AG | http://vshn.ch 9 Tool 1: Dokku ● Written in Bash (~200 Lines) ● Builds on Heroku Buildpacks ● Single host ● Many plug-ins ● Easy to get up and running $ cd node-js-sample $ git remote add dokku [email protected]:node-js-app $ git push dokku master Counting objects: 296, done. Delta compression using up to 4 threads. Compressing objects: 100% (254/254), done. Writing objects: 100% (296/296), 193.59 KiB, done. Total 296 (delta 25), reused 276 (delta 13) -----> Building node-js-app ... Node.js app detected -----> Resolving engine versions ... blah blah blah ... -----> Application deployed: http://node-js-app.dokku.me

Slide 10

Slide 10 text

09/08/15 VSHN AG | http://vshn.ch 10 Tool 2: Deis ● Docker, CoreOS, Ceph ● Builds on Heroku Buildpacks ● Twelve-Factor App needed ● Supported languages: Ruby, Python, Node.js, Java, Clojure, Scala, Play, PHP, Perl, Dart and Go. ● At least 3 servers needed ● Many components involved: Controller, Database, Cache, Builder, Registry, Logspout, Logger, Publisher, Router, Store. ● Scheduler: Fleet. Previews: Kubernetes, Mesos with Marathon, Swarm

Slide 11

Slide 11 text

09/08/15 VSHN AG | http://vshn.ch 11 Tool 2: Deis

Slide 12

Slide 12 text

09/08/15 VSHN AG | http://vshn.ch 12 Tool 3: Tsuru ● Supports any app language and even Buildpacks ● Single server possible, but also a cluster of servers – Can be any Docker host ● IaaS integration (manage VMs) ● Databases as services ● git push or tsuru app-deploy ● Components: tsurud, tsuru, tsuru-admin, crane, gandalf, registry, router

Slide 13

Slide 13 text

09/08/15 VSHN AG | http://vshn.ch 13 Tool 4: Flynn ● Run anything, not just Twelve-Factor Apps ● PostgreSQL support included, others coming ● Buildpacks used ● One or more nodes ● Components: many / self invented – Layer 0 is a low-level resource framework inspired by the Google Omega paper. Layer 0 also includes service discovery. – Layer 1 is a set of higher level components that makes it easy to deploy and maintain applications and databases.

Slide 14

Slide 14 text

09/08/15 VSHN AG | http://vshn.ch 14 Tool 5: Apache Stratos ● PaaS Framework ● True Multi-Tenancy ● Dynamic scaling, cloud bursting, IaaS integration ● Complex architecture ● Backed by Apache Foundation ● Uses so called cartridges ● Supports Kubernetes

Slide 15

Slide 15 text

09/08/15 VSHN AG | http://vshn.ch 15 Tool 5: Apache Stratos

Slide 16

Slide 16 text

09/08/15 VSHN AG | http://vshn.ch 16 Tool 6: OpenShift v3 ● Enterprise and Origin (OpenSource), RedHat product ● Based on Kubernetes ● Simple running: Runs itself in a Docker container ● Automatic scaling ● Provides database services ● Helps in building the application (S2I)

Slide 17

Slide 17 text

09/08/15 VSHN AG | http://vshn.ch 17 Tool 6: OpenShift v3

Slide 18

Slide 18 text

09/08/15 VSHN AG | http://vshn.ch 18 Tool 7: Cloud Foundry ● Started at VMware, now owned by Pivotal Software ● Helps with full application lifecycle: dev, stage, prod, … ● Best used with Twelve-Factor Apps ● Many components: Cloud Controller, Elastic Runtime, Router, Authentication, Application Execution (DEA), Blob Store, Services, Operations BOSH, Logging and Statistics, HM9000

Slide 19

Slide 19 text

09/08/15 VSHN AG | http://vshn.ch 19 Tool 7: Cloud Foundry

Slide 20

Slide 20 text

09/08/15 VSHN AG | http://vshn.ch 20 Conclusion ● Many OpenSource PaaS available ● From simple (Dokku) to very complex (Apache Stratos) ● Getting started: Use Dokku ● Production Cluster: Chose between Deis or OpenShift v3 ● Having fun: Tsuru, Flynn ● For freaking out: Apache Stratos or Cloud Foundry

Slide 21

Slide 21 text

09/08/2015 VSHN AG | http://vshn.ch 21 Questions?

Slide 22

Slide 22 text

09/08/2015 VSHN AG | http://vshn.ch 22 We're hiring Speak to: @tobruzh and @aarnoaukia