Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra...

38
PaaS: van agile noodzaak tot hét applicatieplatform 4 oktober 2018 – ITQ Transform! RWS Applicatieplatformstrategie Rijkswaterstaat

Transcript of Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra...

Page 1: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

PaaS: van agile noodzaak

tot hét applicatieplatform

4 oktober 2018 – ITQ Transform!

RWS

Applicatieplatformstrategie

Rijkswaterstaat

Page 2: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

2 Cloud Foundry Platform

Er was eens…

2014-2015 Behoefte aan platform waarmee snel apps kunnen worden ontwikkeld: sneller functionaliteit naar business

Begin 2015 Introductie low code platform

2015 Snelle applicatie-ontwikkeling is een feit, maar…

Deployments in de OTAP-straat nog steeds ‘klassiek’ traag→ zoektocht naar oplossing

Eind 2015 Introductie Platform-as-a-Service op basis van

PoC omgeving wordt opgezet…

…binnen 1 maand na start opbouw PCF eerste applicatie live!

Page 3: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

3 Cloud Foundry Platform

Traditioneel – IAAS – PAAS – SAAS

Page 4: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

4 Cloud Foundry Platform

Traditioneel vs Cloud Foundry

Page 5: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

5 Cloud Foundry Platform

Cloud Foundry PaaS: Maak ontwikkelaars blij!

Security Connectiviteit

Schaalbaarheid

Monitoring

Beschikbaarheid

Multi-tenancy

Integratie

Runtime environment

Code build Code deployment

Code dependencies

LoggingAutorisatie

Self service

CF Platform

Ontwikkelaar

Page 6: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

6 Cloud Foundry Platform

I don’t care what

1. Kies een taal…

Name Supported Languages, Frameworks, and Technologies

Binary Compiled code

Go Go

Java Grails, Play, Spring, or any other JVM-based language or framework

.NET Core .NET Core

.NET Full .NET (Windows 2012 → Windows 2016 cells)

Node.js Node or JavaScript

PHP Cake, Symfony, Zend, Nginx, or HTTPD

Python Django or Flask

Ruby Ruby, JRuby, Rack, Rails, or Sinatra

Staticfile HTML, CSS, JavaScript, or Nginx

Custom -Supported

Mendix Modelleertaal

Custom – notsupported

Any other ☺ Support op buildpack CF zelf regelen!

Page 7: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

7 Cloud Foundry Platform

I don’t care how

2. Bouw een applicatie… 3. En run ‘m!

RUNI don’t

care how…

Page 8: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

8 Cloud Foundry Platform

Optimaliseren

Om optimaal van het Cloud Foundry platform te

kunnen profiteren:

- Cloud Native: ‘12 factor’ applicatie

ontwikkeling

- Belangrijksten: Stateless &

Build for failure!

http://www.clearlytech.com/2014/01/04/12-factor-

apps-plain-english/

Cloud Native Build

Page 9: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

9 Cloud Foundry Platform

…dan ongekende mogelijkheden

• Mogelijkheid creëren eigen tenant (ORG)→eigen secure ontwikkelomgeving

• Integratie met RWS systemen (DB’s, Storage, Sharepoint, AD, etc.) → eenvoudig via servicebrokers

• On demand push naar Test, Acceptatie en Productie→ T, A en P echt volledig identiek

• Pipelined Continuous Integration / Continuous Delivery→ voorkom fouten en deploy sneller!

Het platform biedt: • Auto-healing • Auto-scaling • (near) Zero

downtime!

Page 10: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

10 Cloud Foundry Platform

Er was eens…

2016 Cloud Foundry platform wint zeer snel aan populariteit

Begin 2017 PoC status Cloud Foundry onhoudbaar geworden, moet naar standaard (en beheerde!) dienstverlening worden omgezet

2017 Beheerteam uitgebreid naar 4 FTE (intern RWS!)Gecontroleerd upgraderegime buiten kantooruren

Monitoring!

2014-2015 Behoefte aan platform waarmee snel apps kunnen worden ontwikkeld: sneller functionaliteit naar business

Begin 2015 Introductie low code platform

2015 Snelle applicatie-ontwikkeling is een feit, maar…Deployments in de OTAP-straat nog steeds ‘klassiek’ traag→ zoektocht naar oplossing

Eind 2015 Introductie Platform-as-a-Service op basis vanPoC omgeving wordt opgezet……binnen 1 maand na start PCF eerste applicatie live!

Page 11: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

11 Cloud Foundry Platform

‘Ketendashboard’

Page 12: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

12 Cloud Foundry Platform

PaaS tenzij @RWS

Page 13: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

13 Cloud Foundry Platform

Er was eens…

2018 Inzet op vergaande automatisering beheer

April 2018 Major upgrade tijdens kantooruren: klaar voor 7x24 operatieDagelijks volledig automatische patches en minor upgrades

Mei 2018 Alle repeterende beheertaken geautomatiseerd

2014-2015 Behoefte aan platform waarmee snel apps kunnen worden ontwikkeld: sneller functionaliteit naar business

Begin 2015 Introductie low code platform

2015 Snelle applicatie-ontwikkeling is een feit, maar…Deployments in de OTAP-straat nog steeds ‘klassiek’ traag→ zoektocht naar oplossing

Eind 2015 Introductie Platform-as-a-Service op basis vanPoC omgeving wordt opgezet……binnen 1 maand na start PCF eerste applicatie live!

2016 Cloud Foundry platform wint zeer snel aan populariteit

Begin 2017 PoC status Cloud Foundry onhoudbaar geworden, moet naar tandaard (en beheerde!) dienstverlening worden omgezet

2017 Beheerteam uitgebreid naar 4 FTE (intern RWS!)Gecontroleerd upgraderegime buiten kantoorurenMonitoring!

Page 14: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

14 Cloud Foundry Platform

Automatisering beheer Concourse CI/CD

Page 15: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

15 Cloud Foundry Platform

Roadmap en strategie

Eind 2018 Opbouw Cloud Foundry installatie in 2e datacenter Failover voor Missie Kritieke Systemen: o.a. Landelijk Meetnet Water

Begin 2019 …introductie Container-as-a-Service:

Page 16: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

16 Cloud Foundry Platform

PaaS tenzij… …blijft de strategie!

Page 17: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

17 Cloud Foundry Platform

PaaS tenzij… …PKS als tussenstap

Page 18: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

18 Cloud Foundry Platform

…en leefden ze allemaal nog lang en gelukkig?

PaaS / Cloud Foundry is niet de heilige graal

maar het zorgt wél voor het (veel) lean(er) en wendbaarder maken van IT,

van DEV tot aan OPS!

Page 19: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

19 Cloud Foundry Platform

Rondvraag

Page 20: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

20 Cloud Foundry Platform

BACKUP SLIDES

Page 21: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

21 Cloud Foundry Platform

Monitoring KPI’s

Page 22: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

22 Cloud Foundry Platform

Workshop

Page 23: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

23 Cloud Foundry Platform

Overview Cloud Foundry platform

Page 24: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

24 Cloud Foundry Platform

Wat gebeurt er bij een cf push?

Page 25: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

25 Cloud Foundry Platform

Wat gebeurt er bij een cf push?

Page 26: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

26 Cloud Foundry Platform

Wat gebeurt er bij een cf push?

Page 27: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

27 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Evacueren!

Page 28: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

28 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 29: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

29 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 30: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

30 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 31: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

31 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 32: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

32 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 33: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

33 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 34: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

34 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 35: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

35 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 36: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

36 Cloud Foundry Platform

Wat gebeurt er bij een major upgrade

Page 37: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

37 Cloud Foundry Platform

DEMO

Page 38: Cloud Foundry algemeen - ITQ...Python Django or Flask Ruby Ruby, JRuby, Rack, Rails, or Sinatra Staticfile HTML, CSS, JavaScript, or Nginx Custom - Supported Mendix Modelleertaal Custom

Rijkswaterstaat

38 Cloud Foundry Platform

Rondvraag