Strategies for efficient delivery with APIs containers micro services and DevOps

217 views

Published on

Oracle Open World 2017 session. Abstract: A central challenge for today's IT is how to ensure business agility and how to keep the robustness of core business functionalities. A microservice-based architecture in conjunction with APIs for decoupling the building blocks becomes more and more important. By using modern container technologies, companies can leverage all the advantages of modern software development. This session covers the impact of modern software architectures based on a real-life scenario, which we implemented to establish faster delivery cycles and to start innovations. Learn different strategies for how modernized software architectures can be introduced. This session is suitable for organizations of any size and industry.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Strategies for efficient delivery with APIs containers micro services and DevOps

  1. 1. © OPITZ CONSULTING 2017  überraschend mehr Möglichkeiten! © OPITZ CONSULTING 2017 with APIs, Containers, Microservices, DevOps Sven Bernhardt, Danilo Schmiedel Strategies for efficient Delivery
  2. 2. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 2 OPITZ CONSULTING - A success story since 1990  Our Mission: Help organizations to leverage the possibilities of digitalization to be different, better and faster than their competitors  Owner-Managed company with  400+ consultants  11 locations in Germany and Poland Danilo Schmiedel   Managing Consultant  Lead for Competence Center Cloud About us Sven Bernhardt  Solution Architect  Technical Lead for API Management
  3. 3. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 3 Scenario #3: Innovation
  4. 4. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Often encountered in today’s IT system landscapes Seite 4 Lack of innovation Missing knowledge Lack of maintainability Decreasing data quality Decreasing benefit Increasing costs Lack of integration
  5. 5. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 5 New ways on how to develop applications are needed to manage agility (Bi-modal IT) Standardization Differentiation InnovationNew ideas Better ideas Typical ideas Customer-specific solutions Standard Software solutions Systems of Innovation Systems of Differentiation Systems of Record Based on Pace Layered Application Strategy, Gartner 2012
  6. 6. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 6 Lots of buzzwords, concepts and techniques, but how to find a beneficial mixture for Next-gen app development? API Management Microservices Containers Docker DevOps Continuous Integration Continuous Delivery Cloud SOA Integration Monolithic applications
  7. 7. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps How to get there? Seite 7
  8. 8. © OPITZ CONSULTING 2017 How to make it wrong? Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Risk 1 The initiative / program is a collection of individual IT projects Risk 2 Requirements are just IT-driven Risk 3 Unconditional belief in the platform vendors Risk 4 Faith in error-free, unchangeable planning and roadmap Risk 5 Lack of coordination between Business and IT Risk 6 Start without clear goals and benefits Risk 7 Underestimating efforts for changing legacy applications Risk 8 Missing change management Risk 9 Lack of coordination with other IT-related initiatives Risk 10 Insufficient perception of complexity Seite 8
  9. 9. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 9 Define the goals
  10. 10. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 10 OC|Lab ® Download: http://tinyurl.com/y9k687o5
  11. 11. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Solution architecture for the use case based on OMESA reference architecture Open Modern Enterprise Software Architecture(OMESA) | https://omesa.io Credits to Luis Weir, Capgemini Seite 11 User Experience Service Implementation Persistence Web Mobile Device Single Purpose API Multi-Purpose API Monitoring BusinessAnalytics Security Management Monolithic System RegistryEvent StoreShared Storage Non-shared Storage Semi-decoupled Fully-decoupled Seite 11
  12. 12. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 12 OMESA reference architecture Open Modern Enterprise Software Architecture(OMESA) | https://omesa.io Credits to Luis Weir, Capgemini
  13. 13. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 13 Main Objectives of OMESA  All in all, OMESA has 4 main objectives: 1. To deliver a modern and enterprise-wide software reference architecture suitable to combine ”existing" with the "new" 2. Provide guiding principles and definition of terms to ensure the architecture can be interpreted and applied 3. Deliver a vendor agnostic capability model that can add tangible business value to organizations 4. Bring back architectural best practices (based on real live experiences) into modern solutions that are suitable for organizations of any size and industry
  14. 14. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 14 OPITZ CONSULTING - A success story since 1990  Mission: Help organizations leverage the possibilities of digitalization to be different, better and faster than their competitors  Owner-Managed company with  400+ consultants at 11 locations in DE and PL  Revenue 2016: 47 Mill. € Danilo Schmiedel   Managing Consultant  Lead for Competence Center Cloud About us Sven Bernhardt  Solution Architect  Technical Lead for API Management
  15. 15. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 15 „We have a monolithic backend application. We would like to slice the application into small functional building blocks. Our challenge is to find the right size of these building blocks according to our business requirements. “ Energy (E-Mobility) / Product Owner
  16. 16. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 16 One approach to find the right service design Domain Decomposition  Derive services and respective data objects from your business processes, which are here expressed in a standard notation like BPMN Production Logistics Selling Billing
  17. 17. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 17 But: The Domain Decomposition approach is not trivial  Very formal approach  Knowledge with respect to the modelling notation (e.g. BPMN) is needed and everyone needs to understand the model  Might be time-consuming  Disagreements regarding the business process flow  Discussions about the modelling style (Is it correct in the sense of the spec?)  Danger to model all process variants and edge cases (Lost in details)  Need to know business domain and processes  Risk to loose workshop participants, who might have important information
  18. 18. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 18 Event storming as a more agile and lightweight approach for identifying services and domains  Event storming was invented by Alberto Brandolini (2013)  Ingredients:  Unlimited modelling space  Sticky Notes  Markers  People from different organizational areas and levels (6-8 people)  Facilitator  Key terms:  Event  Command and External system  Aggregate  Bounded Context
  19. 19. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 19Source: https://www.slideshare.net/ziobrando/model-storming, Slide 60
  20. 20. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 20 Event Storming is a good approach for breaking up complex business domains to manageable services  Informal and easy approach, because there are no formal rules like standard notations  The right people are talking about their business domain, so it is ensured that all questions can be answered  Since it is not strictly formalized and everyone is invited to participate, the approach is fun  But, attention  Good facilitation skills are needed and  Workshop participants have to get involved
  21. 21. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 21 „We have a historically evolved system. Today it is hard for us to extend the system with new apps, chatbots and location-based services because of missing APIs.“ Professional Services / Head of Business Development
  22. 22. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 22 Current situation: Monolithic custom-implemented ERP application prevents innovation  Complex system without public APIs  Controls whole business use cases  Difficult to maintain und extend  Fragile solution (each change can lead to inconsistency)  Needs to stay robust and free from defects Oracle Forms Client Oracle ADF Application
  23. 23. © OPITZ CONSULTING 2017 Service Implementation (fuly-decoupled) APIs Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 23 Implementation platform overview – The big picture Validation Authentication Throttling Routing {json} {json} {json} Filtering https://guidelines.axonivy.com/projects/guides/wiki/ Continuous_integration_delivery Persistence DevOps Developer CS Container CS API PlatformCS
  24. 24. © OPITZ CONSULTING 2017 Service Implementation (fuly-decoupled) APIs Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 24 Modernization based on Oracle Cloud Services Service Implementation (semi-decoupled)Validation Authentication Throttling Routing Transform Orchestrate {json} {json} {json} Filtering https://guidelines.axonivy.com/projects/guides/wiki/ Continuous_integration_delivery {json} Connect API PlatformCS Container CS Integration CS Java CS SOA CS Developer CS
  25. 25. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 25 „We are in the process of establishing a centralized communication platform. It is based on microservices but our development performance is not as good as we expected. The available infrastructure does not scale. The Developers are not very much motivated because of very slow feedback cycles.“ Retailer / Head of IT Governance
  26. 26. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 26 Agile software delivery is hard without a DevOps approach  Fixed set of technologies (e.g. not Java, Node.js and .Net), which might block developers to use the most appropriate technologies  No DevOps approach because Software delivery is the responsibility of another team in a different organizational unit; discussions with them are hard  A consistent DevOps approach is needed to be able to establish new services efficiently within a short time-to-market https://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Devops.svg/2000px- Devops.svg.png
  27. 27. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 27 It’s not a only technical thing; being adaptable and agile concerns the whole organization  Changeability is an essential prerequisite for becoming more agile and to promote innovation  Moving forward is basic for prospective success  New collaboration approaches are needed to improve time-to-market ”It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is most adaptable to change.” (Charles Darwin)
  28. 28. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 28 Continuous Delivery and Deployment for complex Microservice architectures Wercker  Create custom CI/CD pipelines  Chain & trigger pipelines to create complex workflows  Speed up tests by running them in parallel Source: http://www.wercker.com/platform
  29. 29. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 29 „We are an enterprise company. Software development is usually done by following a waterfall approach. Our development cycles are too long due to organizational barriers and rules. On the other hand we have to come up with new ideas and innovations to improve our daily work.“ Manufacturer / CIO Source: http://blog.procademysoftware.com/agile- project-management/ Source: http://www.commonplaces.com/blog/agile-vs- waterfall-how-to-approach-your-web-development-project/
  30. 30. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 30 Be brave and promote innovation!  Initiate digital innovation labs for trying new ideas and technologies and leverage from PoCs, Pilots, MVPs  Involve those who are affected at an early stage and ask for "advice"  Earlier and quicker feedback on feasibility and acceptance  Change the attitude: “From suit to hoodie wearer“  Change the mentality: “Be ready to fail, adjust and try again.” PoC Pilot MVP
  31. 31. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 31 Get support from Outside Innovation Lab as a Service (ILaaS)  Guru Co-working space  From office space, support from experts, coffee and water => all inclusive for a monthly fee  Example use cases:  Supporting and optimizing existing processes with Mobile apps  Hololens for supporting the production process  GPS tracking use cases Source: http://blog.procademysoftware.com/agile- project-management/ Source: http://www.commonplaces.com/blog/agile-vs-waterfall-how-to- approach-your-web-development-project/
  32. 32. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 32 ILaaS Approach  Choose manageable use case  Fixed iteration length (approximately 4 weeks)  Development ends with a Minimal Viable Product (MVP)  Define basic solution architecture  Choose implementation platform & approach  Staff team  Technicians (Implementors / Architects)  Business stakeholders  Implement MVP  Review Re-/Define use case Define solution architecture Choose platform Staff team Implement MVP Review Feedback Feedback FeedbackFeedback Feedback Withdraw Solution not applicable?
  33. 33. © OPITZ CONSULTING 2017 Modernize Your IT Landscape with API-Driven Architectures Seite 33 API Management is the key to ensure agility Phase 1 Phase 2 ✓ Finalized definition of the single-purpose APIs on day two in a collaborative way with Apiary ✓ Independent development of Mobile app, Mobile Backend, Backend Service and API ✓ Problem: Connectivity to the backend system, because Firewall changes took too long (4 weeks project duration, connectivity was available in week 3) ✓ Development team was not blocked because implementation of the mobile app was done against the Mock Server functionality in Apiary
  34. 34. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 34 It‘s all about change!
  35. 35. © OPITZ CONSULTING 2017 Plan you next steps Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Microservices DevOps0% DevOps 100% DevOps 0% Microservices 100% Microservices Backend for Frontend (BfF)0% BfF Usage 100% BfF Usage Decoupling Backends from Frontends Use of Microservice architecture Establish a DevOps approach API-Management0% API-Mgmt. 100% API-Mgmt. Use of API Management Application platform0% Platform 100% Platform Implement an application platform Seite 35
  36. 36. © OPITZ CONSULTING 2017 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Seite 36 Summary  Understand the business goals and design properly (e.g. Event Storming)  API Management is the key to ensure agility  Ability to change, which means the way  how architectures and applications are designed and implemented  collaboration between different stakeholders happens  how processes and procedures are used  Attitude: “From suit to hoodie wearer”  Mentality: “Be ready to fail, adjust and try again”  Microservices and DevOps belong together and both are not just tools
  37. 37. © OPITZ CONSULTING 2017 Seite 37 Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps Q & A
  38. 38. © OPITZ CONSULTING 2017  überraschend mehr Möglichkeiten! @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Seite 38 In case of any questions, please contact us! Danilo Schmiedel Managing Consultant Solutions | Oracle ACE Director OPITZ CONSULTING Deutschland GmbH Tempelhofer Weg 64, 12347 Berlin, Germany Phone: +49 173 7279001 Mail: danilo.schmiedel@opitz-consulting.com @dschmied http://inside-bpm-and-soa.blogspot.com Sven Bernhardt Solution Architect | Oracle ACE OPITZ CONSULTING Deutschland GmbH Kirchstrasse 6, 51647 Gummersbach, Germany Phone: +49 172 2193529 Mail: sven.bernhardt@opitz-consulting.com @sbernhardt https://svenbernhardt.wordpress.com Strategies for Efficient Delivery with APIs, Containers, Microservices, DevOps
  39. 39. 3 Membership Tiers • Oracle ACE Director • Oracle ACE • Oracle ACE Associate bit.ly/OracleACEProgram 500+ Technical Experts Helping Peers Globally Connect: Nominate yourself or someone you know: acenomination.oracle.com @oracleace Facebook.com/oracleaces oracle-ace_ww@oracle.com

×