SlideShare une entreprise Scribd logo
1  sur  77
I want my microservices!
AVENUE DU THEATRE 7 > 1005 LAUSANNE > SUISSE > WWW.OCTO.COM
28 juin 2018 - Geneva
@OCTOSuisse
#afterwork
#microservices
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
2
Bertrand
LE FOULGOC
Senior Consultant
@OCTOSuisse
+41 79 138 01 22
blefoulgoc@octo.com
Alexandre
MASSELOT
Consultant
@OCTOSuisse
+41 75 418 79 34
amasselot@octo.com
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 2
3
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 4
OCTO Technology: Transformation Catalyst
HUMAN & TOOLS
EXCUBATIONINCUBATION
SHARING KNOWLEDGE
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
It’s DevOps Season In Switzerland
5
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
It’s DevOps Season In Switzerland
DevOps vision et pratiques
May 2nd 2018
Êtes-vous API dans votre organisation ?
March 7th 2018
Décollez vers le Cloud !
December 6th 2017
I want my microservices !
June 28th 2018
DevOps: c’est arrivé près de chez vous
Afternoon - October 9th 2018
6
http://bit.ly/devopsgva
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Why an event on Microservices?
7
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 8
 27 virtual machines entangled
 50 man.hours to deploy
 Outdated technologies
 No methodology
 No tests
 No monitoring
 Endless night calls
Experience Feedbacks 1/3
Converging towards a distributed architecture
BEFORE
 Product Owner position, with a
product mindset
 Software craftsmanship
 Infrastructure as Code
 The Dev & Ops wall fell
 A more serene team
 Practice spread to other
teams
AFTER (~ same people)
 It is a long journey
 Falling back to bad habits is
always a risk
BUT
A web portal aggregating complex flows of data
12-18 months
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 “Allo OCTO. Can you come and bring DevOps|Microservices with you”
(insurances, banks, food, industry etc.)
 Customers seeking for a magic wand
 A tough journey through technological and organizational shifts
9
Experience Feedbacks 2/3
Common in calls
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Experience Feedbacks 3/3
Successes & Failures in the same environment: a real estate digital company, with solid technical skills
10
T H E R E I S A B E T T E R
W A Y
What are
Microservices?
11
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 12
Evolution of coupling within complex applications
1990s (and earlier)
Monolith
Tight coupling
2000s
Traditional SOA
Looser coupling
2010s
Microservices
Decoupled
next
?
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
The term "Microservice Architecture" has sprung up over
the last few years to describe a particular way of designing
software applications as suites of independently
deployable services. While there is no precise definition of
this architectural style, there are certain common
characteristics around organization around business
capability, automated deployment, intelligence in the
endpoints, and decentralized control of languages and
Martin Fowler, 2014
13
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
From monolith to microservices
1. Regain control of your monolith
2. Split it in loosely coupled modules
14
runtime
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
If you cannot build a well-
structured monolith, what
makes you think microservices
are the answer?
Simon Brown
15
From monolith to microservices
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Distributed
 Context bounded
 Autonomous
 Responsible and accountable
for a given purpose
 Loosely coupled
 Lightweight messages
 Asynchronous
 Failure proof
 Evolutive
16
Microservices architectural style: some characteristics
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Distributed
 Context bounded
 Autonomous
 Responsible and accountable
for a given purpose
 Loosely coupled
 Lightweight messages
 Asynchronous
 Failure proof
 Evolutive
17
Microservices architectural style: some characteristics
 Biology
 Ecology
 Economics
 Social sciences
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 18
Microservices architectural style: some characteristics
 Distributed
 Context bounded
 Autonomous
 Responsible and accountable
for a given purpose
 Loosely coupled
 Lightweight messages
 Asynchronous
 Failure proof
 Evolutive
This is
OCTO’s
vision of
Architecture
T H E R E I S A B E T T E R
W A Y
Motivations
Behind Microservices
19
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Booking a ski holiday in Switzerland
<Flight
<Car rental
<Chalet with ski equipment
 Monolithic application
20
HappySkiHolidays.com
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 21
Meet Moss’s team
Moss: Dev
So much code!
6 months to ramp up
Isolating a bug is so hard
Still on java 5!?
UI/UX Designer
My potential is wasted here
Moss keeps saying :
”we cannot to that”
Oprah: Ops
Two instances 24/7…
Just for the winter rush!?
Tech Lead
We need to scale
A full rewrite is too costly
Product Owner
The competition is onto us…
Why is this taking so long?
T H E R E I S A B E T T E R
W A Y
Challenges &
Solutions
22
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 23
Challenges
Moss: Dev
Oprah: Ops
We must pay tech debt first
Modularise the app
No shared state
Let’s define SLAs
React to traffic and failures
Interactions will get tricky
Compatibility, contracts…
Tech Lead
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 24
Technical challenges – Microservices fertile ground
12 Factors
Codebase
Dependencies
Config
Backing services
Build release run
Processes
https://12factor.net/fr/
Production Ready
Alerts
Apache & Tomcat
Automated canary analysis
Autoscaling
Chaos
Consistent naming
ELB config
Health check
Immutable machine images
Squeeze testing
Staged, red/black
deployments
Timeouts, retries, fall-backs
Design for failure
Service discovery
Disposability
Dev/prod parity
Port binding
Concurrency
Logs
Admin processes
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 25
Technical challenges – Some problems the team encountered
X Months
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 26
Technical challenges – Some problems the team encountered
 Distributed transactions
 Reactive Infrastructure
< Automated deployment
< Elasticity
< Discovery
< Design for failure
< Self-healing
 Tests
< Chaos engineering
< Consumer driven contracts
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 27
Distributed transaction (in a microservice architecture)
< A single event results in the mutation of two or more
separate sources of data which cannot be committed
atomically.
< Distributed transactions in microservices should be
avoided as much as possible.
< No more atomicity, eventual consistency instead
Technical challenges – Distributed transaction
http://www.grahamlea.com/2016/08/distributed-transactions-microservices-icebergs/
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Choreography
< Sub-transactions, with associated revert sub-transaction
< Use idempotent transactions or handle failure manually
< Lock if you don’t want revert transactions (loss of availability,
gain in atomicity)
28
Technical challenges – Distributed transaction
SCA
C AS
C S
C-1
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Choreography
Natural, instinctive pattern
Simple, easy to understand
Minimal effort
No coupling to other components
Idempotence
design for failure
Scales with potentially exponential complexity
Cyclic dependencies are hard to diagnose
End to end testing is challenging
29
Technical challenges – Distributed transaction
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Orchestrator
< A log of transactions is maintained
< Reverse transactions are played sequentially in case of error
< Design for failure using idempotent transactions, including reverse ones
30
Technical challenges – Distributed transaction
C AS C C-1S
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 « Smart end-points, dumb pipes »
 Not as centralised governance
 It is just another service
 Ideally internal to the team
31
 Smart pipes often seen
 Centralised governance
 One service to rule them all…
 Maintained by one team, involves most teams
Technical challenges – Distributed transaction
Looks like an ESB !?
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Orchestrator
No cyclic dependencies
Centralised logic
Simplifies services
Easier to test
Linear complexity
Idempotence
design for failure
Single point of failure (redundancy helps)
Centralised logic
Stronger coupling
32
Technical challenges – Distributed transaction
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 33
Technical challenges – The journey so far
What we’ve covered
< Requirements: create a fertile ground, understand
micro-service’s non-negotiable characteristics
< Transactions: control and master the ”availability VS
atomicity” trade-off
In the next section
< Reactive infrastructure: a system that reacts to
failure and changing traffic
< Tests: automating to mitigate the new risks involved
in the micro-services architecture style
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Define SLAs for each service
< RPO
< RTO
< Response time
< Maximum load
< Guaranteed uptime
< etc…
 Use current ones if you have no idea
< Prevents decay
< Informs potential users
Technical challenges – Measure
34
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 System uptime is the product of services uptimes
< 99.99% uptime means 53 minutes downtime
< becomes 8 to 9 hours a year when combined
 Downtime will happen, make it a non-event
< Hystrix
< Resilient4j
< …
 Monitoring becomes more critical than ever
< Configure alerts
< Display important system metrics for all to see
Technical challenges – Monitoring
https://www.youtube.com/watch?v=SmRcSezrsZM
Josh Evans QCon San Fransisco 2016
35
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Leverage cloud technology
< Autoscaling groups
< Availability zones, regions.
< Cloudwatch alarms
 Built-in service discovery for on premises
< Kubernetes
< Marathon
< Mesos
 Use service registries directly
< Eureka (Spring stack)
< Apache Zookeeper
< Consul
< etcd
Technical challenges – Elasticity, self healing, resilience
36
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 37
 Define a stable state, using a control group
 Introduce variations in the experiment group
 Measure differences and act accordingly
https://principlesofchaos.org
Control group Experiment group
Technical challenges – Chaos engineering
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 38
 Maturing very rapidly
 Lots of libraries and tools to chose from
 Don’t start with tests in prod
Technical challenges – Chaos engineering
https://github.com/dastergon/awesome-chaos-engineering
Security testing in AWS
Chaos monkey equivalent for Docker
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 39
https://martinfowler.com/articles/microservice-testing/
Technical challenges – Know your classics
VS.
Manual
User Interface
Integration
Unit
Unit
Integration
End to end
Component
Exploratory
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 40
Technical challenges – Communication
What we’ve covered
< Reactive infrastructure: SLAs, monitoring, alerting,
self-healing, automated scaling,…
< Tests: infrastructure, service level
In the next section
< Tests: interaction between connected services,
consumer driven contracts
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 41
 The impact of an API change is greatly increased
< Deployments happen independently
< Service dependencies are multiplied
 Working with separated teams
< Release management
< Version management
 RESTful API design
< Harmonise
< Use clear guidelines
 Consumer driven contract
Technical challenges – Services interactions
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 42
Technical challenges – Know your classics
Postel’s LAW – Robustness principle
« Be conservative in what you send, be liberal in what you accept »
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 43
 The PACT is written and maintained
< By consumers
< Using pull requests
 Library available in many languages
< Java, JavaScript, .NET, Ruby, Go, Swift, Python
 Well documented, not trivial though
https://github.com/pact-foundation/
Technical challenges – Consumer driven contract
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 44
Step 1 – Define consumer expectations
Technical challenges – Consumer driven contract
Consumer Provider
PACT
HTTP Request
HTTP Response
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 45
Step 2 – Verify expectations on Provider
Technical challenges – Consumer driven contract
Consumer Provider
PACT
HTTP Request
HTTP Response
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 46
 Each PACT change triggers automated tests
 Spring proposes another great option
https://spring.io/guides/gs/contract-rest/
https://cloud.spring.io/spring-cloud-contract/
https://github.com/pact-foundation/
Technical challenges – Consumer driven contract
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 47
Microservices architectural style: some characteristics
 Distributed
 Context bounded
 Autonomous
 Responsible and accountable
for a given purpose
 Loosely coupled
 Lightweight messages
 Asynchronous
 Failure proof
 Evolutive
T H E R E I S A B E T T E R
W A Y
Culture
&
Organisation
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
“Organisations which design systems
[...] are constrained to produce designs
which are copies of the
communication structures of these
organisations.”
Melvin Conway, 1967
49
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 50
Corollary #1:
the software interface structure of a
system will reflect the social
boundaries of the organization(s) that
produced it.
Corollary #1:
the software interface structure of a
system is bounded by the social
boundaries of the organization(s) that
produced it.
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 51
“No matter how it looks at first,
it's always a people problem”
Gerald Weinberg
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 52
They have tougher problems than ours, but we can get inspiration
Other disciplines than IT have organisational challenges
Auftragstaktik
 Leaders share the vision
 Orders must be clear and minimalistic
 Independence is given to ground teams
(XIXth century)
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 53
Systemic
Team level
organisation
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 54
1 service = 1 business responsibility
The team perimeter: 1 team = 1 business purpose
 People are dedicated to 1 team (modulo exceptions)
 Multi competencies (PO, Dev, Ops, UX etc.)
 5-12 persons
 Stable through time
 Consequence: your monolith organisation
must be reshaped
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 A team can choose
< its technology
< Its methodology
< Its rituals
< Its inner organisation principles
 From upper management, autonomy needs trust
< Trust must be given upfront
< And trust induces risks
< But risk is a side effect of action.
55
A team is autonomous
A micro-service is not tied to other services inner intricacies
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Dev + Ops together
 Must honor SLAs
 Dev are also on pager duty
 Quality becomes not negotiable
56
A team is accountable
A micro service is resilient, automatically deployed
“You build it, you run it”
Werner Vogels, cto@amazon.com (1)
(1) Yes, colleague of the CEO who proposed to fire anyone
who did not expose their data through an API, or left
open backdoors in their services…
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Blind autonomy can be a risk:
< Reinventing the wheel
< Inefficient continuous improvement
< Operational and technological drift
 A balance must be found between variance and standardisation
 Warning: beware of the temptation to impose technical solutions top-down
57
Cross team drift
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Community of practice, to share skills
 Core component teams, on specific
domains (security…)
 Opportunistic channels (coffee machine, 20%
R&D, people switching hackathons)
58
Cross team knowledge sharing
Communities
of practice
Core component team
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Agile can scale:
< Scrum of Scrum
< Product owner synchronization
< Public demo
 Use different time scales (vision, roadmap, sprint
etc.) to share and adapt
 Communication between teams must be lean.
 Communication between teams nurtures healthy
conflicts and is regular.
59
Inter team roadmap communication
Microservices are autonomous, not isolated
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 60
Inter team operational communication
Microservices are autonomous, not isolated
“Everything must be made as
simple as possible, but no simpler.”
Albert Einstein
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 61
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 62
But what will happen to middle management?
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 63
“Culture eats Strategy for breakfast”
Peter Drucker
“You cannot change culture, but
you can change behaviors
(and behaviors become culture)”
Damon Edwards
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 64
Are you afraid?
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 65
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 66
Systemic
Team level
organisation
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 67
Systemic
Team level organisation
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Software Craftsmanship
 Motivations: get better and share knowledge
 Developing software is as prestigious job
 Technical mastering shall be celebrated by the company
ww.jaegerguitars.com
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
 Bet on collaboration before IQ
 Rituals are not enough.
 Mutual trust, psychological safety with:
< Feedback
< Collaborative decision
 Acknowledge and welcome failure
69
Communication within the team
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Conway’s Lay, corollary #2
(aka “the reverse Conway maneuver”)
Change your team and organisational structure to
promote your desired architecture. Ideally your
technology architecture will slowly morph to match your
business architecture
70
T H E R E I S A B E T T E R
W A Y
And now,
Shall I go?
71
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Experience Feedbacks 3/3
Success & Failure : a digital firm, with a solid set of technical skills and great culture
14 microservices, fan out – fan in messaging system
Continuous delivery
Partial infra as code
Bamboo – not versioned
Granularity way too thin
Operational nightmare
Great team
Complete autonomy
Documentation lacking
Designed by one person
Infamous project
72
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Experience Feedbacks 3/3
Success & Failure : a digital firm, with a solid set of technical skills and great culture
14 microservices, fan out – fan in messaging system Huge product - 10,000+ classes
Continuous delivery
Partial infra as code
Bamboo – not versioned
Granularity way too thin
Operational nightmare
Great team
Complete autonomy
Documentation lacking
Designed by one person
Infamous project
Great team
Complete autonomy
Customised rituals
Consensus approach
Developing PO
Wrong Tech choice
Continuous delivery
Infrastructure as code
Coverage, modularity
Tactical peeling
No naming conventions
Very complex
73
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
Experience Feedbacks 3/3
Success & Failure : a digital firm, with a solid set of technical skills and great culture
14 microservices, fan out – fan in messaging system
Continuous delivery
Partial infra as code
Bamboo – not versioned
Granularity way too thin
Operational nightmare
Great team
Complete autonomy
Documentation lacking
Designed by one person
Infamous project
Huge product - 10,000+ classes
Great team
Complete autonomy
Customised rituals
Consensus approach
Developing PO
Wrong Tech choice
Continuous delivery
Infrastructure as code
Coverage, modularity
Tactical peeling
No naming conventions
Very complex
74
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 75
Conclusion
This was just a peek at a very demanding architectural style
Consulting
& Transformation
Training Program myUSI
Conferences
Why
< Beware of over-engineering
How
< Fertilise your technical, cultural and organisational ground
What
< Identify the ideal candidate
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
DID YOU LIKE THE CONFERENCE?
Please fill in the questionnaire and return it on your way to the cocktail !
OCTO TECHNOLOGY > THERE IS A BETTER WAY 76OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 76
OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
DevOps
8 présentationsDes retours
d’expérience
C’EST ARRIVÉ
PRÈS DE CHEZ VOUS
Un après-midi pour apprendre et partager
Genève, le 9 octobre 2018, de 13h à 19h
Des solutions
pratiques
77
LES PLACES
SONT LIMITÉES
INSCRIVEZ-VOUS!
http://bit.ly/devopsgva

Contenu connexe

Similaire à An afterwork on Microservices by @OCTO Technology Switzerland

Log Analytics for Distributed Microservices
Log Analytics for Distributed MicroservicesLog Analytics for Distributed Microservices
Log Analytics for Distributed MicroservicesKai Wähner
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
 
Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017Ali Kheyrollahi
 
Engineering Systems For The Cloud
Engineering Systems For The CloudEngineering Systems For The Cloud
Engineering Systems For The CloudTrevor Warren
 
Startup InsurTech Award - Galileo Platforms
Startup InsurTech Award - Galileo PlatformsStartup InsurTech Award - Galileo Platforms
Startup InsurTech Award - Galileo PlatformsThe Digital Insurer
 
meet2016: Reshaping Business Through IoT: Key Technology Factors to Consider
meet2016: Reshaping Business Through IoT: Key Technology Factors to Considermeet2016: Reshaping Business Through IoT: Key Technology Factors to Consider
meet2016: Reshaping Business Through IoT: Key Technology Factors to ConsiderRoberto Siagri
 
Reshaping Business Through IoT: Key Technology Factors to Consider
Reshaping Business Through IoT: Key Technology Factors to ConsiderReshaping Business Through IoT: Key Technology Factors to Consider
Reshaping Business Through IoT: Key Technology Factors to ConsiderEurotech
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichChristian Deger
 
apidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.io
apidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.ioapidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.io
apidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.ioapidays
 
Production ready kubernetes
Production ready kubernetesProduction ready kubernetes
Production ready kubernetesArnaud MAZIN
 
The Future of Service Mesh
The Future of Service MeshThe Future of Service Mesh
The Future of Service MeshAll Things Open
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro FrontendMiki Lombardi
 
Patterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservicesPatterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservicesKarina Mora
 
Cisco Connect 2018 Indonesia - Building a secure data center
Cisco Connect 2018 Indonesia - Building a secure data center Cisco Connect 2018 Indonesia - Building a secure data center
Cisco Connect 2018 Indonesia - Building a secure data center NetworkCollaborators
 
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINX
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINXSecure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINX
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINXNGINX, Inc.
 
Oracle Code Capgemini: API management & microservices a match made in heaven
Oracle Code Capgemini: API management & microservices a match made in heavenOracle Code Capgemini: API management & microservices a match made in heaven
Oracle Code Capgemini: API management & microservices a match made in heavenluisw19
 
IoT: beyond the coffee machine
IoT: beyond the coffee machineIoT: beyond the coffee machine
IoT: beyond the coffee machineEric Favre
 
Meetup OpenTelemetry Intro
Meetup OpenTelemetry IntroMeetup OpenTelemetry Intro
Meetup OpenTelemetry IntroDimitrisFinas1
 

Similaire à An afterwork on Microservices by @OCTO Technology Switzerland (20)

Log Analytics for Distributed Microservices
Log Analytics for Distributed MicroservicesLog Analytics for Distributed Microservices
Log Analytics for Distributed Microservices
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017Microservice Architecture at ASOS - DevSum 2017
Microservice Architecture at ASOS - DevSum 2017
 
Engineering Systems For The Cloud
Engineering Systems For The CloudEngineering Systems For The Cloud
Engineering Systems For The Cloud
 
Culture flow
Culture flowCulture flow
Culture flow
 
Eliminate 7 Mudas
Eliminate 7 MudasEliminate 7 Mudas
Eliminate 7 Mudas
 
Startup InsurTech Award - Galileo Platforms
Startup InsurTech Award - Galileo PlatformsStartup InsurTech Award - Galileo Platforms
Startup InsurTech Award - Galileo Platforms
 
meet2016: Reshaping Business Through IoT: Key Technology Factors to Consider
meet2016: Reshaping Business Through IoT: Key Technology Factors to Considermeet2016: Reshaping Business Through IoT: Key Technology Factors to Consider
meet2016: Reshaping Business Through IoT: Key Technology Factors to Consider
 
Reshaping Business Through IoT: Key Technology Factors to Consider
Reshaping Business Through IoT: Key Technology Factors to ConsiderReshaping Business Through IoT: Key Technology Factors to Consider
Reshaping Business Through IoT: Key Technology Factors to Consider
 
Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 
apidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.io
apidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.ioapidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.io
apidays Paris 2022 - Blurred Lines, Denis Jannot, Solo.io
 
Production ready kubernetes
Production ready kubernetesProduction ready kubernetes
Production ready kubernetes
 
The Future of Service Mesh
The Future of Service MeshThe Future of Service Mesh
The Future of Service Mesh
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 
Patterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservicesPatterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservices
 
Cisco Connect 2018 Indonesia - Building a secure data center
Cisco Connect 2018 Indonesia - Building a secure data center Cisco Connect 2018 Indonesia - Building a secure data center
Cisco Connect 2018 Indonesia - Building a secure data center
 
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINX
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINXSecure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINX
Secure, Strengthen, Automate, and Scale Modern Workloads with Red Hat & NGINX
 
Oracle Code Capgemini: API management & microservices a match made in heaven
Oracle Code Capgemini: API management & microservices a match made in heavenOracle Code Capgemini: API management & microservices a match made in heaven
Oracle Code Capgemini: API management & microservices a match made in heaven
 
IoT: beyond the coffee machine
IoT: beyond the coffee machineIoT: beyond the coffee machine
IoT: beyond the coffee machine
 
Meetup OpenTelemetry Intro
Meetup OpenTelemetry IntroMeetup OpenTelemetry Intro
Meetup OpenTelemetry Intro
 

Plus de OCTO Technology Suisse

Afterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesAfterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesOCTO Technology Suisse
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?OCTO Technology Suisse
 
big data et data viz - du lac à votre écran - afterwork
big data et data viz - du lac à votre écran - afterwork big data et data viz - du lac à votre écran - afterwork
big data et data viz - du lac à votre écran - afterwork OCTO Technology Suisse
 
Dev wednesday-swiss-transport-realtime
Dev wednesday-swiss-transport-realtimeDev wednesday-swiss-transport-realtime
Dev wednesday-swiss-transport-realtimeOCTO Technology Suisse
 
Polar Expeditions and Agility: the 1910 Race to the South Pole and Modern Tales
Polar Expeditions and Agility: the 1910 Race to the South Pole and Modern TalesPolar Expeditions and Agility: the 1910 Race to the South Pole and Modern Tales
Polar Expeditions and Agility: the 1910 Race to the South Pole and Modern TalesOCTO Technology Suisse
 
Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...
Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...
Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...OCTO Technology Suisse
 
Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?OCTO Technology Suisse
 
Réussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobileRéussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobileOCTO Technology Suisse
 
L'ADN d'un développement produit réussi
L'ADN d'un développement produit réussiL'ADN d'un développement produit réussi
L'ADN d'un développement produit réussiOCTO Technology Suisse
 
Fintech : concurrents ou partenaires ?
Fintech : concurrents ou partenaires ?Fintech : concurrents ou partenaires ?
Fintech : concurrents ou partenaires ?OCTO Technology Suisse
 
Fintech demain comment travailler ensemble
Fintech   demain comment travailler ensembleFintech   demain comment travailler ensemble
Fintech demain comment travailler ensembleOCTO Technology Suisse
 
Softshake 2015 - Des small data aux big data - Méthodes et Technologies
Softshake 2015 - Des small data aux big data - Méthodes et TechnologiesSoftshake 2015 - Des small data aux big data - Méthodes et Technologies
Softshake 2015 - Des small data aux big data - Méthodes et TechnologiesOCTO Technology Suisse
 
Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?OCTO Technology Suisse
 
OCTO Technology - Data Driven Company - SITB15
OCTO Technology - Data Driven Company - SITB15OCTO Technology - Data Driven Company - SITB15
OCTO Technology - Data Driven Company - SITB15OCTO Technology Suisse
 

Plus de OCTO Technology Suisse (20)

Afterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiquesAfterwork Devops : vision et pratiques
Afterwork Devops : vision et pratiques
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
 
Afterwork "Décollez vers le Cloud"
Afterwork "Décollez vers le Cloud"Afterwork "Décollez vers le Cloud"
Afterwork "Décollez vers le Cloud"
 
big data et data viz - du lac à votre écran - afterwork
big data et data viz - du lac à votre écran - afterwork big data et data viz - du lac à votre écran - afterwork
big data et data viz - du lac à votre écran - afterwork
 
2017 03-29-elastic-meetup-kibana
2017 03-29-elastic-meetup-kibana2017 03-29-elastic-meetup-kibana
2017 03-29-elastic-meetup-kibana
 
Dev wednesday-swiss-transport-realtime
Dev wednesday-swiss-transport-realtimeDev wednesday-swiss-transport-realtime
Dev wednesday-swiss-transport-realtime
 
Cloud : en 2017, sortez du stratus !
Cloud : en 2017, sortez du stratus !Cloud : en 2017, sortez du stratus !
Cloud : en 2017, sortez du stratus !
 
Polar Expeditions and Agility: the 1910 Race to the South Pole and Modern Tales
Polar Expeditions and Agility: the 1910 Race to the South Pole and Modern TalesPolar Expeditions and Agility: the 1910 Race to the South Pole and Modern Tales
Polar Expeditions and Agility: the 1910 Race to the South Pole and Modern Tales
 
Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...
Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...
Afterwork Big Data - Data Science & Machine Learning : explorer, comprendre e...
 
Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?
 
Afterwork hadoop
Afterwork hadoopAfterwork hadoop
Afterwork hadoop
 
Réussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobileRéussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobile
 
L'ADN d'un développement produit réussi
L'ADN d'un développement produit réussiL'ADN d'un développement produit réussi
L'ADN d'un développement produit réussi
 
Fintech : concurrents ou partenaires ?
Fintech : concurrents ou partenaires ?Fintech : concurrents ou partenaires ?
Fintech : concurrents ou partenaires ?
 
Fintech demain comment travailler ensemble
Fintech   demain comment travailler ensembleFintech   demain comment travailler ensemble
Fintech demain comment travailler ensemble
 
Softshake 2015 - Des small data aux big data - Méthodes et Technologies
Softshake 2015 - Des small data aux big data - Méthodes et TechnologiesSoftshake 2015 - Des small data aux big data - Méthodes et Technologies
Softshake 2015 - Des small data aux big data - Méthodes et Technologies
 
Démystifions l'API-culture!
Démystifions l'API-culture!Démystifions l'API-culture!
Démystifions l'API-culture!
 
Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?
 
OCTO Technology - Data Driven Company - SITB15
OCTO Technology - Data Driven Company - SITB15OCTO Technology - Data Driven Company - SITB15
OCTO Technology - Data Driven Company - SITB15
 
Afterwork - La Révolution Digitale
Afterwork - La Révolution DigitaleAfterwork - La Révolution Digitale
Afterwork - La Révolution Digitale
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Dernier (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

An afterwork on Microservices by @OCTO Technology Switzerland

  • 1. I want my microservices! AVENUE DU THEATRE 7 > 1005 LAUSANNE > SUISSE > WWW.OCTO.COM 28 juin 2018 - Geneva @OCTOSuisse #afterwork #microservices
  • 2. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 2 Bertrand LE FOULGOC Senior Consultant @OCTOSuisse +41 79 138 01 22 blefoulgoc@octo.com Alexandre MASSELOT Consultant @OCTOSuisse +41 75 418 79 34 amasselot@octo.com OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 2
  • 3. 3
  • 4. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 4 OCTO Technology: Transformation Catalyst HUMAN & TOOLS EXCUBATIONINCUBATION SHARING KNOWLEDGE
  • 5. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable It’s DevOps Season In Switzerland 5
  • 6. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable It’s DevOps Season In Switzerland DevOps vision et pratiques May 2nd 2018 Êtes-vous API dans votre organisation ? March 7th 2018 Décollez vers le Cloud ! December 6th 2017 I want my microservices ! June 28th 2018 DevOps: c’est arrivé près de chez vous Afternoon - October 9th 2018 6 http://bit.ly/devopsgva
  • 7. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Why an event on Microservices? 7
  • 8. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 8  27 virtual machines entangled  50 man.hours to deploy  Outdated technologies  No methodology  No tests  No monitoring  Endless night calls Experience Feedbacks 1/3 Converging towards a distributed architecture BEFORE  Product Owner position, with a product mindset  Software craftsmanship  Infrastructure as Code  The Dev & Ops wall fell  A more serene team  Practice spread to other teams AFTER (~ same people)  It is a long journey  Falling back to bad habits is always a risk BUT A web portal aggregating complex flows of data 12-18 months
  • 9. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  “Allo OCTO. Can you come and bring DevOps|Microservices with you” (insurances, banks, food, industry etc.)  Customers seeking for a magic wand  A tough journey through technological and organizational shifts 9 Experience Feedbacks 2/3 Common in calls
  • 10. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Experience Feedbacks 3/3 Successes & Failures in the same environment: a real estate digital company, with solid technical skills 10
  • 11. T H E R E I S A B E T T E R W A Y What are Microservices? 11
  • 12. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 12 Evolution of coupling within complex applications 1990s (and earlier) Monolith Tight coupling 2000s Traditional SOA Looser coupling 2010s Microservices Decoupled next ?
  • 13. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and Martin Fowler, 2014 13
  • 14. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable From monolith to microservices 1. Regain control of your monolith 2. Split it in loosely coupled modules 14 runtime
  • 15. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable If you cannot build a well- structured monolith, what makes you think microservices are the answer? Simon Brown 15 From monolith to microservices
  • 16. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Distributed  Context bounded  Autonomous  Responsible and accountable for a given purpose  Loosely coupled  Lightweight messages  Asynchronous  Failure proof  Evolutive 16 Microservices architectural style: some characteristics
  • 17. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Distributed  Context bounded  Autonomous  Responsible and accountable for a given purpose  Loosely coupled  Lightweight messages  Asynchronous  Failure proof  Evolutive 17 Microservices architectural style: some characteristics  Biology  Ecology  Economics  Social sciences
  • 18. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 18 Microservices architectural style: some characteristics  Distributed  Context bounded  Autonomous  Responsible and accountable for a given purpose  Loosely coupled  Lightweight messages  Asynchronous  Failure proof  Evolutive This is OCTO’s vision of Architecture
  • 19. T H E R E I S A B E T T E R W A Y Motivations Behind Microservices 19
  • 20. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Booking a ski holiday in Switzerland <Flight <Car rental <Chalet with ski equipment  Monolithic application 20 HappySkiHolidays.com
  • 21. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 21 Meet Moss’s team Moss: Dev So much code! 6 months to ramp up Isolating a bug is so hard Still on java 5!? UI/UX Designer My potential is wasted here Moss keeps saying : ”we cannot to that” Oprah: Ops Two instances 24/7… Just for the winter rush!? Tech Lead We need to scale A full rewrite is too costly Product Owner The competition is onto us… Why is this taking so long?
  • 22. T H E R E I S A B E T T E R W A Y Challenges & Solutions 22
  • 23. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 23 Challenges Moss: Dev Oprah: Ops We must pay tech debt first Modularise the app No shared state Let’s define SLAs React to traffic and failures Interactions will get tricky Compatibility, contracts… Tech Lead
  • 24. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 24 Technical challenges – Microservices fertile ground 12 Factors Codebase Dependencies Config Backing services Build release run Processes https://12factor.net/fr/ Production Ready Alerts Apache & Tomcat Automated canary analysis Autoscaling Chaos Consistent naming ELB config Health check Immutable machine images Squeeze testing Staged, red/black deployments Timeouts, retries, fall-backs Design for failure Service discovery Disposability Dev/prod parity Port binding Concurrency Logs Admin processes
  • 25. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 25 Technical challenges – Some problems the team encountered X Months
  • 26. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 26 Technical challenges – Some problems the team encountered  Distributed transactions  Reactive Infrastructure < Automated deployment < Elasticity < Discovery < Design for failure < Self-healing  Tests < Chaos engineering < Consumer driven contracts
  • 27. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 27 Distributed transaction (in a microservice architecture) < A single event results in the mutation of two or more separate sources of data which cannot be committed atomically. < Distributed transactions in microservices should be avoided as much as possible. < No more atomicity, eventual consistency instead Technical challenges – Distributed transaction http://www.grahamlea.com/2016/08/distributed-transactions-microservices-icebergs/
  • 28. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Choreography < Sub-transactions, with associated revert sub-transaction < Use idempotent transactions or handle failure manually < Lock if you don’t want revert transactions (loss of availability, gain in atomicity) 28 Technical challenges – Distributed transaction SCA C AS C S C-1
  • 29. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Choreography Natural, instinctive pattern Simple, easy to understand Minimal effort No coupling to other components Idempotence design for failure Scales with potentially exponential complexity Cyclic dependencies are hard to diagnose End to end testing is challenging 29 Technical challenges – Distributed transaction
  • 30. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Orchestrator < A log of transactions is maintained < Reverse transactions are played sequentially in case of error < Design for failure using idempotent transactions, including reverse ones 30 Technical challenges – Distributed transaction C AS C C-1S
  • 31. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  « Smart end-points, dumb pipes »  Not as centralised governance  It is just another service  Ideally internal to the team 31  Smart pipes often seen  Centralised governance  One service to rule them all…  Maintained by one team, involves most teams Technical challenges – Distributed transaction Looks like an ESB !?
  • 32. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Orchestrator No cyclic dependencies Centralised logic Simplifies services Easier to test Linear complexity Idempotence design for failure Single point of failure (redundancy helps) Centralised logic Stronger coupling 32 Technical challenges – Distributed transaction
  • 33. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 33 Technical challenges – The journey so far What we’ve covered < Requirements: create a fertile ground, understand micro-service’s non-negotiable characteristics < Transactions: control and master the ”availability VS atomicity” trade-off In the next section < Reactive infrastructure: a system that reacts to failure and changing traffic < Tests: automating to mitigate the new risks involved in the micro-services architecture style
  • 34. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Define SLAs for each service < RPO < RTO < Response time < Maximum load < Guaranteed uptime < etc…  Use current ones if you have no idea < Prevents decay < Informs potential users Technical challenges – Measure 34
  • 35. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  System uptime is the product of services uptimes < 99.99% uptime means 53 minutes downtime < becomes 8 to 9 hours a year when combined  Downtime will happen, make it a non-event < Hystrix < Resilient4j < …  Monitoring becomes more critical than ever < Configure alerts < Display important system metrics for all to see Technical challenges – Monitoring https://www.youtube.com/watch?v=SmRcSezrsZM Josh Evans QCon San Fransisco 2016 35
  • 36. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Leverage cloud technology < Autoscaling groups < Availability zones, regions. < Cloudwatch alarms  Built-in service discovery for on premises < Kubernetes < Marathon < Mesos  Use service registries directly < Eureka (Spring stack) < Apache Zookeeper < Consul < etcd Technical challenges – Elasticity, self healing, resilience 36
  • 37. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 37  Define a stable state, using a control group  Introduce variations in the experiment group  Measure differences and act accordingly https://principlesofchaos.org Control group Experiment group Technical challenges – Chaos engineering
  • 38. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 38  Maturing very rapidly  Lots of libraries and tools to chose from  Don’t start with tests in prod Technical challenges – Chaos engineering https://github.com/dastergon/awesome-chaos-engineering Security testing in AWS Chaos monkey equivalent for Docker
  • 39. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 39 https://martinfowler.com/articles/microservice-testing/ Technical challenges – Know your classics VS. Manual User Interface Integration Unit Unit Integration End to end Component Exploratory
  • 40. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 40 Technical challenges – Communication What we’ve covered < Reactive infrastructure: SLAs, monitoring, alerting, self-healing, automated scaling,… < Tests: infrastructure, service level In the next section < Tests: interaction between connected services, consumer driven contracts
  • 41. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 41  The impact of an API change is greatly increased < Deployments happen independently < Service dependencies are multiplied  Working with separated teams < Release management < Version management  RESTful API design < Harmonise < Use clear guidelines  Consumer driven contract Technical challenges – Services interactions
  • 42. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 42 Technical challenges – Know your classics Postel’s LAW – Robustness principle « Be conservative in what you send, be liberal in what you accept »
  • 43. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 43  The PACT is written and maintained < By consumers < Using pull requests  Library available in many languages < Java, JavaScript, .NET, Ruby, Go, Swift, Python  Well documented, not trivial though https://github.com/pact-foundation/ Technical challenges – Consumer driven contract
  • 44. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 44 Step 1 – Define consumer expectations Technical challenges – Consumer driven contract Consumer Provider PACT HTTP Request HTTP Response
  • 45. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 45 Step 2 – Verify expectations on Provider Technical challenges – Consumer driven contract Consumer Provider PACT HTTP Request HTTP Response
  • 46. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 46  Each PACT change triggers automated tests  Spring proposes another great option https://spring.io/guides/gs/contract-rest/ https://cloud.spring.io/spring-cloud-contract/ https://github.com/pact-foundation/ Technical challenges – Consumer driven contract
  • 47. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 47 Microservices architectural style: some characteristics  Distributed  Context bounded  Autonomous  Responsible and accountable for a given purpose  Loosely coupled  Lightweight messages  Asynchronous  Failure proof  Evolutive
  • 48. T H E R E I S A B E T T E R W A Y Culture & Organisation
  • 49. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable “Organisations which design systems [...] are constrained to produce designs which are copies of the communication structures of these organisations.” Melvin Conway, 1967 49
  • 50. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 50 Corollary #1: the software interface structure of a system will reflect the social boundaries of the organization(s) that produced it. Corollary #1: the software interface structure of a system is bounded by the social boundaries of the organization(s) that produced it.
  • 51. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 51 “No matter how it looks at first, it's always a people problem” Gerald Weinberg
  • 52. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 52 They have tougher problems than ours, but we can get inspiration Other disciplines than IT have organisational challenges Auftragstaktik  Leaders share the vision  Orders must be clear and minimalistic  Independence is given to ground teams (XIXth century)
  • 53. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 53 Systemic Team level organisation
  • 54. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 54 1 service = 1 business responsibility The team perimeter: 1 team = 1 business purpose  People are dedicated to 1 team (modulo exceptions)  Multi competencies (PO, Dev, Ops, UX etc.)  5-12 persons  Stable through time  Consequence: your monolith organisation must be reshaped
  • 55. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  A team can choose < its technology < Its methodology < Its rituals < Its inner organisation principles  From upper management, autonomy needs trust < Trust must be given upfront < And trust induces risks < But risk is a side effect of action. 55 A team is autonomous A micro-service is not tied to other services inner intricacies
  • 56. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Dev + Ops together  Must honor SLAs  Dev are also on pager duty  Quality becomes not negotiable 56 A team is accountable A micro service is resilient, automatically deployed “You build it, you run it” Werner Vogels, cto@amazon.com (1) (1) Yes, colleague of the CEO who proposed to fire anyone who did not expose their data through an API, or left open backdoors in their services…
  • 57. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Blind autonomy can be a risk: < Reinventing the wheel < Inefficient continuous improvement < Operational and technological drift  A balance must be found between variance and standardisation  Warning: beware of the temptation to impose technical solutions top-down 57 Cross team drift
  • 58. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Community of practice, to share skills  Core component teams, on specific domains (security…)  Opportunistic channels (coffee machine, 20% R&D, people switching hackathons) 58 Cross team knowledge sharing Communities of practice Core component team
  • 59. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Agile can scale: < Scrum of Scrum < Product owner synchronization < Public demo  Use different time scales (vision, roadmap, sprint etc.) to share and adapt  Communication between teams must be lean.  Communication between teams nurtures healthy conflicts and is regular. 59 Inter team roadmap communication Microservices are autonomous, not isolated
  • 60. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 60 Inter team operational communication Microservices are autonomous, not isolated “Everything must be made as simple as possible, but no simpler.” Albert Einstein
  • 61. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 61
  • 62. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 62 But what will happen to middle management?
  • 63. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 63 “Culture eats Strategy for breakfast” Peter Drucker “You cannot change culture, but you can change behaviors (and behaviors become culture)” Damon Edwards
  • 64. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 64 Are you afraid?
  • 65. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 65
  • 66. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 66 Systemic Team level organisation
  • 67. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 67 Systemic Team level organisation
  • 68. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Software Craftsmanship  Motivations: get better and share knowledge  Developing software is as prestigious job  Technical mastering shall be celebrated by the company ww.jaegerguitars.com
  • 69. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable  Bet on collaboration before IQ  Rituals are not enough.  Mutual trust, psychological safety with: < Feedback < Collaborative decision  Acknowledge and welcome failure 69 Communication within the team
  • 70. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Conway’s Lay, corollary #2 (aka “the reverse Conway maneuver”) Change your team and organisational structure to promote your desired architecture. Ideally your technology architecture will slowly morph to match your business architecture 70
  • 71. T H E R E I S A B E T T E R W A Y And now, Shall I go? 71
  • 72. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Experience Feedbacks 3/3 Success & Failure : a digital firm, with a solid set of technical skills and great culture 14 microservices, fan out – fan in messaging system Continuous delivery Partial infra as code Bamboo – not versioned Granularity way too thin Operational nightmare Great team Complete autonomy Documentation lacking Designed by one person Infamous project 72
  • 73. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Experience Feedbacks 3/3 Success & Failure : a digital firm, with a solid set of technical skills and great culture 14 microservices, fan out – fan in messaging system Huge product - 10,000+ classes Continuous delivery Partial infra as code Bamboo – not versioned Granularity way too thin Operational nightmare Great team Complete autonomy Documentation lacking Designed by one person Infamous project Great team Complete autonomy Customised rituals Consensus approach Developing PO Wrong Tech choice Continuous delivery Infrastructure as code Coverage, modularity Tactical peeling No naming conventions Very complex 73
  • 74. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Experience Feedbacks 3/3 Success & Failure : a digital firm, with a solid set of technical skills and great culture 14 microservices, fan out – fan in messaging system Continuous delivery Partial infra as code Bamboo – not versioned Granularity way too thin Operational nightmare Great team Complete autonomy Documentation lacking Designed by one person Infamous project Huge product - 10,000+ classes Great team Complete autonomy Customised rituals Consensus approach Developing PO Wrong Tech choice Continuous delivery Infrastructure as code Coverage, modularity Tactical peeling No naming conventions Very complex 74
  • 75. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 75 Conclusion This was just a peek at a very demanding architectural style Consulting & Transformation Training Program myUSI Conferences Why < Beware of over-engineering How < Fertilise your technical, cultural and organisational ground What < Identify the ideal candidate
  • 76. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable DID YOU LIKE THE CONFERENCE? Please fill in the questionnaire and return it on your way to the cocktail ! OCTO TECHNOLOGY > THERE IS A BETTER WAY 76OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 76
  • 77. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable DevOps 8 présentationsDes retours d’expérience C’EST ARRIVÉ PRÈS DE CHEZ VOUS Un après-midi pour apprendre et partager Genève, le 9 octobre 2018, de 13h à 19h Des solutions pratiques 77 LES PLACES SONT LIMITÉES INSCRIVEZ-VOUS! http://bit.ly/devopsgva