SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Things I wish I'd known before I started
with Microservices
1
GOTO Amsterdam - June 18, 2015
Who are we?
2
Steve Judd - Lead Consultant
Tareq Abedrabbo - CTO
OpenCredo - an Open Source software consultancy
Things I wish I'd known before I started with
Microservices
What?
Why?
How?
3
Agenda
What’s the story morning glory?
4
“Gotta have a definition, right?”
• It is an architecture choice, not a design pattern
• Independently deployable software components
(services)
• Stateless, loosely coupled, resilient
• Communicate via explicit, published APIs
• Each service fulfils a single business capability
• Automated testing and deployment is essential
5
WHAT
So, what’s the big deal?
6
Go on, convince me….
• Encourages:
★ loose-coupling
★ separation of concerns
★ single responsibility principle
★ domain-driven design
• Good fit with Agile development practices
• Well-suited to a containerised infrastructure
7
WHY
8
And are Microservices really the new black?
Monoliths: friend or foe?
9
Monoliths
• Familiar & well-
understood
• Easy to develop, build &
deploy
• Consequences of
changing domain design
are localised
• Limited scaling choices
• Long-term commitment to
tech stack (technology
lock-in)
Microservices
• Flexible scaling options
• Enables independence in
development and
deployment
• Reduces technology lock-in
• Better fault tolerance
• Build/deploy/execution
infrastructure is complex
(automation a must)
• Getting the domain (service)
boundaries right can be
difficult
WHY
10
Monoliths
• Familiar & well-
understood
• Easy to develop, build &
deploy
• Consequences of
changing domain design
are localised
• Limited scaling choices
• Long-term commitment to
tech stack (technology
lock-in)
Microservices
• Flexible scaling options
• Enables independence in
development and
deployment
• Reduces technology lock-in
• Better fault tolerance
• Build/deploy/execution
infrastructure is complex
(automation a must)
• Getting the domain (service)
boundaries right can be
difficult
WHY
11
Monoliths
• Familiar & well-
understood
• Easy to develop, build &
deploy
• Consequences of
changing domain design
are localised
• Limited scaling choices
• Long-term commitment to
tech stack (technology
lock-in)
Microservices
• Flexible scaling options
• Enables independence in
development and
deployment
• Reduces technology lock-in
• Better fault tolerance
• Build/deploy/execution
infrastructure is complex
(automation a must)
• Getting the domain (service)
boundaries right can be
difficult
WHY
The importance of contracts
12
“Until the contract is agreed, nothing is real”
• Design your API contracts first
• Communicate them well
• Use tools to document them, e.g
• apidocjs (http://apidocjs.com/)

• swagger (http://swagger.io)

• spring-restdocs (https://github.com/spring-projects/spring-restdocs)

• Be mindful of the impact of changing an API
13
HOW
• If you don’t specify your contract, you end up with an
implicit one anyway
• Use the power of resources (HTTP and REST)
• Location
• Uniform interface
• Status codes
• Representations
14
HOW
Does size matter?
15
Provide as many APIs and Services as you need but no more
• Size - what really matters is quality not quantity
• Services should be decoupled conceptually so that
they can evolve independently
• Services should be decoupled technically so that they
can be managed independently
• What do I do, practically?
• Co-locate services, but avoid implicit dependancies
though shared common objects
• Separate services but avoid sharing (domain) libraries
16
HOW
• Don’t stress about how many APIs or Services
• Do stress about designing an appropriate domain models
for your services
• Don’t separate your services based on technical
boundaries
• Do separate your services based on self-contained
functions
17
HOW
Separating the men from the boys
18
What does a good microservice look like?
• Logging & monitoring
✤ Centralised collection
✤ Many more moving parts
• How the services are managed
• External configuration
• Handling failure
• Inter-process communication
✤ Message serialisation/deserialisation
✤ Network overhead
19
HOW
And finally….
20
1. Specify your contracts first AND communicate them
2. Design for scale: infrastructure, processes, services
3. You’ll need to pay the Distributed Service Tax
4. Everything is a Service (aka eat your own dogfood)
5. Invest in tooling and automation
21
Final takeaways
Thank you, any questions?
http://www.opencredo.com/blog
@OpenCredo
@cyberbliss
@tareq_abedrabbo
Environmental concerns
23
“Infrastructure is much more important than
architecture”
• Allowing more than one service direct access to the same
database
• Delaying or ignoring the introduction of good DevOps
practices
• Infrastructure management of instances and containers is
a challenge
• Performance
24
HOW

Mais conteúdo relacionado

Destaque

Windows 8.1 Update 1 Build Document - Replace Scenario
Windows 8.1 Update 1 Build Document - Replace ScenarioWindows 8.1 Update 1 Build Document - Replace Scenario
Windows 8.1 Update 1 Build Document - Replace ScenarioJacques van Rensburg
 
Windows 8.1 Update 1 Build Document - Refresh Scenario
Windows 8.1 Update 1 Build Document - Refresh ScenarioWindows 8.1 Update 1 Build Document - Refresh Scenario
Windows 8.1 Update 1 Build Document - Refresh ScenarioJacques van Rensburg
 
Things I wish I'd known before I started with Microservices - Software Circus...
Things I wish I'd known before I started with Microservices - Software Circus...Things I wish I'd known before I started with Microservices - Software Circus...
Things I wish I'd known before I started with Microservices - Software Circus...Steve Judd
 
Windows 8.1 Update 1 Build Document - New Computer Scenario
Windows 8.1 Update 1 Build Document - New Computer ScenarioWindows 8.1 Update 1 Build Document - New Computer Scenario
Windows 8.1 Update 1 Build Document - New Computer ScenarioJacques van Rensburg
 
共好讀書會|師父 The Knack:手寫計畫書
共好讀書會|師父 The Knack:手寫計畫書共好讀書會|師父 The Knack:手寫計畫書
共好讀書會|師父 The Knack:手寫計畫書Carrie Davalos
 
共好讀書會|團隊,從傳球開始:成功金字塔
共好讀書會|團隊,從傳球開始:成功金字塔共好讀書會|團隊,從傳球開始:成功金字塔
共好讀書會|團隊,從傳球開始:成功金字塔Carrie Davalos
 
共好讀書會 #10 狼學
共好讀書會 #10 狼學共好讀書會 #10 狼學
共好讀書會 #10 狼學Carrie Davalos
 
BEAUTIFUL SMILE = WONDERFUL ASSET
BEAUTIFUL SMILE = WONDERFUL ASSETBEAUTIFUL SMILE = WONDERFUL ASSET
BEAUTIFUL SMILE = WONDERFUL ASSETCarrie Davalos
 
Spectrum Community Investment Casebook May 2015lo-respages - LB
Spectrum Community Investment Casebook May 2015lo-respages - LBSpectrum Community Investment Casebook May 2015lo-respages - LB
Spectrum Community Investment Casebook May 2015lo-respages - LBSuzie Mundell
 
如何有感表達:情感連結的 5 個 P
如何有感表達:情感連結的 5 個 P如何有感表達:情感連結的 5 個 P
如何有感表達:情感連結的 5 個 PCarrie Davalos
 
Эврика - презентация о компании
Эврика - презентация о компанииЭврика - презентация о компании
Эврика - презентация о компанииАнтон Соловьёв
 
Aleem CV - Sales & Proposal coordinator
Aleem CV - Sales & Proposal coordinatorAleem CV - Sales & Proposal coordinator
Aleem CV - Sales & Proposal coordinatorMohammad Aleem
 
Zen and the Art of REST API documentation - MuCon London 2015
Zen and the Art of REST API documentation - MuCon London 2015Zen and the Art of REST API documentation - MuCon London 2015
Zen and the Art of REST API documentation - MuCon London 2015Steve Judd
 

Destaque (14)

Windows 8.1 Update 1 Build Document - Replace Scenario
Windows 8.1 Update 1 Build Document - Replace ScenarioWindows 8.1 Update 1 Build Document - Replace Scenario
Windows 8.1 Update 1 Build Document - Replace Scenario
 
Windows 8.1 Update 1 Build Document - Refresh Scenario
Windows 8.1 Update 1 Build Document - Refresh ScenarioWindows 8.1 Update 1 Build Document - Refresh Scenario
Windows 8.1 Update 1 Build Document - Refresh Scenario
 
Things I wish I'd known before I started with Microservices - Software Circus...
Things I wish I'd known before I started with Microservices - Software Circus...Things I wish I'd known before I started with Microservices - Software Circus...
Things I wish I'd known before I started with Microservices - Software Circus...
 
Windows 8.1 Update 1 Build Document - New Computer Scenario
Windows 8.1 Update 1 Build Document - New Computer ScenarioWindows 8.1 Update 1 Build Document - New Computer Scenario
Windows 8.1 Update 1 Build Document - New Computer Scenario
 
共好讀書會|師父 The Knack:手寫計畫書
共好讀書會|師父 The Knack:手寫計畫書共好讀書會|師父 The Knack:手寫計畫書
共好讀書會|師父 The Knack:手寫計畫書
 
共好讀書會|團隊,從傳球開始:成功金字塔
共好讀書會|團隊,從傳球開始:成功金字塔共好讀書會|團隊,從傳球開始:成功金字塔
共好讀書會|團隊,從傳球開始:成功金字塔
 
共好讀書會 #10 狼學
共好讀書會 #10 狼學共好讀書會 #10 狼學
共好讀書會 #10 狼學
 
BEAUTIFUL SMILE = WONDERFUL ASSET
BEAUTIFUL SMILE = WONDERFUL ASSETBEAUTIFUL SMILE = WONDERFUL ASSET
BEAUTIFUL SMILE = WONDERFUL ASSET
 
Spectrum Community Investment Casebook May 2015lo-respages - LB
Spectrum Community Investment Casebook May 2015lo-respages - LBSpectrum Community Investment Casebook May 2015lo-respages - LB
Spectrum Community Investment Casebook May 2015lo-respages - LB
 
如何有感表達:情感連結的 5 個 P
如何有感表達:情感連結的 5 個 P如何有感表達:情感連結的 5 個 P
如何有感表達:情感連結的 5 個 P
 
Эврика - презентация о компании
Эврика - презентация о компанииЭврика - презентация о компании
Эврика - презентация о компании
 
Aleem CV - Sales & Proposal coordinator
Aleem CV - Sales & Proposal coordinatorAleem CV - Sales & Proposal coordinator
Aleem CV - Sales & Proposal coordinator
 
Proyecto cosmeticos
Proyecto cosmeticosProyecto cosmeticos
Proyecto cosmeticos
 
Zen and the Art of REST API documentation - MuCon London 2015
Zen and the Art of REST API documentation - MuCon London 2015Zen and the Art of REST API documentation - MuCon London 2015
Zen and the Art of REST API documentation - MuCon London 2015
 

Semelhante a Things I wish I'd known before I started with Microservices - GOTO Amsterdam 2015

#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?Tammy Bednar
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfAhmed Misbah
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes Abdul Basit Munda
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and ServicePaulo Gaspar
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise appsSumit Sarkar
 
Microservices: Lessons from the Trenches
Microservices: Lessons from the TrenchesMicroservices: Lessons from the Trenches
Microservices: Lessons from the TrenchesGregory Beamer
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklugdominion
 
The Changing Role of IT: From Service Managers to Advisors
The Changing Role of IT:From Service Managers to AdvisorsThe Changing Role of IT:From Service Managers to Advisors
The Changing Role of IT: From Service Managers to AdvisorsJesse Stockall
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps StartupsDaniel Zivkovic
 
Agile enterprise integration
Agile enterprise integrationAgile enterprise integration
Agile enterprise integrationSimon Greig
 
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshService-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshChristian Posta
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
 
Microservices
MicroservicesMicroservices
MicroservicesPT.JUG
 
Changing the Game with Cloud, Microservices, and DevOps
Changing the Game with Cloud, Microservices, and DevOps Changing the Game with Cloud, Microservices, and DevOps
Changing the Game with Cloud, Microservices, and DevOps Brian Chambers
 
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Navigating the service mesh landscape with Istio, Consul Connect, and LinkerdNavigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Navigating the service mesh landscape with Istio, Consul Connect, and LinkerdChristian Posta
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hellmimmozzo_
 

Semelhante a Things I wish I'd known before I started with Microservices - GOTO Amsterdam 2015 (20)

#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and Service
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise apps
 
Microservices: Lessons from the Trenches
Microservices: Lessons from the TrenchesMicroservices: Lessons from the Trenches
Microservices: Lessons from the Trenches
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklug
 
The Changing Role of IT: From Service Managers to Advisors
The Changing Role of IT:From Service Managers to AdvisorsThe Changing Role of IT:From Service Managers to Advisors
The Changing Role of IT: From Service Managers to Advisors
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
Serverless Toronto helps Startups
Serverless Toronto helps StartupsServerless Toronto helps Startups
Serverless Toronto helps Startups
 
Agile enterprise integration
Agile enterprise integrationAgile enterprise integration
Agile enterprise integration
 
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshService-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
 
What are microservices
What are microservicesWhat are microservices
What are microservices
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Microservices
MicroservicesMicroservices
Microservices
 
Surviving microservices
Surviving microservicesSurviving microservices
Surviving microservices
 
Changing the Game with Cloud, Microservices, and DevOps
Changing the Game with Cloud, Microservices, and DevOps Changing the Game with Cloud, Microservices, and DevOps
Changing the Game with Cloud, Microservices, and DevOps
 
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Navigating the service mesh landscape with Istio, Consul Connect, and LinkerdNavigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
 
Microservice intro
Microservice introMicroservice intro
Microservice intro
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hell
 

Último

Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...nilamkumrai
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLimonikaupta
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...nirzagarg
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...SUHANI PANDEY
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...SUHANI PANDEY
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...nilamkumrai
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...Neha Pandey
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...SUHANI PANDEY
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...roncy bisnoi
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubaikojalkojal131
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋nirzagarg
 

Último (20)

Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
📱Dehradun Call Girls Service 📱☎️ +91'905,3900,678 ☎️📱 Call Girls In Dehradun 📱
 

Things I wish I'd known before I started with Microservices - GOTO Amsterdam 2015

  • 1. Things I wish I'd known before I started with Microservices 1 GOTO Amsterdam - June 18, 2015
  • 2. Who are we? 2 Steve Judd - Lead Consultant Tareq Abedrabbo - CTO OpenCredo - an Open Source software consultancy
  • 3. Things I wish I'd known before I started with Microservices What? Why? How? 3 Agenda
  • 4. What’s the story morning glory? 4 “Gotta have a definition, right?”
  • 5. • It is an architecture choice, not a design pattern • Independently deployable software components (services) • Stateless, loosely coupled, resilient • Communicate via explicit, published APIs • Each service fulfils a single business capability • Automated testing and deployment is essential 5 WHAT
  • 6. So, what’s the big deal? 6 Go on, convince me….
  • 7. • Encourages: ★ loose-coupling ★ separation of concerns ★ single responsibility principle ★ domain-driven design • Good fit with Agile development practices • Well-suited to a containerised infrastructure 7 WHY
  • 8. 8 And are Microservices really the new black? Monoliths: friend or foe?
  • 9. 9 Monoliths • Familiar & well- understood • Easy to develop, build & deploy • Consequences of changing domain design are localised • Limited scaling choices • Long-term commitment to tech stack (technology lock-in) Microservices • Flexible scaling options • Enables independence in development and deployment • Reduces technology lock-in • Better fault tolerance • Build/deploy/execution infrastructure is complex (automation a must) • Getting the domain (service) boundaries right can be difficult WHY
  • 10. 10 Monoliths • Familiar & well- understood • Easy to develop, build & deploy • Consequences of changing domain design are localised • Limited scaling choices • Long-term commitment to tech stack (technology lock-in) Microservices • Flexible scaling options • Enables independence in development and deployment • Reduces technology lock-in • Better fault tolerance • Build/deploy/execution infrastructure is complex (automation a must) • Getting the domain (service) boundaries right can be difficult WHY
  • 11. 11 Monoliths • Familiar & well- understood • Easy to develop, build & deploy • Consequences of changing domain design are localised • Limited scaling choices • Long-term commitment to tech stack (technology lock-in) Microservices • Flexible scaling options • Enables independence in development and deployment • Reduces technology lock-in • Better fault tolerance • Build/deploy/execution infrastructure is complex (automation a must) • Getting the domain (service) boundaries right can be difficult WHY
  • 12. The importance of contracts 12 “Until the contract is agreed, nothing is real”
  • 13. • Design your API contracts first • Communicate them well • Use tools to document them, e.g • apidocjs (http://apidocjs.com/) • swagger (http://swagger.io) • spring-restdocs (https://github.com/spring-projects/spring-restdocs) • Be mindful of the impact of changing an API 13 HOW
  • 14. • If you don’t specify your contract, you end up with an implicit one anyway • Use the power of resources (HTTP and REST) • Location • Uniform interface • Status codes • Representations 14 HOW
  • 15. Does size matter? 15 Provide as many APIs and Services as you need but no more
  • 16. • Size - what really matters is quality not quantity • Services should be decoupled conceptually so that they can evolve independently • Services should be decoupled technically so that they can be managed independently • What do I do, practically? • Co-locate services, but avoid implicit dependancies though shared common objects • Separate services but avoid sharing (domain) libraries 16 HOW
  • 17. • Don’t stress about how many APIs or Services • Do stress about designing an appropriate domain models for your services • Don’t separate your services based on technical boundaries • Do separate your services based on self-contained functions 17 HOW
  • 18. Separating the men from the boys 18 What does a good microservice look like?
  • 19. • Logging & monitoring ✤ Centralised collection ✤ Many more moving parts • How the services are managed • External configuration • Handling failure • Inter-process communication ✤ Message serialisation/deserialisation ✤ Network overhead 19 HOW
  • 21. 1. Specify your contracts first AND communicate them 2. Design for scale: infrastructure, processes, services 3. You’ll need to pay the Distributed Service Tax 4. Everything is a Service (aka eat your own dogfood) 5. Invest in tooling and automation 21 Final takeaways
  • 22. Thank you, any questions? http://www.opencredo.com/blog @OpenCredo @cyberbliss @tareq_abedrabbo
  • 23. Environmental concerns 23 “Infrastructure is much more important than architecture”
  • 24. • Allowing more than one service direct access to the same database • Delaying or ignoring the introduction of good DevOps practices • Infrastructure management of instances and containers is a challenge • Performance 24 HOW