Software Development Done Right. Continuous Delivery. Bas Tichelaar

Vergelijkbare documenten
Adding value to test tooling

Adding value to test tooling

CONTAINERIZATION OF APPLICATIONS WITH MICROSOFT AZURE PAAS SERVICES

Continuous testing in DevOps met Test Automation

De kracht van de blueprint Het middelpunt van het Software Defined Data Center

Een infra DevOps CI/CD straat

Continuous Testing? FITR testautomatisering! Bas Dijkstra

Testen als continuous enabler

Van 6 weken naar 6 minuten. met. OpenSource. Jan-Taeke Schuilenga Infrastructuur Architect Jantaeke.schuilenga@duo.nl

Continuous Delivery. Sander Aernouts

Onder de motorkap van Microsoft Azure Web Sites. Eelco Koster Software architect ORDINA

DEVOPS kickstarter. van idee naar productie in Azure! 1 / 21

CI CD met containers. Waar zitten de benefits. Leo Root Programmamanager SSC-I Stavorenweg PT Gouda

Applicatieplatformstrategie Rijkswaterstaat

Adding value to test tooling Hoe en waarom DevOps de wereld van performance testen verandert

Te hoog gemikte silver bullets missen doel Te hoog gemikte silver bullets missen doel

APPLICATION CONTINUITY ARCHITECTURE

DevSecOps Een buzzword of toch een noodzakelijke stap richting Secure DevOps?

End-to-End testen: de laatste horde

CLOUDSTRATEGIE. voor Stedin Netbeheer. v1.0 26/03/2019

DevOps Waarom moeilijk doen 31 oktober als het samen kan

IT Galaxy 2018 ON THE RIGHT TRACK ON THE RIGHT TRACK #PQRITG18 #PQRITG18

Service

vra + NSX and it all comes together

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo

Help je Power BI Analytics project om zeep 6 succesfactoren. Marc Wijnberg Gebruikersdag 2018

Deployment met PowerShell DSC. 20 september 2017 EIC B.V.

Het verleden, het heden en de toekomst van testverbetering

Continuous a continuous improvement story

Releasen met een druk op de knop: Met behulp van Continuous Delivery sneller uw doel bereiken

Joop Cornelissen BMC Klantendag Professionaliseren dienstverlening CMS

Data Driven: Show & tell

WAAROM MOEILIJK DOEN ALS HET SAMEN KAN

JOB OPENING DEVOPS ENGINEER

noun a person employed in a port to load and unload ships.

WAT BETEKENT BUSINESS AGILITY VOOR UW ONTWIKKELSTRAAT? SAMENVATTING BUSINESS AGILITY ITERATIEVE AANPAK ONTWIKKELSTRAAT

Testautomatisering werkt niet bij Continuous Delivery en DevOps

Privacy by Design & SIDN samen op weg naar: Garantie op stabiliteit van de IRMA backbone

Marc Koper/ Bas M. Dam A Tool with a Fool is only a tool Voorjaarsevent Testnet: 30 juni 2008

Cloud werkplek anno Cloud werkplek anno 2014

GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE

Factsheet E COMMERCE BEHEER Managed Services

Agile Testen in de praktijk

De projectmanager. en zelforganiserende teams

Specification by Example. Fitnesse in een ETL omgeving

Agenda. Introductie Aan het werk Conclusie / restrospective

DATAMANAGEMENT MET OPEN SOURCE

Enterprise Open Source. Business case. Power to Innovate

Model driven Application Delivery

Proactief monitoring en beheer van Oracle Fusion Middleware

ArchiMate. en Configuration Management Databases (CMDB s)

Droom of werkelijkheid? Integratie VMware NSX en F5 zorgt voor effectieve uitrol van applicaties.

Hoe start ik een test competence center of excellence? Thomas Veltman

Transitie in beeld Agile & DevOps. Presentatie voor functioneel beheerders

BRAIN FORCE THE JOURNEY TO THE CLOUD. Ron Vermeulen Enterprise Consultant

SURFcumulus. Informatiebijeenkomst 16 maart 2017

kubernetes It compiles, ship it! Oscar Buse 13 februari 2018 Linux User Group Nijmegen

Praktijkcasus Identity management. Bert Dondertman 14 september 2010

Factsheet CMS & DIGITAL MARKETING BEHEER Managed Services

Geboortedatum: 24 november 1985 Burgerlijke staat: Ongehuwd Nationaliteit: Nederlandse Rijbewijs:

Van Virtualisatie naar Cloud Computing De roadmap voor de toekomst?

SURFcumulus. 20 september 2016

Preventing Anti-Patterns for Agile Testing

Business Process Management

Enable all people to travel by plane

DRIVEN BY AMBITION SUCCESVOL EXACT IMPLEMENTEREN IN DE PRIVATE CLOUD

TFS als perfecte tool voor Scrum

TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010

Virtuele Netwerk Functies

een nieuwe manier voor het bouwen, inpakken en uitrollen van applicaties

Beveiligingsbeleid. Online platform Perflectie

Van testproces tot testvak... en verder

Requirements Traceability. Marcel de Baas, Jan Bank, Edwin Buisman, Frits Jacobs, Kitty Spaas, Erik Venema, Arno Zandman

Beveiligingsbeleid Perflectie. Architectuur & Procedures

JOB OPENING OPS ENGINEER

Ubuntu Release Party XTG 11/23/12 1

Integrated Delivery. Hoe Solvinity software ontwikkeling verbetert en versnelt

Radicale versnelling van het software voortbrengingsproces door middel van Continuous Delivery

Performance testen in de keten

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

ICT: HOOFDROLSPELER OF BACKSTAGE ASSISTANT? Steven Van Uffelen INCA Networks NV

Welkom. Great SAP Test Experience. 23 maart 2015

Maak Software Schaalbaar Met Microservices

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau

Mobile Devices, Applications and Data

Agile & Rijkswaterstaat. 23 maart 2017

enterprise; development; operations; CA Technologies; DevOps; management; agility; software delivery life cycle; SDLC; CA

Test rapportage Waarom eigenlijk?

Creeër test awareness in een grote organisatie: een cultuur wijziging Jeroen Rosink

Bescherming van (software) IP bij uitbesteding van productie

EXIN WORKFORCE READINESS werkgever

Wees in control over uw digitale landschap

Continuous Requirements Engineering

Transcriptie:

Software Development Done Right Continuous Delivery Bas Tichelaar 1

Over mij Senior Consultant at Xebia Architect at Wehkamp Contact btichelaar@xebia.com bastichelaar bastichelaar 2

Continuous Delivery? Quiz 3

Wie doet het al? Geautomatiseerd een server uitrollen Geautomatiseerd een complete omgeving uitrollen Met 1 druk op de knop Binnen een half uur Zelfstandig door teams dmv self-service 4

Wie doet het al? Alle code zit in versiebeheer Alle gepushte code wordt automatisch getest Alle geteste code wordt automatisch geversioneerd en gepackaged Push van code leidt automatisch tot deployment Push van code leidt automatisch tot deployment in productie 5

Continuous Delivery is hetzelfde als Continuous Integration is hetzelfde als Continuous Deployment is een technologische oplossing lost alle problemen op kan niet zonder Agile is heel moeilijk 6

Continuous Delivery principes Automatiseer alles Als het pijn doet, doe het vaker Done is live Bouw kwaliteit in Continue verbetering Het team is verantwoordelijk 7

Continuous Delivery onderdelen Automated provisioning Automated deployment Continuous integration Automated testing 8

Continuous Delivery Automated provisioning Automated deployment Continuous integration Automated testing 9

Automated Provisioning Geconfigureerde servers Applicatie Inclusief middleware Inclusief database Gekoppeld aan monitoring, loadbalancers en andere systemen Middleware OS Half fabricaten! VM 10

Continuous Delivery Automated provisioning Automated deployment Continuous integration Automated testing 11

Automated Deployment Plaatst de applicatie op de servers Applicatie Zet de applicatie aan Configureert de load balancers Middleware Smoke test: werkt de applicatie? OS VM 12

Continuous Delivery Automated provisioning Automated deployment Continuous integration Automated testing 13

Continuous Integration Integreert code in een gedeelde repository Draait de unit tests Bouwt de code Triggered de volgende stap bij succes Stopt bij fout en notificeert ontwikkelaars 14

Continuous Delivery Automated provisioning Automated deployment Continuous integration Automated testing 15

Automated Testing Unit tests Integratie tests Performance tests Acceptatie tests 16

Continuous Delivery Maturity Model Continuous Integration Automated Deployment Test Automation Automated Provisioning Architecture Agile Continuous Delivery Level 5 Expert Automated feature driven delivery Deployment automated for advanced feature go live scenarios Teams have adopted business driven, feature based advanced test capabilities PaaS is innovation accelerator Teams are free to accelerate and innovate without constraints Continuous optimization Level 4 Advanced Pipeline enabled for delivery validation End-to-end AD, including most Infrastructure components Teams apply test automation for non functional requirements PaaS with on - demand environments Supports feature driven delivery and evaluation DevOps Level 3 Average Single build for all environments Standardized deployments for all environments Test Driven Development / Behaviour Driven Development Systems are delivered within one day, using self-service tools Supports autonomous delivery Predictable outcomes Level 2 Basic End-to-end build and packaging from Continuous Integration server Automated Deployment for application binaries, configuration and data Automated feature tests and stakeholder demo s Systems are as similar as possible Feature delivery in small iterations Continuous Delivery principles are applied regularly Level 1 Beginner Central build server and version control system Automated Deployment for application binaries (code) Static code analysis and automated unit tests Basic provisioning Continuous Delivery compliant application architecture Continuous Delivery principles are applied ad-hoc Level 0 Not started Limited central Continuous Integration capabilities No deployment automation No test automation No provisioning, (partially) manual process Technical issues prevent increasing release frequency Continuous Delivery principles are not applied v1.1

Continuous Delivery transformatie Real life example 18

Context Grote hypotheken verstrekker Continuous Delivery transformatie Agile transformatie 1 jaar 4 CD consultants 19

Doelstellingen project Nieuwe omgeving binnen 30 minuten Software gebouwd en gedeployed binnen 1 uur 70% van nieuwe code automatisch getest 20

Aanpak Multidisciplinair team: kernteam vanuit klant - Alle disciplines vertegenwoordigd: - beheer - ontwikkeling - test - release management - Klant ontwikkelt zelf de kennis 21

Applicatie landschap Java: - JBoss - Maven Microsoft: -.NET - Powershell - Appfabric Uniface 22

Waarom automated provisioning? Aanmaken testomgeving duurde enkele weken Veel operationeel (handmatig) werk - Geen tijd meer om te innoveren Loketten == wachttijd Testomgevingen waren niet gelijk, en bevatten fouten 23

Maar wat is een testomgeving? Geconfigureerde servers - Loadbalancers? - Monitoring? Een werkende applicatie Een TE01/TE02/TE03 Definities zijn belangrijk! 24

Acties provisioning Automatiseer alles! Zet alles in versiebeheer, ook infrastructuur code Maak omgevingen identiek Bied een self-service portal (of nog beter: een API) 25

Automated Provisioning: tools Orchestratie: XL Release Configuratie management: Microsoft DSC Scripting taal: Powershell 4 Logging en monitoring: Logstash en Kibana Versiebeheer: SVN 26

Automated Provisioning Databases XL Release Microsoft DSC Servers Logstash/Kibana Loadbalancers 27

Maar alleen techniek is niet genoeg Loketten => wachttijd! Handmatige stappen: nog steeds human error! Wie is verantwoordelijk voor wat? Wie gaat de pipeline beheren? 28

Optimaliseer het proces Elimineer loketten door automatisering Elimineer handmatige overdracht Neem mensen stap voor stap mee in de reis Communicatie! 29

XL Release 30

Buildmonitor 31

Uitdagingen Dit is niet te automatiseren Dit gaat nooit werken Kennis van Continuous Delivery buiten kernteam Aanhaken business: Product Owners! Continuous Delivery is geen project! Continuous Delivery gaat verder dan techniek! 32

Lessons learned Eerste stap: huidige proces modelleren in XL Release Handmatige stappen één voor één automatiseren Stabiele infrastructuur vereiste! Neem de organisatie mee 33

Resultaat Doelstellingen gehaald Stabielere, gelijke omgevingen Mindset verandering - automatiseer alles - root cause analysis - continuous improvement 34

Toekomst Nu: vast aantal omgevingen, toekomst: omgeving on demand Elastische infrastructuur: scale on demand (cloudbursting) Experimenteren: nieuwe omgeving is zo aangemaakt Containers, containers, containers! - Docker on Windows + 35

Nauts Datacenter Automation Experts Containers, containers, containers! Technologie: - Docker - Mesos - Kubernetes - CoreOS - Service Discovery Check http://nauts.io 36

De container Applicatie Middleware 37

Old-school Continuous Delivery integratie bouw test deploy Code Continuous Delivery pipeline Middleware Servers 38

Containers??? Code integratie bouw containerize test Continuous Delivery pipeline Docker Hub Base container Cloud Generieke infra 39

Voordelen Code & Middleware samen in 1 container - Als geheel getest en gedeployed Test je infrastructuur! Start in milliseconden: scale on demand Minder overhead dan VM s Portabiliteit - Voorlopig alleen op Linux 40

Work to be done Data en databases? Orchestratie? Security? Hoe richt je je organisatie in? Teveel open source projecten: - https://www.mindmeister.com/nl/389671722/docker-ecosystem 41

Bedankt! Vragen? btichelaar@xebia.com 42