© OPITZ CONSULTING 2017 überraschend mehr Möglichkeiten! © OPITZ CONSULTING 2017 with APIs, Containers, Microservices, DevOps Sven Bernhardt, Danilo Schmiedel Strategies for efficient Delivery
© OPITZ CONSULTING 2017
überraschend mehr Möglichkeiten!
© OPITZ CONSULTING 2017
with APIs, Containers, Microservices, DevOps
Sven Bernhardt, Danilo Schmiedel
Strategies for efficient Delivery
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 3
Scenario #3: Innovation
© OPITZ CONSULTING 2017
möglich
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
maintainabilityDecreasing data
quality
Decreasing benefit
Increasing costs
Lack of integration
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 6
Lots of buzzwords, concepts and techniques, but how to
find a beneficial mixture for Next-gen app development?
API Management
MicroservicesContainers
Docker
DevOpsContinuous Integration
Continuous Delivery
Cloud
SOAIntegrationMonolithic
applications
© OPITZ CONSULTING 2017
Rücksprache mit Mktg.
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOps
How to get there?
Seite 7
© OPITZ CONSULTING 2017
möglich
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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 9
Define the goals
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 10
OC|Lab ®
Download:
http://tinyurl.com/y9k687o5
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOps
Solution architecture for the use case based on OMESA
reference architectureOpen 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
Mo
nit
ori
ng
Bu
sin
ess
An
aly
tics
Secu
rity
Man
ag
em
en
t
Monolithic
SystemRegistryEvent StoreShared Storage
Non-shared
Storage
Semi-decoupled Fully-decoupled
Seite 11
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 12
OMESA reference architecture
Open Modern Enterprise Software Architecture (OMESA) | https://omesa.io
Credits to Luis Weir, Capgemini
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
missachten!
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 16
One approach to find the right service designDomain 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 19Source: https://www.slideshare.net/ziobrando/model-storming, Slide 60
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
missachten!
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Service Implementation(fuly-decoupled)
APIs
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Service Implementation(fuly-decoupled)
APIs
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
missachten!
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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-markethttps://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Devops.svg/2000px-
Devops.svg.png
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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)
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
missachten!
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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/
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 31
Get support from OutsideInnovation 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/
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
platformStaff team
Implement
MVP
Review
Feedback
Feedback
FeedbackFeedback
Feedback
Withdraw
Solution not
applicable?
© OPITZ CONSULTING 2017
möglich
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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 34
It‘s all about change!
© OPITZ CONSULTING 2017
möglich
Plan you next steps
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOps
Microservices
DevOps0%
DevOps100%
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
© OPITZ CONSULTING 2017
möglich
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOpsSeite 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
© OPITZ CONSULTING 2017 Seite 37Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOps
Q & A
© 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 GmbHTempelhofer Weg 64, 12347 Berlin, Germany
Phone: +49 173 7279001Mail: [email protected]
@dschmied
http://inside-bpm-and-soa.blogspot.com
Sven Bernhardt
Solution Architect | Oracle ACE
OPITZ CONSULTING Deutschland GmbHKirchstrasse 6, 51647 Gummersbach, Germany
Phone: +49 172 2193529Mail: [email protected]
@sbernhardt
https://svenbernhardt.wordpress.com
Strategies for Efficient Delivery with APIs, Containers, Microservices,
DevOps
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