SlideShare une entreprise Scribd logo
1  sur  179
Télécharger pour lire hors ligne
PRACTICAL 
CONSIDERATIONS 
FOR MICRO SERVICES 
Sam Newman 
Javazone 2014, September 2014 
1
14 PRACTICAL TIPS 
FOR MICROSERVICES 
Sam Newman 
Javazone 2014, September 2014 
2
YOU WON’T BELIEVE 
WHAT THEY DO WITH 
MICROSERVICES IN 
THIS TALK! 
Sam Newman 
Javazone 2014, September 2014 
3
SEE WHAT JENNIFER 
LAWRENCE THINKS 
ABOUT DISTRIBUTED 
SYSTEMS! 
Sam Newman 
Javazone 2014, September 2014 
4
Customer 
Service 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
@javazone @samnewman
Focused around a business 
domain 
Customer 
Service 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
@javazone @samnewman
Focused around a business 
domain 
Customer 
Service 
Technology Agnostic API 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
@javazone @samnewman
Focused around a business 
domain 
Customer 
Service 
Technology Agnostic API 
Small 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
V1 
@javazone @samnewman
V2 
@javazone @samnewman
Go 
Java 
NodeJS 
Ruby 
@javazone @samnewman
Go 
NodeJS 
Ruby 
Clojure! 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
Where To Standardise? 
@javazone @samnewman
@javazone @samnewman 
© 2013 Electronic Arts Inc.
@javazone @samnewman
Interfaces 
@javazone @samnewman
Interfaces 
Monitoring 
@javazone @samnewman
Interfaces 
Monitoring 
Deployment & Testing 
@javazone @samnewman
Architectural Safety 
@javazone @samnewman
@javazone @samnewman
Free For All 
@javazone @samnewman
Standardisation 
Free For All 
@javazone @samnewman
Standardisation 
TIP 1 / 14: Standardise in the gaps between services - 
be flexible about what happens inside the boxes 
Free For All 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman 
https://www.flickr.com/photos/garrymsmith/6108841070
Autonomy 
Communication 
@javazone @samnewman
Team Ownership 
@javazone @samnewman
Team Ownership 
??? 
@javazone @samnewman
Trusted Committer / 
Roving Custodian 
@javazone @samnewman
Trusted Committer / 
Roving Custodian 
??? 
@javazone @samnewman
Trusted Committer / 
Roving Custodian 
??? 
@javazone @samnewman
Trusted Committer / 
Roving Custodian 
??? 
@javazone @samnewman
Trusted Committer / 
Roving Custodian 
??? 
@javazone @samnewman
Trusted Committer / 
Roving Custodian 
??? 
@javazone @samnewman
Trusted Committer / 
Roving Custodian 
TIP 2 / 14: Have a cle?a?r ?custodian model! 
@javazone @samnewman
Interfaces 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
Coupling Is Bad 
@javazone @samnewman
Integration Styles 
An Evolutionary View 
Data Oriented Procedure 
Oriented 
Document 
Oriented 
Resource 
Oriented 
@javazone @samnewman
Integration Styles 
An Evolutionary View 
Data Oriented Procedure 
Oriented 
Document 
Oriented 
Resource 
Oriented 
@javazone @samnewman
Integration Styles 
An Evolutionary View 
TIP 3 / 14: Avoid RPC-mechanisms or shared 
serialisation protocols to avoid coupling 
Data Oriented Procedure 
Oriented 
Document 
Oriented 
Resource 
Oriented 
@javazone @samnewman
Database 
@javazone @samnewman
Database 
@javazone @samnewman
Database 
@javazone @samnewman
Database 
@javazone @samnewman
Database 
@javazone @samnewman
Database 
@javazone @samnewman
Database 
@javazone @samnewman
Database Database 
@javazone @samnewman
Database Database 
@javazone @samnewman
TIP 4 / 14: Separate the databases before separating services 
Database Database 
@javazone @samnewman
The Customer Is Always Right 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
TIP 5 / 14: Adopt a consumer first approach 
@javazone @samnewman
Monitoring 
@javazone @samnewman
@javazone @samnewman
http://www.flickr.com/photos/kalexanderson/5421517469/ 
@javazone @samnewman
http://www.flickr.com/photos/kalexanderson/5421517469/ 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
??? 
@javazone @samnewman
You have to get *much* 
better at monitoring 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
You are not a badass if you 
use an SSH Multiplexer 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
Response Time 
Response Time 
Response Time 
@javazone @samnewman
Response Time 
Response Time 
Response Time 
@javazone @samnewman
Response Time 
Response Time 
Response Time 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
TIP 6 / 14: Capture metrics, and logs, for each node, 
and aggregate them to get a rolled up picture 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
TIP 7 / 14: Use synthetic transactions to test 
production systems 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
ID: 123 
@javazone @samnewman
ID: 123 
ID: 123 
ID: 123 
@javazone @samnewman
ID: 123 
TIP 8 / 14: Use correlation IDs to track down nasty bugs 
ID: 123 
ID: 123 
@javazone @samnewman
Deployment 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
! 
@javazone @samnewman
! 
! 
@javazone @samnewman
! 
! 
! 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
TIP 9 / 14: Abstract out underlying platform 
differences to provide a uniform deployment 
mechanism 
@javazone @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
@javazone @samnewman
Customer 
Service 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
@javazone @samnewman
Customer 
Service 
Accounts 
Returns 
Invoicing 
Shipping 
Inventory 
@javazone @samnewman
Inventory Accounts 
Mountebank 
http://www.mbtest.org 
@javazone @samnewman
Inventory 
Accounts! 
Stub 
Mountebank 
http://www.mbtest.org 
@javazone @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
@javazone @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
@javazone @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
@javazone @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
@javazone @samnewman
Shipping 
Inventory 
Customer 
Service 
Accounts 
Returns 
Invoicing 
@javazone @samnewman
@javazone @samnewman
Browsers 
@javazone @samnewman
Timing 
Browsers 
@javazone @samnewman
Provisioning of Environments 
Timing 
Browsers 
@javazone @samnewman
Networks 
Provisioning of Environments 
Timing 
Browsers 
@javazone @samnewman
Deployment 
Networks 
Provisioning of Environments 
Timing 
Browsers 
@javazone @samnewman
Deployment 
Networks 
Provisioning of Environments 
Timing 
Browsers Diagnosis 
@javazone @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
@javazone @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
@javazone @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
@javazone @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
Prod 
@javazone @samnewman
CONSUMER-DRIVEN CONTRACTS 
Shipping Inventory 
Expectations 
Prod 
@javazone @samnewman
@javazone @samnewman
https://github.com/realestate-com-au/pact 
@javazone @samnewman
TIP 10 / 14: Consumer Driven Tests to catch breaking changes 
https://github.com/realestate-com-au/pact 
@javazone @samnewman
Pending… Prod
Pending… Prod
Pending… Prod
Pending… Prod
Pending… Prod
Pending… Prod 
TIP 11 / 14: Don’t let changes build up - release as 
soon as you can, and preferably one at a time!
Architectural Safety 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
http://www.flickr.com/photos/louish/5611657857/ 
@javazone @samnewman
Connection Pool 
@javazone @samnewman
Connection Pool 
@javazone @samnewman
Connection Pool 
@javazone @samnewman
Connection Pool 
@javazone @samnewman
Connection 
Pool 
Connection 
Pool 
@javazone @samnewman
Connection 
Pool 
Connection 
Pool 
@javazone @samnewman
Connection 
Pool 
Connection 
Pool 
@javazone @samnewman
Connection 
Pool 
Connection 
Pool 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
TIP 12 / 14: Use timeouts, circuit breakers and bulk-heads 
to avoid cascading failure 
@javazone @samnewman
Special Service Behaviour 
@javazone @samnewman
Integration 
Special Service Behaviour 
@javazone @samnewman
Integration 
Special Service Behaviour 
Downstream 
@javazone @samnewman
Integration 
Special Service Behaviour 
Downstream 
Metrics 
@javazone @samnewman
Integration 
Special Service Behaviour 
Downstream 
Metrics 
@javazone @samnewman
Integration 
Special Service Behaviour 
Downstream 
Metrics 
@javazone @samnewman
Integration 
Special Service Behaviour 
Metrics TIP 13 / 14: Consider Service Templates to make it 
easy to do the right thing! 
Downstream 
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
@javazone @samnewman
Choice! 
Opportunity 
@javazone @samnewman
Choice! 
Opportunity 
Complexity 
@javazone @samnewman
Choice! 
Opportunity 
Monitoring Complexity 
Deployment 
Safety 
Integration 
@javazone @samnewman
Choice! 
Opportunity 
TIP 14 / 14: Find your own balance 
Monitoring Complexity 
Deployment 
Safety 
Integration 
@javazone @samnewman
62 
Building 
Microservices 
DESIGNING FINE-GRAINED SYSTEMS 
Sam Newman
Designing For ! 
Rapid Release 
500 West Madison 
500 West Madison 
@javazone @samnewman
500 West Madison 
500 West Madison 
From Macro To Micro 
Designing For ! 
Rapid Release 
@javazone @samnewman
500 West Madison 
500 West Madison 
From Macro To Micro 
Designing For ! 
Rapid Release 
http://lanyrd.com/profile/samnewman/ 
@javazone @samnewman
THANKS! 
Any questions: 
@samnewman 
snewman@thoughtworks.com

Contenu connexe

Tendances

Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014Sam Newman
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservicesSam Newman
 
Testing & deploying Microservices GeeCon 2014
Testing & deploying Microservices   GeeCon 2014Testing & deploying Microservices   GeeCon 2014
Testing & deploying Microservices GeeCon 2014Sam Newman
 
Feature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldFeature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldSam Newman
 
Confusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionConfusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionSam Newman
 
Confusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessConfusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessSam Newman
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and MicroservicesSam Newman
 
Hiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservicesHiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservicesSam Newman
 
What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?Sam Newman
 
Ramp up your Mobile Content Slideshow
Ramp up your Mobile Content SlideshowRamp up your Mobile Content Slideshow
Ramp up your Mobile Content SlideshowDan Lapham
 
THE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVETHE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVEPeter Rozek
 
Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google Become A/S
 
SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018Jamie Indigo
 
Designing the Priority, Performance ist User Experience
Designing the Priority, Performance ist User ExperienceDesigning the Priority, Performance ist User Experience
Designing the Priority, Performance ist User ExperiencePeter Rozek
 
The UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQueryThe UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQueryPeter Rozek
 
Performance and UX
Performance and UXPerformance and UX
Performance and UXPeter Rozek
 
Hassliebe Onlineformulare, Enhance your Form for better UX
Hassliebe Onlineformulare, Enhance your Form for better UXHassliebe Onlineformulare, Enhance your Form for better UX
Hassliebe Onlineformulare, Enhance your Form for better UXPeter Rozek
 
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)Abigail Bangser
 
Google Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummitGoogle Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummitMike Arnesen
 

Tendances (20)

Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014
 
BETA - Securing microservices
BETA - Securing microservicesBETA - Securing microservices
BETA - Securing microservices
 
Testing & deploying Microservices GeeCon 2014
Testing & deploying Microservices   GeeCon 2014Testing & deploying Microservices   GeeCon 2014
Testing & deploying Microservices GeeCon 2014
 
Feature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub WorldFeature Branches And Toggles In A Post-GitHub World
Feature Branches And Toggles In A Post-GitHub World
 
Confusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min VersionConfusion In The Land Of The Serverless - 90min Version
Confusion In The Land Of The Serverless - 90min Version
 
It's a trap!
It's a trap!It's a trap!
It's a trap!
 
Confusion In The Land Of The Serverless
Confusion In The Land Of The ServerlessConfusion In The Land Of The Serverless
Confusion In The Land Of The Serverless
 
AppSec and Microservices
AppSec and MicroservicesAppSec and Microservices
AppSec and Microservices
 
Hiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservicesHiding The Lead: Coupling, cohesion and microservices
Hiding The Lead: Coupling, cohesion and microservices
 
What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?What Is This Cloud Native Thing Anyway?
What Is This Cloud Native Thing Anyway?
 
Ramp up your Mobile Content Slideshow
Ramp up your Mobile Content SlideshowRamp up your Mobile Content Slideshow
Ramp up your Mobile Content Slideshow
 
THE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVETHE UX OF DATA - VISUALIZATION RESPONSIVE
THE UX OF DATA - VISUALIZATION RESPONSIVE
 
Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google Webinar #5: Mobile indsigter og trends ft. Google
Webinar #5: Mobile indsigter og trends ft. Google
 
SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018SEO for Angular - BrightonSEO 2018
SEO for Angular - BrightonSEO 2018
 
Designing the Priority, Performance ist User Experience
Designing the Priority, Performance ist User ExperienceDesigning the Priority, Performance ist User Experience
Designing the Priority, Performance ist User Experience
 
The UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQueryThe UX of DATA: Responsive Datenvisualisierung mit jQuery
The UX of DATA: Responsive Datenvisualisierung mit jQuery
 
Performance and UX
Performance and UXPerformance and UX
Performance and UX
 
Hassliebe Onlineformulare, Enhance your Form for better UX
Hassliebe Onlineformulare, Enhance your Form for better UXHassliebe Onlineformulare, Enhance your Form for better UX
Hassliebe Onlineformulare, Enhance your Form for better UX
 
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
Observability - Experiencing the “why” behind the jargon (FlowCon 2019)
 
Google Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummitGoogle Tag Manager Crash Course | MnSummit
Google Tag Manager Crash Course | MnSummit
 

En vedette

микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубыAleksandr Tarasov
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService ArchitectureFred George
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesAdrian Cockcroft
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...Chris Richardson
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocitySam Newman
 
Down-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEDown-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEReza Rahman
 

En vedette (6)

микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
 
MicroService Architecture
MicroService ArchitectureMicroService Architecture
MicroService Architecture
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in Microservices
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
 
Down-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EEDown-to-Earth Microservices with Java EE
Down-to-Earth Microservices with Java EE
 

Similaire à Practical microservices - javazone 2014

Deploying and Testing Microservices
Deploying and Testing MicroservicesDeploying and Testing Microservices
Deploying and Testing MicroservicesThoughtworks
 
Deploying & operating microservices
Deploying & operating microservicesDeploying & operating microservices
Deploying & operating microservicesThoughtworks
 
Spring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaSpring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaEdureka!
 
Spring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_jSpring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_jSatya Johnny
 
Spring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_jSpring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_jSatya Johnny
 
What a Back-end Java Developer Doesn't Know About the Modern Web Stack-final
What a Back-end Java Developer Doesn't Know About the Modern Web Stack-finalWhat a Back-end Java Developer Doesn't Know About the Modern Web Stack-final
What a Back-end Java Developer Doesn't Know About the Modern Web Stack-finalRikard Thulin
 
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected JourneyQCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected JourneySam Newman
 
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam NewmanINTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newmanapidays
 
Breaking News and Breaking Software by Andy Hume
Breaking News and Breaking Software by Andy HumeBreaking News and Breaking Software by Andy Hume
Breaking News and Breaking Software by Andy HumeSyncConf
 
Enterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudEnterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudCarlos Sanchez
 
Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience
Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User ExperienceWhy Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience
Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User ExperienceeG Innovations
 
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014Amazon Web Services
 
The Modern Java Web Developer Bootcamp - Devoxx 2013
The Modern Java Web Developer Bootcamp - Devoxx 2013The Modern Java Web Developer Bootcamp - Devoxx 2013
The Modern Java Web Developer Bootcamp - Devoxx 2013Matt Raible
 
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018Voxxed Athens
 
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web appsAlexandre Marreiros
 
DESIGN THE PRIORITY, PERFORMANCE 
AND UX
DESIGN THE PRIORITY, PERFORMANCE 
AND UXDESIGN THE PRIORITY, PERFORMANCE 
AND UX
DESIGN THE PRIORITY, PERFORMANCE 
AND UXPeter Rozek
 
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...HostedbyConfluent
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Ville Ingman
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLYan Cui
 

Similaire à Practical microservices - javazone 2014 (20)

Deploying and Testing Microservices
Deploying and Testing MicroservicesDeploying and Testing Microservices
Deploying and Testing Microservices
 
Deploying & operating microservices
Deploying & operating microservicesDeploying & operating microservices
Deploying & operating microservices
 
Spring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaSpring Boot Interview Questions | Edureka
Spring Boot Interview Questions | Edureka
 
Spring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_jSpring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_j
 
Spring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_jSpring aop mvc_by_sekhar_javabynatara_j
Spring aop mvc_by_sekhar_javabynatara_j
 
What a Back-end Java Developer Doesn't Know About the Modern Web Stack-final
What a Back-end Java Developer Doesn't Know About the Modern Web Stack-finalWhat a Back-end Java Developer Doesn't Know About the Modern Web Stack-final
What a Back-end Java Developer Doesn't Know About the Modern Web Stack-final
 
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected JourneyQCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
 
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam NewmanINTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
INTERFACE by apidays - Microservices, APIs, and the Cost Of Change by Sam Newman
 
Breaking News and Breaking Software by Andy Hume
Breaking News and Breaking Software by Andy HumeBreaking News and Breaking Software by Andy Hume
Breaking News and Breaking Software by Andy Hume
 
Enterprise Build And Test In The Cloud
Enterprise Build And Test In The CloudEnterprise Build And Test In The Cloud
Enterprise Build And Test In The Cloud
 
Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience
Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User ExperienceWhy Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience
Why Is My Java App Slow? 5 Monitoring Best Practices for a Great User Experience
 
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
(WEB304) Running and Scaling Magento on AWS | AWS re:Invent 2014
 
The modern PWA Cheat Sheet
The modern PWA Cheat SheetThe modern PWA Cheat Sheet
The modern PWA Cheat Sheet
 
The Modern Java Web Developer Bootcamp - Devoxx 2013
The Modern Java Web Developer Bootcamp - Devoxx 2013The Modern Java Web Developer Bootcamp - Devoxx 2013
The Modern Java Web Developer Bootcamp - Devoxx 2013
 
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018Voxxed Athens 2018 - Getting real with progressive web apps in 2018
Voxxed Athens 2018 - Getting real with progressive web apps in 2018
 
Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
 
DESIGN THE PRIORITY, PERFORMANCE 
AND UX
DESIGN THE PRIORITY, PERFORMANCE 
AND UXDESIGN THE PRIORITY, PERFORMANCE 
AND UX
DESIGN THE PRIORITY, PERFORMANCE 
AND UX
 
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014
 
Building a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQLBuilding a social network in under 4 weeks with Serverless and GraphQL
Building a social network in under 4 weeks with Serverless and GraphQL
 

Dernier

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Dernier (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Practical microservices - javazone 2014