CONTINUOUS DELIVERY WIRECARD

Size: px
Start display at page:

Download "CONTINUOUS DELIVERY WIRECARD"

Transcription

1 CONTINUOUS DELIVERY WIRECARD XebiaLabs DevOps Leadership Summit Amsterdam, June Linda Früh Head of Platform Development & Innovations PSP Division Payment & Risk Wirecard Technologies GmbH

2 AGENDA 1. Short Introduction of Wirecard 2. Starting Situation 3. Requirements & Goals 4. How We Started 5. Project Setup & Next Steps 6. Wirecard s Continuous Delivery Journey at a Glance 7. DevOps Greatest Hit vs. Greatest Miss

3 1 SHORT INTRODUCTION OF WIRECARD

4 WIRECARD AT A GLANCE Wirecard is a globally leading technology company for electronic payments with more than 22,000 customers Foundation 1999 Today, 45.2 EUR bn processed transaction volume worldwide TecDAX (ISIN: DE ) Innovation leader with leading internet and mobile payment technology Revenues 2015: EUR mn EBITDA 2015: EUR mn Unique value chain with fully integrated and licensed banking operations

5 COMPETITIVE EDGE (USP`S) Licensed multi-brand acquirer - global acquiring partners and Issuer Merchant Services e.g. for Visa, MasterCard, American Express, JCB, Discover/ Diners, UnionPay End-to-End solutions built on internet technology and banking services Global multichannel gateway for international payment acceptance and settlement, fraud prevention solutions Payment processing for all sales channels offline, online, mobile Enables companies to issue own payment instruments (cards or mobile payment solutions) via end-to-end infrastructure Innovative software-based banking products (SCP-virtual credit cards, payout cards, co-branded cards) Wirecard AG

6 PSP PRODUCTS & SERVICES - OVERVIEW End-to-end electronic payment solutions for all industry verticals Payment processing for all sales channels online, offline, mobile, (m)pos White-Label, Co-Branded and Wirecard branded solutions Payment Gateway Global multi-functional payment processing platform Integrated Risk and Fraud Management Solutions Support for dozens of payment methods and card brands International payment services and acceptance Comprehensive reporting and analytics functionality Value Added Services Wirecard AG

7 2 STARTING SITUATION WIRECARD LANDSCAPE DIVISION PAYMENT & RISK

8 WIRECARD LANDSCAPE: LOCATIONS & TEAMS Development and Testing activities for Wirecard s Payment & Risk Division are distributed between Wirecard locations and teams worldwide: Munich (Germany) Graz (Austria) Kosice (Slovakia) Toronto (Canada) Singapore (Asia) Coming soon: Indonesia Turkey Brazil ~ 120 people involved in distributed development Wirecard AG

9 WIRECARD LANDSCAPE: MODULES & RELEASES Wirecard s technical system landscape consists of several modules and applications (online & offline/batch) All platform applications provide various functionalities and services in terms of payment processing and risk management ~ 15 applications with regular development activities and therefore constant scheduled releases Overall Release Management is located in Munich Deployments mostly done in Munich (exception: additional local instances) Usually 3 to 5 releases per day on different environments (QA/TEST/PROD), Monday to Friday, ~ 345 days/year ~ 15 applications with regular release dates ~ 20 releases / week ~ 1000 releases / year Wirecard AG

10 WIRECARD LANDSCAPE: ROLES & PROCESSES During release process (preparation/ deployment) on the different domains (QA/ TEST/PROD) various roles are involved: Software Developer Quality Engineer Database Administrator Application Administrator Puppet Administrator Information Security Administrator Release Manager Product Owner + Various tools Wirecard AG

11 STARTING SITUATION: SUMMARY Quality and Reliability: Release process requires lots of manual steps (e.g. release preparation, DB-changes, application deployment) Problems identified too late, delays possible Different release and deployment processes for different applications Speed / Time-to-Market: Lots of time is required for a release (e.g. for release preparation, manual deployment on the different domains) No state-of-the-art time to market approach Productivity / Effectiveness : Many people from different teams involved Lots of manual work (which is boring and also error prone by nature) Time spent on needlessly complicated tasks Tools: Different tools are used already today (Jenkins, Nexus, Puppet, JIRA, ) Wirecard AG

12 3 REQUIREMENTS & GOALS WHAT WE WANT TO ACHIEVE

13 REQUIREMENTS & GOALS Increased Quality and Reliability: - Avoid human errors due to automation and reduced manual interaction - (Semi-) automated release and deployment process without downtimes and (minimized) manual interaction - Standardized processes for all teams & subsidiaries ( Template ) - Problems are discovered and fixed much faster - Transparent audit trail - Improved analytics options and report functionalities Improved speed / response-time: - Faster delivery of the most important features, improvements and fixes - Increased business value and time-to-market - Increased customer satisfaction Increased capacity and scalability: - Distributed teams (number of people, sprint and release planning, testing) can be managed much more effectively - Roll-out of Continuous Delivery template in other Wirecard divisions/ locations locally and worldwide - Manage code, not people Wirecard AG

14 REQUIREMENTS & GOALS Enhanced Productivity / Effectiveness: - Departments and people being involved before in the manual process can concentrate on their core tasks and responsibilities and gain value - Participation in release and deployment process is obsolete or reduced to a minimum Tools: Support for existing tools is guaranteed to minimize the need of adaptations within the existing infrastructure 2 to 3 applications covered by Continuous Delivery by end of Wirecard AG

15 4 HOW WE STARTED TEST APPLICATION DESIGN & TOOL EVALUATION SETUP OF A TECHNICAL PROOF OF CONCEPT

16 HOW WE STARTED: DESIGN TEST APPLICATION For Continuous Delivery tool evaluation and test phase a dedicated test application was setup for various reasons: POC and related activities can be done independent of productive applications No risk of breaking existing and running services and functionalities No need to involve other roles/departments as everything can be handled by ourselves Flexible setup to try things out A standard basic infrastructure and tool setup was used which is mostly in place within Wirecard (simplified setup without database changes) FOO test application has been introduced Wirecard AG

17 HOW WE STARTED: TOOL EVALUATION Evaluation of available tools on the market started XL Release and XL Deploy identified as most promising solutions in regards to our requirements XL Deploy facilitates the deployment of releases, providing plugins for a large number of systems and tools such as Tomcat, WebLogic, Oracle/MySqlDB, F5, Jenkins, Puppet, JIRA XL Release acts as workflow tool on top of XL Deploy that allows the user to trigger, monitor and report on releases First meeting scheduled Detailed introduction into XL Deploy and XL Release Introduction of Wirecard infrastructure and module landscape Clarification requirements and goals Technical POC planned to continue with final tool evaluation Wirecard AG

18 HOW WE STARTED: POC SESSIONS Setup of a first 3 day-poc session Scope and goal definition: Setup of XL Deploy and XL Release for test application FOO covering all domains (INTE/QA/TEST/PROD) to be able to achieve an automated release and deployment process with all involved tools Several minor issues have been identified during the POC (tools, infrastructure) Ø INTE and QA domain covered with first POC Setup of a second 2 day-poc session Fixes and plug-ins / adaptions from XebiaLabs included Ø TEST and PROD covered with second POC Complete automated release and deployment process was achieved Wirecard AG

19 5 PROJECT SETUP & NEXT STEPS

20 PROJECT SETUP - HIGHLEVEL ü Internal alignment with management, all required parties and departments about the project (scope and goals) ü Internal project initialization / Kick-off Meetings with dedicated project team - Gain common understanding of extensive automation of all possible parts of the delivery process - Discuss options and restrictions for required deployment and release process changes and/or adjustments (infrastructure and tools, e.g. Puppet, JIRA) - Clarify known issues in the deployment and/or release process - Cover IT-Security/Audit concerns and requirements (e.g. DB changes, firewall changes, role concept) ü Finalize overall project scope (tools, processes) ü Schedule workshop including different sessions (business goals, infrastructure and security clarifications, process definition, tool integration, QA/test tool integration) to clarify details Wirecard AG

21 NEXT STEPS - HIGHLEVEL Define and agree on final infrastructure setup for XLRelease and XLDeploy within Wirecard Prepare implementation plan based on workshop results (steps to do, required people/ roles, effort estimations,.) Implementation planned to be managed based on Sprints Installation and configuration of XL Release and XL Deploy with one pilot (live) application (incl. know-how transfer and trainings) Target timeline for first application running with XL Release and XL Deploy in production: End of August Wirecard AG

22 6 WIRECARD S CONTINUOUS DELIVERY JOURNEY AT A GLANCE

23 WIRECARD S CONTINUOUS DELIVERY JOURNEY Evaluation Phase Design test application Evaluation of available tools for CD Decision about XL Deploy and XL Release for POC Start cooperation with XebiaLabs POC scheduled Fixes & Adjustments Fixing of findings during first POC session by XebiaLabs and Wirecard Further clarification about Infrastructure topics inside Wirecard Internal Alignment Internal demo and alignment meetings (Mgmt., all required/ involved departments, project scope/goals) License Agreement signed with XebiaLabs Introduction of CD Schedule workshops Define infrastructure setup/tool integration Prepare implementation plan Installation and configuration of XL Deploy and XL Release for first live-application March - May 2015 July 2015 July/Aug Septemb Sep. Dec Q1/2016 Q2 & Q3/2016 First POC First 3 day-poc session planned and scheduled to install and configure XL Deploy and XL Release for Test application FOO INTE/QA covered Second POC Second 2 day-session planned and scheduled to finish full release and deployment process for Test application FOO All domains covered successfully Project Kick-Off Further meetings to clarify details (deployment pipeline, tools, roles) Preparation and definition of workshop agenda Wirecard AG

24 7 DEVOPS GREATEST HIT DEVOPS GREATEST MISS

25 DEV OPS GREATEST HIT VS. GREATEST MISS DevOps Greatest Hit Working on one project with one overall goal together with people and teams from different departments and divisions. DevOps Greatest Miss (aka greatest Challenge) Get all (individual/team/department) goals aligned with overall project goal Wirecard AG

26 THANK YOU FOR YOUR ATTENTION! Linda Früh Head of Platform Development & Innovations PSP Wirecard Technologies GmbH Einsteinring Aschheim Tel.: +49 (0)89 / linda.uhl@wirecard.com

27 BACK UP SLIDES

28 HOW WE STARTED: TECHNICAL POC SETUP Continous Delivery System Landscape Wirecard: Wirecard AG

29 INFRASTRUCTURE SETUP / TOOL INTEGRATION WITHIN WIRECARD DRAFT VERSION Wirecard AG

30 INFRASTRUCTURE SETUP / TOOL INTEGRATION WITHIN WIRECARD DRAFT VERSION Separate XL Deploy instances in different zones Test setup to test new processes, plug-ins, upgrades, etc. HA setup for XL Release and XL Deploy in Managed zone HA setup for XL Deploy in Prod zone to deploy to Prod Integrate existing tools: Jira, Jenkins, Nexus Deployment Targets: Tomcat, MySQL, ORACLE DB, Spring Boot, Jboss (Future) Wirecard AG

31 INFRASTRUCTURE SETUP / TOOL INTEGRATION WITHIN WIRECARD DRAFT VERSION HA Setup in active/passive mode XL Servers can be configured to ensure maximum availability of the application Two instances of XL Servers run in an active/passive configuration At any time, only one XL Server instance is active As soon as a failure is detected, the passive XL Server instance is activated and the failed instance is taken down for repair To configure XL Servers for high availability, the XL Servers repository must be used in clustering mode Each XL server node writes changes to a shared journal in addition to applying the change to its own repository Wirecard AG

32 INFRASTRUCTURE SETUP / TOOL INTEGRATION WITHIN WIRECARD DRAFT VERSION Backend Databases for XLD/XLR XL Release and XL Deploy using an own repository to store all of its data By default the filesystem is used to store all data in the repository Database and filesystem can be used in HA Setup Supported DBs: MySQL, Oracle, DB2, MS SQL HA Setup: Run XL servers with its repository shared with other XL server instances Wirecard AG