DevOps. Jef De Smedt ẞeta VZW

Vergelijkbare documenten
Continuous testing in DevOps met Test Automation

Een infra DevOps CI/CD straat

Adding value to test tooling

Adding value to test tooling

WAAROM MOEILIJK DOEN ALS HET SAMEN KAN

Continuous Delivery. Sander Aernouts

TFS als perfecte tool voor Scrum

Software Development Done Right. Continuous Delivery. Bas Tichelaar

Testen als continuous enabler

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

Kwaliteit en Testen binnen Agile Project Management volgens Scrum bij Planon. David Griffioen 11 april 2006

Applicatieplatformstrategie Rijkswaterstaat

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

Do you recognize this?

CONTAINERIZATION OF APPLICATIONS WITH MICROSOFT AZURE PAAS SERVICES

JOB OPENING DEVOPS ENGINEER

DevOps Waarom moeilijk doen 31 oktober als het samen kan

APPLICATION CONTINUITY ARCHITECTURE

Model driven Application Delivery

13/07/2012. Op naar Product Quality Monitoring René Tuinhout. Agenda. Tijdsindeling. K o f f i e p a u z e. TestNet Summerschool, juni 2012

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

Past het testvak nog in de nieuwe IT-wereld?

DOCKER & CONFIGURATIEMANAGEMENT. Docker Meetup

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

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo

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

Ralph van Roosmalen Automatisch testen Theorie en de praktijk

Product Quality Management, onze toekomst René Tuinhout

Resultaat gerichter Testen

Transitie in beeld Agile & DevOps. Presentatie voor functioneel beheerders

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

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

SIAM in de praktijk 1

End-to-End testen: de laatste horde

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

Medicatie controle. Mobiele app op basis van App Service en Azure AD

VALUE ENGINEERING: THE H E G A G ME! E

Reports of my death are greatly exaggerated

Enterprisearchitectuur

General info on using shopping carts with Ingenico epayments

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Agile Marke+ng. Adrie Dolman MSc

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

Ervaringen met het opzetten van een MDD omgeving

Agile Project Management volgens Scrum. David Griffioen 21 mei 2007

TESTEN % ITIL & ASL & BISL WAT HEEFT EEN TESTER AAN ITIL? EEN PRAKTISCH HULPMIDDEL OF BUREAUCRATISCHE BALLAST?

Tester, hoe word jij geschikt voor de toekomst?

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

DATAMANAGEMENT MET OPEN SOURCE

IIA Congres Assurance of Agility

Testautomatisering werkt niet bij Continuous Delivery en DevOps

PLM & CAD Consultancy

Stephanie van Dijck De integrale aanpak maakt complexiteit hanteerbaar

Welke standaard is het beste? 4 december 2008, Bianca Scholten, bianca.scholten@task24.nl, tel

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

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

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

Testen binnen agile methoden Anko Tijman

Scaled agile bij APG (GPS)

Pair Testen. Het verbeteren van je test kennis met anderen. Peter

CONTAINERISATIE EN APPLICATIE- BEHEER

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Info Support TechTalks

Software Configuration Management Plan

3HUIRUPDQFH0HDVXUHPHQW RI'\QDPLFDOO\&RPSLOHG -DYD([HFXWLRQV

Het verleden, het heden en de toekomst van testverbetering

Software Test Plan. Yannick Verschueren

Continuous a continuous improvement story

Software Project Management Plan for WiseLib

DRIVEN BY AMBITION WOENSDAG 11 MEI INN STYLE, MAARSSEN

The Control Room of the Future

Welkom. Christophe Limpens. Solution Consultancy Manager

Heeft u al applicaties in de cloud (zoals AWS, Azure, Google) draaien?

JOB OPENING OPS ENGINEER

Service

Agenda. 1. Introductie CIBER. 2. Visie Cloud Services. 4. Hoe kan CIBER hepen. 2 Titel van de presentatie

Visie document software releasen Introductie. Pre conditie

Ervaringen met Agile Software Development volgens SCRUM

Build Automation met Hudson

Mobile Devices, Applications and Data

Data Driven Strategy The New Oil Using Innovative Business Models to Turn Data Into Profit

Agile Beheer: Mythe of werkelijkheid? Odile Moreau BlinkLane Consulting NIOC Arnhem, 5 april 2013

Industrie 4.0 /Industrial IoT: de praktijk aan de hand van case studies en referenties

Overdracht van project naar beheer. Beheer is ook Agile!

[ ] OVER ASCOM HARRY WASSENS, SALES DIRECTOR. Over Ascom Harry Wassens Ascom (Nederland) B.V.

Value based healthcare door een quality improvement bril

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

Enable all people to travel by plane

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

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R

Opleiding PECB ISO 9001 Quality Manager.

De Agile Analist. Henk Jan Huizer

BCM en de Cloud. CSA-nl 10 april 2012 André Koot

DevOps. optimaliseren van softwareontwikkeling

LCA, wat kan je er mee. Sustainability consultant sustainability.com

Transcriptie:

DevOps Jef De Smedt ẞeta VZW

Beta VZW Opleidingen werkzoekenden sinds 1993 Opleidingen werknemers ism Cevora sinds 2001 Cursusuren 9:00-12:30 13:00 16:30 Cevora: zie presentatie

Kennismaking Naam Bedrijf(naam + activiteiten) Functie Ervaring met development, operations, devops Verwachtingen

Doelgroep Dev Ops

Cargo Cult

Overzicht Inleiding Evoluties in software productie Concepten en termen Wat is DevOps Overzicht tools

Definities Devops is a cultural movement that changes how individuals think about their work, values the diversity of work done, supports intentional processes that accelerate the rate by which businesses realize value, and measures the effect of social and technical change. Jennifer Davis, Katherine Daniels Effective Devops

Definities DevOps (a clipped compound of development and operations) is a term used to refer to a set of practices that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. Wikipedia

Vacatures Devops Engineer Ervaring met Puppet, Script- en automatiseringservaring met PHP, Python, Shell, Ervaring met Linux/BSD-systeembeheer Devopsy disciplines: Continuous Integration, Continuous deployment, Infrastructure as code deployment & automation engineer, helpt de ontwikkelteams in taken zoals release branching, build configuraties, deployments, automatiseert zoveel als mogelijk d.m.v. bash scripting / Jenkins / Amazon Opsworks,

Software ontwikkeling Programcode.wikidot.com

10+ deploys Per Day: Dev and Ops Cooperation at Flickr (Velocity conference, 2009)

En in 2016

Gartner hype cycle Jeremykemp at English Wikipedia [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

Development Operations Nerd Little bit weird Thinks all the time Sits closer to the boss Bastard operator from Hell Pulls levers and turns knobs Easily excited Yells a lot in emergencies Mr. Spock: By NBC Television (ebay item photo front photo back press release) [Public domain], via Wikimedia Commons Mr. Scott: By NBC Television (ebay item photo front photo back) [Public domain], via Wikimedia Commons

Evolutie van software productie Waterval model

Evolutie van software productie: ITIL By Annant2015 (Own work) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons

Evolutie van software productie: Scrum Scrum is één van de technieken die deel kunnen uitmaken van Agile Software development By Lakeworks (Own work) [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC BY-SA 4.0-3.0-2.5-2.0-1.0 (http://creativecommons.org/licenses/by-sa/4.0-3.0-2.5-2.0-1.0)], via Wikimedia Commons

Evolutie van software productie: Lean Eliminate waste Amplify learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in See the whole Half afgewerkt werk Onnodige features Opnieuw dingen moeten leren Onnodige overdrachten tussen afdelingen Task switching Vertragingen Fouten Mary & Thomas Poppendieck Mustafasari from tr [GFDL (http://www.gnu.org/copyleft/fdl.html), GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons

The three ways Systems thinking: flow Amplify feedback Culture of Continual experimentation and learning

Flow Dev Ops

Feedback Dev Ops

Experiment Dev Ops

CAMS Culture Automation Measurement Sharing

Concepten en termen (pag 10) (Dev) Versiecontrole Test Driven development Application Deployment Continuous Integration Continuous Delivery Continuous Deployment

Concepten en termen(pag 11) (Ops) Configuration Management Cloud Computing Infrastructure Automation Artefact beheer Containers

En dan devops Code Build Integrate Test Release Deploy Operate Agile Continuous Integration Continuous Delivery Continuous Deployment DevOps

Foute ideeën over DevOps DevOps gaat alleen over de samenwerking tussen ontwikkelaars en systeembeheerders Er is een DevOps team Er zijn DevOps ingenieurs er is maar één manier om aan DevOps te doen DevOps gaat over tools/automation

De vier pijlers van DevOps Devops Collaboration Affinity Tools Scaling

De vier pijlers van DevOps Devops Tools Collaboration Affinity Scaling

De vier pijlers van DevOps Collaboration Affinity Scaling

Tools: alles is code Continuous Delivery Source code control Code building tools Code testing Deployment Monitoring Issues tracking

Continuous delivery: build Developers Versiebeheer Buildserver Artefact repository Ontwikkelen in een omgeving die zoveel mogelijk op productie lijkt + deployment servers Bewaren van code Maar ook bewaren van configuraties van servers Continuous integration: Wijziging van code => code kopiëren, compileren, testen Bewaren van resultaat van builds + versie informatie + resultaat van package managers

Continuous delivery: test en productie tester Test server Staging server Production server Integratie testen, performance testen Test omgeving moet zoveel mogelijk lijken op productie. Krijgen code van artefact repository Laatste stap voor productie. Kopie van productieserver In het ideale geval vervangen we de productie servers door een staging server

Continuous integration Single source repository Automate the build Make build self testing Everyone commits to the mainline every day Every commit builds the mainline on an integration machine Keep the build fast Make it easy for everyone to get the latest executable Make sure everyone can see what is happening Test in a clone of the production environment Automate deployment

Continuous delivery doesn t mean every change is deployed to production ASAP. It means every change is proven to be deployable at any time. Carl Caum Tweet 2013

Software architectuur Architectuur moet kleine veranderingen mogelijk maken Principe separation of concerns (modulair) Weinig coupling, veel cohesion tussen modules Tier architectuur: presentation, application, data access Tegenwoordig ook dikwijls micro services waarbij de verschillende lagen uitgesplitst zijn in kleinere services Ook de testability van code is tegenwoordig belangrijk om automatische testing mogelijk te maken (test driven devel helpt)

Everything is code Devs schrijven code (dat is dus zeker code) Ops schrijven in een devops omgeving ook code: alle configuratie moet uitgedrukt worden in code (niets meer op papier of in de hoofden) Elke wijziging in de configuratie moet gebeuren via code => niemand mag aanloggen op een server om het risico van wijzigingen buiten het configuratiemanagement systeem te vermijden. => versiebeheer van code is heel belangrijk Controle over wat wordt aanvaard: via pull requests

Source code control: git flow

Versies: semver.org Elke artefact moet een versienummer hebben Een versienummer bestaat uit: Major: nieuw nummer => grote veranderingen in code Minor: nieuw nummer => backward compatible (geen veranderingen in interface) Bug fix: nieuw nummer => bug fix die wordt uitgebracht, geen wijziging in functionaliteit Build: nieuw nummer => nieuwe build

Code building Code compileren Linting Unit testing Generatie van artefacten voor deployment Tools: Make (C, C++) Maven, ant (Java) Grunt (JavaScript) MSBuild (.Net) Build server: Jenkins (opvolger van Hudson), Travis CI, Buildbot, Go, Gitlab Resultaat is een package:.ear/war/jar(java),.rpm(red hat),.deb (debian),.msi(windows),.dmg(apple)

Code building: dependencies Afhankelijk van Artefacts zijn afhankelijk van ander artefacts, meer nog: van een bepaalde versie van een artefact artefact1 artefact2 We kunnen alle artefacten (+ hun versies) bewaren in de repository Tools zoals maven(java), grunt(javascript), nuget(.net) kunnen informatie uit een repository halen Artefact2 V1 artefact3 Artefact2 V2

Continuous integration De bedoeling van integration is dat alle code(en configuratie) wordt samengevoegd tot één geheel. Een integratie wordt automatisch gebuild en wordt vervolgens getest (regression testing, manuele testing) Wanneer integrations te ver van elkaar liggen, loopt men het risico dat er grote discrepanties optreden die moeilijk op te lossen zijn Soms is er een mentale barrière bij developers om hun code te laten integreren. In een Devops omgeving moet code integreren even natuurlijk zijn als code builden (opleiding: bij Etsy deployen nieuwe medewerkers al op de eerste dag code in productie)

Code quality Unit tests kunnen automatisch uitgevoerd worden na een succesvolle build Maar we kunnen ook de kwaliteit van software laten testen (meestal via nightly builds omdat het toch meer resources vraagt) Via een dashboard kunnen mensen op de hoogte worden gehouden van de kwaliteit

Configuration management tools Chef Puppet Ansible SaltStack Cloudformation Terraform Code Open Source Open Source Open Source Open Source Closed Source Open Source Cloud All All All All Alleen AWS All Type Config Mgmt Config Mgmt Config Mgmt Config Mgmt Orchestration Orchestration Infrastructure Mutable Mutable Mutable Mutable Immutable Immutable Language Procedural Declarative Procedural Declarative Declarative Declarative Architecture Client/Server Client/Server Client only Client/Server Client only Client only