Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

22

Transcript of Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

Page 1: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters
Page 2: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

FOCUS OP INSPIRE

WELKOM

Page 3: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

Rob BiestersLead Business IT ConsultantCanon Europe N.V.

Page 4: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

WIE BEN IK?• Al meer dan 20 jaar actief in Document

Management in verschillende werkzaamheden

• De laatste 10 jaar als team lead binnen document implementatie projecten binnen Océ en Canon Europe

• Bij Océ in een klein team• Bij Canon in een groter team met externe

partijen (on- en offshore)

Page 5: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

CANON EUROPE• Canon Europe is een dochtermaatschappij

van Canon Inc. uit Japan, een international innovatief bedrijf en leverancier van imaging solutions

• Canon Europe draagt voor ongeveer 1/3 bij aan de globale omzet van Canon. Er werken ruim 17.000 mensen verdeeld over Europa, Midden-oosten en Afrika (EMEA)

• Canon Europe is al ruim 60 jaar actief in Europa

Page 6: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

HET UNITY PROJECT

• In 2010 heeft Canon Océ officieel overgenomen• Rond 2012-2013 werd gestart met het grootste project binnen Canon om

de IT-omgevingen van Canon-Europe en Océ te integreren en te vernieuwen

• Voor Document Management werd besloten om de ontwikkeling weer in eigen beheer te gaan doen i.p.v. deze over te laten aan externe partij

• Daarna volgde een onderzoek om te kijken wat de beste oplossing was

Page 7: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

PRODUCTEN KEUZE PROCES

• Er is gekozen voor een oplossing die host independent is, met Canon producten, en Quadient Inspire voor de documenten generatie

• Cosmos (workflow engine)• Inspire Designer (documenten generatie)• Therefore (archief)

• Deze oplossing is geheel nieuw opgezet naar business specificaties en afgestemd op de Canon Way of Working

Page 8: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

UITDAGINGEN

• Het bouwen van een nieuw platform • Het generen/afdrukken/versturen/archiveren van 25 mio

documenten/jaar • Het ondersteunen van ruim 25 landen en talen per document type

• Slimme opzet om het aantal verschillende templates minimaal te houden

• Rekening houden met de verschillende juridische eisen per land• Het strikte release proces bij Canon Europe• Omschakeling naar een Agile werkproces

Page 9: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

OPBOUWEN VAN EEN NIEUW PLATFORM

• In eerste instantie hebben we gewerkt aan het beschikbaar stellen van de functionaliteit om documenten te genereren, te distribueren en te archiveren

• Deployments richting de productie server waren in het begin manuele acties• Veel problemen met afstemming• Fouten oplossen kostte veel tijd

Page 10: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

RELEASE MANAGEMENT BIJ CANON (1)

• Canon werkt met verschillende release straten• Er zijn 8 verschillende document management servers die allemaal

een eigen functie hebben• Als voorbeeld één van de release straten (DTAP) met daarbij de

verantwoordelijkheden

Development team

DEV TST ACC PRD

Technical application management

Page 11: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

RELEASE MANAGEMENT BIJ CANON (2)

• Ontwikkelaars krijgen alleen leesrechten op ACC/PRD omgevingen en kunnen op deze servers geen veranderingen doorvoeren

• Voor handmatige deployments moet er precies omschreven zijn wat er moet gebeuren zodat “iemand” van het Technical Application Management team dit kan uitvoeren

DEV TST ACC PRD

Instructie Resources

DeveloperTechnical App Manager

Functional App Manager

Page 12: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

HANDMATIGE DEPLOYMENTS

• Handmatige deployments worden bij Canon uitgevoerd door een Technical Application Manager. Daarna worden de testen uitgevoerd door een Functional Application Manager

• Handmatige deployments mogen maar beperkt aantal keren per week worden gedaan

• Deze werkwijze is foutgevoelig omdat de instructie niet altijd correct begrepen of uitgevoerd wordt

DEV TST ACC PRD

Instructie Resources

DeveloperTechnical App Manager

Functional App Manager

Page 13: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

AUTOMATISCHE DEPLOYMENTS

• Als eerste stap heeft het ontwikkelteam de deploymentsgeautomatiseerd waarin een package wordt gemaakt die volledig automatisch wordt geïnstalleerd

• De rol van de Technical App Manager wordt nu beperkt tot het starten van het automatische proces en het controleren van het resultaat

DEV TST ACC PRD

Package

Technical App ManagerFunctional App Manager

Developer

Page 14: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

IN MEER DETAIL

DEV TST ACC/RIN PRD

Developer Package

SVN

Change Management

System

Jenkins

Release manager

Package

Technical App Manager

Automatic deploymentAutomatic deployment

DPA team

Test exit report

Page 15: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

AUTOMATISCHE TESTEN

• Om ook de rol van de Functional App Manager te beperken is er zijn er automatische testen ontwikkeld

• Deze testen worden automatisch gestart nadat een package op een server is geïnstalleerd en bepalen mede het eindresultaat van de deployment

• Handmatige testen zijn zoveel mogelijk beperkt• De Functional App Manager geeft na elke deployment een GO/ NO

GO aan de hand van de test resultaten

Page 16: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

VOORDELEN (1)

• Het ontwikkel team gebruikt de automatische testen om een aanpassing uit te testen

• Een goede testset is zeer belangrijk, voor elke aanpassing/defect wordt er gekeken of er een test beschikbaar is. Zo niet, dan wordt die toegevoegd

• Voor elke wijziging wordt de hele testset afgetest. Als alles correct is wordt de referentie set aangepast.

• Elke package bestaat uit aanpassingen, en een aangepaste test- en referentie set

Page 17: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

VOORDELEN (2)

• Tijdens het installeren van de nieuwe package wordt gecontroleerd of alle benodigde resources vernieuwd zijn

• Nadat een package geïnstalleerd is wordt automatisch een test gestart waarin alle testresultaten automatisch vergeleken worden met de referentie set

• Het streven is “first time right” en automatisering• In het ontwikkelteam is er veel aandacht voor test-driven ontwikkelen,

het testen/controleren voordat de aanpassing richting productie gaat• Automatische deployment mogen meer frequent worden gedaan• Geen handmatige acties meer nodig, op upgrades na

Page 18: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

VERDERE AUTOMATISERING

• Op elke server, behalve op productie, wordt een complete test gestart om 04.00 uur in de morgen.

• Het ontwikkel team controleert elke dag of alle servers een positieve testresultaat hebben. Is dat niet het geval dan wordt het probleem onderzocht en opgelost

Page 19: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

LEUK WEETJE

• Tijdens de automatische testen worden een groot aantal documenten gegeneerd.

• Voor elke taal/land combinatie is er een test, evenals voor elke specifieke document subtype en uitzondering.

• De referentie set bevat een overzicht van gecontroleerde en correcte documenten

• Via Inspire worden de documenten pixel nauwkeurig vergeleken. Bij de minste afwijking wordt er een fout gerapporteerd.

• Voor deze document vergelijking heeft het ontwikkel team een eigen Inspire design gebouwd

Page 20: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

DOCUMENT COMPARE

Page 21: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

SAMEN GEVAT

Page 22: Hoe Canon Europe zich heeft voorbereid op 'continuous delivery' - Rob Biesters

DANK VOOR UW AANDACHT