Cloud Native Applications - PIXEL GROUP · Docker Warum Docker? I Java: ... § z.B. mit Jenkins,...

12
IT-Development & Consulting it-people l it-solutions Markus Albrecht, 9. März 2017 Cloud Native Applications

Transcript of Cloud Native Applications - PIXEL GROUP · Docker Warum Docker? I Java: ... § z.B. mit Jenkins,...

IT-Development & Consulting

it-people l it-solutions

Markus Albrecht, 9. März 2017

Cloud Native Applications

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 2

Cloud

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 3

Docker

Warum Docker? I  Java: „Write once, run everywhere“ I  Git: „Tiny footprint with lightning fast performance“ I  è Docker: „Build, Ship, Run“ I  „Infrastruktur-Lego“ I  Infrastructure as code I  DevOps

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 4

Docker

Anzahl der Container wächst schnell... I  Traefik: reverse proxy & SSL I  cAdvisor: Monitoring I  WatchTower: Deployment I  ...

Management mehrerer Container I  Docker compose I  Chef I  Puppet I  Ansible I  Consul

Management GUIs I  Docker Kitematic I  Rancher I  Portainer.io I  ...

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 5

Orchestration

Management vieler Container I  Verteilte Systeme I  Loadbalancing I  Autoscaling I  Monitoring

Tools I  Kubernetes I  Apache Mesos I  Docker Swarm

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 6

Docker

Anwendungsszenarien für Docker I  Für die fertige Applikation mit Dev-, Staging- und Prod-Umgebungen I  Continuous Integration (CI) Pipeline

§  Für Build & Integrationstest §  z.B. mit Jenkins, Travis CI, circleci, AWS CodeBuild

I  Lokale Builds §  Cloud IDE: Eclipse CHE §  „Works on my machine → Works on your machine“

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 8

Cloud-Dienste

*aaS I  SaaS (Software as a Service) I  IaaS (Infrastructure as a Service) I  CaaS (Container as a Service) I  PaaS (Platform as a Service) I  FaaS (Function as a Service) auch „Serverless“

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 9

Cloud-Dienste

Anbieter I  Amazon Web Services:

§  EC2 (IaaS), ECS (CaaS), AWS Elastic Beanstalk (PaaS), Lambda (FaaS)

I  Microsoft Azure I  Google Cloud Platform I  Red Hat OpenShift I  CloudFoundry I  DigitalOcean I  Telekom Cloud I  ...

I  Viele Alternativen, siehe auch: https://paasfinder.org

I  Als private Cloud z.B. mit OpenStack

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 10

The 12 Factor App

https://12factor.net/ I  I. Codebase

§  One codebase tracked in revision control, many deploys

I  II. Dependencies §  Explicitly declare and isolate dependencies

I  III. Config §  Store config in the environment

I  IV. Backing services §  Treat backing services as attached resources

I  V. Build, release, run §  Strictly separate build and run stages

I  VI. Processes §  Execute the app as one or more stateless processes

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 11

The 12 Factor App

I  VII. Port binding §  Export services via port binding

I  VIII. Concurrency §  Scale out via the process model

I  IX. Disposability §  Maximize robustness with fast startup and graceful shutdown

I  X. Dev/prod parity §  Keep development, staging, and production as similar as possible

I  XI. Logs §  Treat logs as event streams

I  XII. Admin processes §  Run admin/management tasks as one-off processes

© 2017 PIXEL GmbH - Ein Unternehmen der PIXEL Group - www.pixel.de Folie 12

Microservices

I  "Microservice Architecture" is a particular way of designing software applications as suites of independently deployable services. (Martin Fowler)

I  Domain Driven Design I  Polyglot Persistence I  In Java: gute Unterstützung mit Spring Boot, Spring Cloud

Zentrale PIXEL GmbH Lochhamer Schlag 17 D-82166 Gräfelfing Tel.: +49/89/8 98 68-100 Fax: +49/89/8 98 68-111 [email protected] www.pixel.de Niederlassung PIXEL GmbH Im Gewerbepark C15 D-93059 Regensburg © 2017 PIXEL GmbH Ein Unternehmen der PIXEL Group