belgisch devops center voor native cloud...globaal agile/devops raamwerk integratie van agile,...
TRANSCRIPT
Belgisch DevOps center voor Native Cloud
05/09/2019
Click to edit Master subtitle style
Wat is DevOps?
Een fundamenteel andere manier om toepassingen te ontwikkelen
en te exploiteren
Met als hoofddoel nieuwefunctionaliteit sneller aan de
gebruikers aan te bieden
DevOps – wat verandert er?
• Ontwikkeling en inproductiestelling gebeurt op een Agile manierProcessen
• De ‘end-to-end’ levenscyclus is grotendeels geautomatiseerdTools• Geen silo’s & ‘fabrieken’
• Nauwe samenwerking en gezamenlijkeverantwoordelijkheid voor project- en exploitatiefases: toepassings-, infrastructuur-, ontwikkelings- en exploitatie-experten in 1 team
Organisatie
Verandering in Processen en in OrganisatieVan Waterval over Agile naar DevOps
Wat
erva
lA
gile
Dev
Op
s
Dev Test OpsBusiness
VereistenDesign, Bouwen Unit Test
Kwaliteitsverzekering
Release en Exploitatie
TestDevBusiness
Design, Bouw en Unit Test
Kwaliteitsverzekering
0 1 2 3 4 5 … nIteraties
Ops
Release en Exploitatie
Business + Dev + Ops + Test
De uitdagingen onderweg…
• Teams starten met een verschillend maturiteitsniveau
• Hebben dezelfde of verschillende uitdagingen
• Kunnen op verschillende snelheden vooruitgaan
Van Waterval naar Agile…
• Verlagen van de release-tijden / -cycli
• Betere afstemming tussen gebruikers en IT-teams
• Vereist ook “agility” van de gebruikers – ook de processenvan de gebruikers-teams dienen aangepast
De doelstellingen
• Meer frequente in-productiestelling van nieuwefunctionalilteit
• Betere kwaliteit van code, minder herwerken
• Verbeterde transparantie en feedback
Processen
Tools
Organisatie
DevOps terminologie & domeinen van automatisatie
Bouw Test PubliceerDeploy naar
TestValideerDeploy
Promoveernaar productie
Continuous Integration
Continuous Delivery
Continuous Deployment
Continuous Integration
• Automatisch bouwen en testen van code
Continuous Delivery
• Automatisch bouwen en testen van code. Ingeval de test succesvol is, maak de toepassing beschikbaar voor“deployments”, definieer de (automatische) kwaliteits-en veiligheidstesten, “deploy” naar een test omgeving, en valideer of deze “deployment” succesvol was.
Continuous Deployment
• Automatisch bouwen en testen van code. Ingeval de test succesvol is, maak de toepassing beschikbaar voor“deployments”, definieer de (automatische) kwaliteits-en veiligheidstesten “deploy” naar een test omgeving, en valideer of deze “deployment” succesvol was. Ingeval de “test deployment” succesvol is, promoveer de toepassing naar productie.
Processen
Tools
Organisatie
DevOps ‘Pipeline’ of ‘Straat’
• Het geheel van stappen (fases) die we als organisatie wensente nemen vanaf de definitie van nieuwe functionaliteit, tot de inproductiestelling en exploitatie ervan
• Kan verschillen van organisatie tot organisatie, en van projecttot project
• Beoordelen welke stappen we wensen te automatiseren, en welke een manuele (menselijke) controle of interventievereisen
Processen
Tools
Organisatie
Waarde Stroom AnalyseVereist om waarde uit DevOps te halen
• Een relatief eenvoudige “lean” techniek om een proces in kaart te brengen
• Verspillingen in het proces identificeren
• Is startpunt om procesverbeteringen inzichtelijk te maken met controle op impact op het volledige end-to-end proces– Voorkomt sub optimalisaties
• Van huidige situatie naar gewenste situatie
• DevOps: – WSA toepassen op het hele proces van “idee voor een nieuwe
functionaliteit” tot “functionaliteit is beschikbaar voor gebruikers in de productieomgeving"
– Hiermee DevOps verbetertraject bepalen
Processen
Tools
Organisatie
Automatisatie – voorbeeld Tooling
MS BuildNUnit
Microsoft Application InsightsToolchain
Componenten
Doelomgeving• Infrastructure as Code
• Hybriede Cloud & Cloud Bursting
• Meerdere Availability Zones & DR
• Load Balancing & Routing
• Storage Diensten
• Network / VPN Beheer
• Database Diensten
P U B L I E K E C L O U D P R I V A T E O M G E V I N G E N C O N T A I N E R D I E N S T E N
Open Stack
Virtualization
Docker Swarm
Exploitatie monitoring: incidenten en performantie
Provisioneer en configureerinfrastructuur; finale configuratie van de toepassing
Release Coordinatie, Deployment, Fallback / recovery
Package Configuratie, Staging, en Initieer de Release
Acceptatie, Veiligheid & Configuratie Testing
Design & Bouw SoftwarePlan de Release & Definieer“User Stories”
ConfigureerDeployPackageTESTOntwikkelPlan Test Exploiteer
Processen
Tools
Organisatie
DXC Lambda
Vandaag
• Gebruikt om toepassingen naar DXC VPC te deployen
• Klaar voor ‘traditionele’ deployments in Amazon (EC2)
Toekomst
• Open voor nieuwe technologieën zoals containers en serverless, ingeval Vo klantendeze wens zouden hebben
Globaal Agile/DevOps raamwerkIntegratie van Agile, DevOps (CI/CD) en ITIL standaarden
• ITIL concepten blijvenbehouden in DevOps
• Sterker nog, de nieuwe versievan ITIL (ITIL V4) werdgrotendeels uitgebracht om Agile, Lean en DevOps teintegreren
• Een stevige operationeleomgeving blijft nodig
• DevOps voorziet in eencontinue evaluatie en verbetering, ook van operationele processen
Platform DXC (PDXC): een HB+ differentiator• Platform DXC is een investering van DXC wereldwijd
• Een set van DevOps tools (voor automatisatie & DevOpsprocesbeheer), klaar voor gebruik; alsook bibliotheken met (voorbeeld) code
o Op een DXC Private Cloud in AWS
o Geëxploiteerd en beheerd door DXC wereldwijd
• Gratis ter beschikking van DXC medewerkers
• Beperking: enkel toegankelijk voor mensen met een DXC badge
• VO klanten die actief operationeel willen meewerken in de projecten, dienen een eigen DevOps toolset omgeving op te zetten
• Anderzijds: alle gebruikte tools zijn ‘Open Tools’, en alle artefacten(documentatie, broncode, runtimes, enz.) kunnen steedsgeëxporteerd worden
Platform DXC
DevOpsDemo’s &
Prototypes
HerbruikbareCode & Scripts
WereldwijdeKennis
Databank(> 26.000 projecten)
DevOps vs Publieke Cloud
• Toepassingen ontwikkeld en geëxploiteerd op een DevOpsmanier kunnen zowel in een Publieke als in een Private Cloud draaien
• DevOps is volledig onafhankelijk van de omgeving / het platform waarop de toepassing draait
‘Native’ Publieke Cloud functionaliteit• Publieke Cloud is veel meer dan een ‘landing zone’ / infrastructuur naar dewelke een
‘lift and shift’ van toepassingen kan gebeuren…
• Ook heel wat ‘out-of-the-box, klaar-voor-gebruik’ functionaliteit
• Bv. AWS AuroraNative Middleware
• Spraak-naar-tekst
• Artificiele Intelligentie voor verwerking van beelden
• ….
Native Toepassingsfunctionaliteit
• Geen beheer meer van servers, OS, patching, enz
• Betaling per uitvoering/gebruik van de toepassingServerless
Belgisch DevOps center voor Native Cloud
• Expertise-, demo- en delivery-center voorDevOps en (Native) Cloud
• Open lijn met o AWS (voltijdse Solution Architect van
AWS ter beschikking)o DTC Newcastle (regionaal expertise
centrum voor DevOps en AWS/Azure) o andere DevOps/Cloud centers in Zuid-
Europa (voornamelijk Frankrijk en Spanje)
Belgisch DevOps center voor Native Cloud
7 Belgische HB+ medewerkers die zich exclusief toeleggen op
de configuratie en exploitatie van AWS infrastructuur
18/04/2017
Demo ‘Herkenning’
Platform DXC & Native AWS functionaliteit:• AWS Polly• AWS Rekognition
Kristof De Wel, DevOps engineer
Joris Bijnens, AWS Architect
Nieuwe processen en tools
Scrum
DevOps
Platform DXC: PipelineOpleveren in een “business as code” filosofie
PLAN IP VAULT BUILD/CI COLLABORATE BINARYSTORAGE
Design Thinking
Lean - Agile Architecture as Code
Documentation as Code
API Integratie
Continuous Explorations and Improvement
Compliance as Code
DEPLOYNaar eender welk platform
RELEASEOp aanvraag
E2E Testing doorheen de pipeline
• Scaled Agile Framework (SAFe) om lean-agile concepten toe te passen op grote schaal
• “Everything as code” filosofie nodigt ons uit om zoveel mogelijk te automatiseren doorheen de pipeline
AWS Gezichtsherkenning Demo
PDXC AWS
GitHub
Jenkins
September 6, 2019 20© 2019 DXC Technology Company. All rights reserved.
DEMO
Illustreert- Platform DXC (DevOps tools omgeving klaar voor gebruik)- Toepassing met Native AWS functionaliteit
AWS Gezichtsherkenning Demo
PDXC AWS
GitHub
Jenkins
Dienstenaanbod van het DevOps center
Advies, consultancy en coaching in DevOps
Advies en consultancy in de weg naar Publieke CloudHeel veel verschillende opties: EC2, containerized, microservices, native of open, serverless, enz. enz.
Ontwikkeling van ‘POC’s’ en ‘MVPs’(Minimum Viable Products)
DevOps Squads om Vo toepassingen te ontwikkelen en te exploiteren (op AWS/Azure)
Betekenis voor bestaande Vo toepassingen / projecten
• Klanten die dit wensen kunnen evolueren naar een DevOps manier van werken met HB+
• Voor de ‘actieve toepassingen’ (d.w.z. toepassingen die nog evolueren) kan de klant tesamenmet HB+ overgaan naar een ‘DevOps Squad’
• Een ‘DevOps Squad’ is een team van 5-8 HB+ VTE dato ‘end to end’ verantwoordelijk is voor de functionele evolutie (ontwikkeling), in-productiestelling en
exploitatie van de toepassing
o lokaal in België werkt
o met een zeer minimale afhankelijkheid van mensen / afdelingen ‘extern aan de Squad’
• Doel: aanbieden van een maximale flexibiliteit / autonomie / onafhankelijkheid
• Project teams met een grotere nood aan VTE, worden opgesplitst in meerdere Squads
18/04/2017
24
DevOps organisatieFlexibiliteit – onafhankelijkheid - autonomie
Expert Team
(Cloud) Architect
(Cloud) Security Expert
NetwerkExpert
ApplicatieArchitect
DBA
Mogelijksandere
disciplines
DevOpsonsiteSquad
ScrumMaster
Analyst
(Cloud) Developer
TesterDevSecOps
Engineer
(Cloud) Operations Engineer
Product Owner
• End-to-end verantwoordelijk voor de ontwikkeling, de inproductiestelling, de exploitatie en de ondersteuning van de toepassing
• Punctuele expertise in bepaalde domeinen•Wordt ingeroepen door de DevOps Squad
wanneer dit team dit nodig acht• Kan ingeroepen tijdens alle fases van de
levenscyclus van de toepassing• Staat ter beschikking van meerdere
klanten/projecten
Inroep wanneernodig
18/04/2017
25
DevOps onsite SquadFlexibiliteit – onafhankelijkheid - autonomie• End-to-end verantwoordelijkheid, omvattendeo Beheer van de functionele evolutie van de toepassingo Definitie, setup en configuratie van de (Publieke Cloud) infrastructuuro Ontwikkeling van de toepassing op een Agile maniero Setup en onderhoud van de DevSecOps Pipelineo Inproductiestellingo Exploitatie van de toepassing (inclusief monitoring, backup, patching van de infrastructuur, incident- en
problem management)
Product Owner Beheert de functionele evolutie van de toepassing (en de ‘Product Backlog’). Kan een Vo medewerker zijn.
Scrum Master Operationele coaching en coordinatie van de activiteiten van het team, faciliteert wegnemen obstakels
Analyst Functionele analyse / specificatie van de gebruikersbehoeften
(Cloud) Developer Ontwikkelaar, desgevallend met een gedegen kennis van (native) AWS/Azure functionaliteit
Tester Test de toepassing; werkt samen met (Cloud) Developer en DevSecOps Engineer voor het kwaliteitsgedeelte van de Pipeline
DevSecOps Engineer Definieert de Pipeline, configureert en onderhoudt de DevSecOps tools
(Cloud) Operations Engineer Opzet en operationeel beheer van de (Publieke Cloud) infrastructuur (patching, backup, OS beheer, enz.)
18/04/2017
26
Expert team• Ondersteunt diverse DevOps Squads met punctuele expertise
o Wordt ingeschakeld op aanvraag van de DevOps Squad
o Voor die zaken waar de DevOps Squad zelf niet de gespecialiseerde kennis heeft
o Zowel in de ontwikkelings- als in de exploitatie-fase
o Wordt gebudgetteerd door een aantal mandagen die op afroep, en mits inplanning, al-dan-niet zullengeconsumeerd worden
(Cloud) Architect Gespecialiseerd in (Publieke Cloud) diensten en (Publieke Cloud) architecturen (infrastructuur en andere diensten)
(Cloud) Security Architect Security expert, desgevallend met gedegen kennis van beveiliging binnen AWS/Azure
Netwerk Expert Kennis van het Vo netwerk, wordt ingeschakeld voor advies in en uitvoering van aanpassingen aan het netwerk
Applicatie Architect Valideert de robuustheid, uitbreidbaarheid en onderhoudbaarheid van de Applicatie-Architectuur
DBA Performantie-tuning, probleemoplossing in exploitatie en ondersteuning tijdens de ontwikkelingsfase
Andere disciplines Mogelijkheid tot inroepen van andere disciplines indien de nood zich zou aandienen
18/04/2017
27
DevOps organisatieVariant ingeval van een Gold Cloud Service
Expert Team
Cloud Architect
Cloud Security Expert
NetwerkExpert
ApplicatieArchitect
DBA
Mogelijksandere
disciplines
DevOpsonsiteSquad
ScrumMaster
Analyst
Cloud Developer
TesterDevSecOps
Engineer
Cloud Operations
Engineer
Product Owner
• End-to-end verantwoordelijk voor de ontwikkeling, de in-productie-stelling, de exploitatie en de ondersteuning van de toepassing
• Punctuele expertise in bepaalde domeinen
• Wordt ingeroepen doorde DevOps Squad, wanneer dit team dit nodig acht
• Kan ingeroepen tijdensalle fases van de levenscyclus van de toepassing
• Staat ter beschikkingvan meerdereklanten/projecten
Inroep wanneernodig
CloudOps Team
Bulgarije
Monitoring
OS Beheer
Patching
Cloud Antivirus / Malware
Backup
Incident & Problem
Management
• Exploitatie van de AWS / Azure infrastructuurdoor centrale teams in Bulgarije
• Ontlast het DevOpsTeam, alsook het Expert Team
• DevOps en Expert Teams worden bijgevolggebruikt voorarchitectuur en opzet
• Zal in regel goedkoperzijn
DevOps en AMAAS
• Klant kan vrijuit kiezen wie wanneer in de levenscyclus de exploitatie verzorgto de DevOps Squad (inclusief achterliggende CloudOperations teams ingeval van Gold dienst)
o de traditionele AMAAS teams (‘AMAAS klassiek’ of ‘AMAAS light’)
• Voor toepassingen met weinig evolutie zal AMAAS in regel goedkoper zijno lokale (Vlaamse) teams versus gedeelde en geoptimaliseerde teams bestshore
• Een mogelijke keuze iso DevOps Squad tot x weken/maanden na de laatste release in productie
o AMAAS teams nadien
Hoe te starten met DevOps / Publieke Cloud?
• In veel gevallen zal een doorstart met de bestaande project-teams mogelijk zijno bestaande HB+ Vo-teams worden breed opgeleid in DevOps en Publieke Cloud
• Vertrekpunt zal voor elk project-team anders zijno bv. reeds Agile of niet? Lambda of niet?
• Niettemin is een goede reflectie en voorbereiding nodig: Waarom? Wat? Hoe?
• Aan de hand van een Stappenplan / Checklist
Hoe te starten met DevOps / Publieke Cloud? Stappenplan / Checklist
1 Waarde Stroom Analyse: een heel goed zicht op waar end-to-end (van business idee tot en met exploitatie van de toepassing) we de werking kunnen verbeteren
2 Heeft onze organisatie baat bij een incrementele manier van ontwikkelen (Agile), of dient eerst alles heel duidelijk geanalyseerd te zijnalvorens we kunnen starten?
3 Staan de vertegenwoordigers van de business open voor een incrementele manier van ontwikkelen en opleveren?
4 Zijn de vertegenwoordigers van de business bereid om af en toe mee te werken in Scrum Teams?
5 Indien ik als klant zelf Product Owner wens te zijn, ben ik opgeleid voor die rol? Hebben wij als organisatie opleiding genoten in Agile manier van werken?
6 Omschakeling van mijn huidig team naar een Agile team: welke rollen, en wie?
7 Hoeveel produktie-releases wens ik met mijn project te doen per kwartaal / jaar? Of dient dat eerder ad-hoc beslist te worden?
8 Definitie van het stappenplan om een toepassing van de ene omgeving naar de volgende (en naar produktie) te brengen: welkestappen, wat kan geautomatiseerd, en waar dient een manuele check te gebeuren? En door wie?
9 Keuze van de DevOps tools ter automatisatie: wens ik zelf tools te kiezen, te installeren, integreren, onderhouden? Of ben ik bv. voorstander dat HFB / HB+ een gestandaardiseerd platform aanbieden en onderhouden?
10 Definitie van de concrete voordelen van Publieke Cloud voor onze organisatie: financieel, flexibiliteit in produktie, gebruik van Native functionaliteit die we niet zelf hoeven te ontwikkelen?
11 Hoe wensen wij de Publieke Cloud te gebruiken: ‘lift-and-shift’ op servers? Infrastructure as Code of niet? Containers? Serverless? Native functionaliteit (gevaar voor ‘lock-in’), etc. Waarom wensen wij de Publieke Cloud zo te gebruiken?
Hoe te starten met DevOps / Publieke Cloud? HB-plus workshop
• Het in detail overlopen van de checklist voor uw concreet project of organisatie
• Gedurende 1 dag
• Onder leiding van HB+ Agile en DevOps expertenWat
• In het HB+ DevOps center in MechelenWaar
• Een goed begrip van de vraagstelling in elke stap
• Een antwoord op sommige vragen, een begin van antwoord op andereResultaat
• GratisKost
• Herman Van Beirendonck: [email protected], 0498 94 54 58
• Uw reguliere HB+ contactpersoon (commercieel verantwoordelijke of programma-manager)
Contactpersoon