SlideShare a Scribd company logo
Our journey to micro
services
Where did we end up
Me
• Software architect
– Been working in the industry for the past 12y
– working for ebay the past 4 years
2
Microservices at ebay classified group dk
• We started 2 years ago with microservices
– 4 platforms
– We needed smaller deployment, lower risk
– All deployment/scripts handled by siteops
• Now we have
– 80 deployable projects managed in octopus
– with 2-5 microservices within each
3
Monolith vs microservice
• Monolith
– a term for a big system
– usually runs considerable amounts of our business
– battle tested
– big and ugly codebase
• Microservice
– Small independent deployable unit
– Implements a few features from a particular domain
– Understandable by a single developer
http://dev.otto.de/2015/09/30/on-monoliths-and-microservices/
4
Monolith vs microservice
• MonolithFirst
– you shouldn't start a new project with microservices,
– Source: http://martinfowler.com/bliki/MonolithFirst.html
• Don’t start with a monolith
– … when your goal is a microservices architecture
– Source: http://martinfowler.com/articles/dont-start-monolith.html
5
Monolith – The developer comfort zone
6
Public string buisnessLogic(input){
return ”Hello ” + input;
}
Deployment
Authentication
Authrization
Configurationmanagement
Caching Communication
Exception
management
Validation
Logging and
Instrumentation
Buildmanagement
Infrastructure
Monolith – Our platforms
7
Microservices – many monoliths?
8
Microservices – Where did we start
9
Shared Service
Owin to framework glue
Owin – Handling cross cutting concerns
OWIN
Middlewares
Authentication
Caching
Logging
Validation
Exception management
Instrumentation
ASP.NET MVC ASP.NET API Nancy ServiceStack
10
IIS / Selfhost
HttpRequest HttpResponse
Owin – doing conventions
• OWIN defines a standard interface between .NET web
servers and web applications.
• The goal of the OWIN interface is to decouple server and
application, encourage the development of simple modules
for .NET web development, and,
• by being an open standard, stimulate the open source
ecosystem of .NET web development tools.
• Source: owin.org
11
CODE!
Owin middleware components
12
Owin middleware
13
• Vanilla • Intermingled • Middleware, seperations of concerns
Microservices at ebay
• Octopus deploy
– Configuration management
– Deployment
• Build management
– Teamcity
• Infrastructure
– Operations is working on automation with puppet
14
Deployment
Configurationmanagement
Buildmanagement
Infrastructure

More Related Content

Similar to Effective developers and happy ops engineers 2

Mer: How the community innovates
Mer: How the community innovatesMer: How the community innovates
Mer: How the community innovates
Carsten Munk
 

Similar to Effective developers and happy ops engineers 2 (20)

Docker and microservices - moving from a monolith to microservices
Docker and microservices - moving from a monolith to microservicesDocker and microservices - moving from a monolith to microservices
Docker and microservices - moving from a monolith to microservices
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
From Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 MinutesFrom Monolithic to Microservices in 45 Minutes
From Monolithic to Microservices in 45 Minutes
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and Service
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
IBM Bluemix OpenWhisk: Interconnect 2016, Las Vegas: CCD-1088: The Future of ...
 
IBM Bluemix Openwhisk
IBM Bluemix OpenwhiskIBM Bluemix Openwhisk
IBM Bluemix Openwhisk
 
Mer: How the community innovates
Mer: How the community innovatesMer: How the community innovates
Mer: How the community innovates
 
Cloud anti-patterns
Cloud anti-patternsCloud anti-patterns
Cloud anti-patterns
 
Cloud anti-patterns
Cloud anti-patternsCloud anti-patterns
Cloud anti-patterns
 
Think Big - Build Small
Think Big - Build SmallThink Big - Build Small
Think Big - Build Small
 
Mobile app-and-microservices-with-ibm-cloud
Mobile app-and-microservices-with-ibm-cloudMobile app-and-microservices-with-ibm-cloud
Mobile app-and-microservices-with-ibm-cloud
 
The Coming OSS Sustainability Crisis
The Coming OSS Sustainability CrisisThe Coming OSS Sustainability Crisis
The Coming OSS Sustainability Crisis
 
Microservices - when, why and how incontrodevops.it
Microservices  - when, why and how incontrodevops.itMicroservices  - when, why and how incontrodevops.it
Microservices - when, why and how incontrodevops.it
 
Mule ESB Intro
Mule ESB IntroMule ESB Intro
Mule ESB Intro
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Dockerization
DockerizationDockerization
Dockerization
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 

Recently uploaded

Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
AbrahamGadissa
 

Recently uploaded (20)

Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Kraków
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxThe Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
 
shape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxshape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptx
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
 
2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge2024 DevOps Pro Europe - Growing at the edge
2024 DevOps Pro Europe - Growing at the edge
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptx
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 

Effective developers and happy ops engineers 2

  • 1. Our journey to micro services Where did we end up
  • 2. Me • Software architect – Been working in the industry for the past 12y – working for ebay the past 4 years 2
  • 3. Microservices at ebay classified group dk • We started 2 years ago with microservices – 4 platforms – We needed smaller deployment, lower risk – All deployment/scripts handled by siteops • Now we have – 80 deployable projects managed in octopus – with 2-5 microservices within each 3
  • 4. Monolith vs microservice • Monolith – a term for a big system – usually runs considerable amounts of our business – battle tested – big and ugly codebase • Microservice – Small independent deployable unit – Implements a few features from a particular domain – Understandable by a single developer http://dev.otto.de/2015/09/30/on-monoliths-and-microservices/ 4
  • 5. Monolith vs microservice • MonolithFirst – you shouldn't start a new project with microservices, – Source: http://martinfowler.com/bliki/MonolithFirst.html • Don’t start with a monolith – … when your goal is a microservices architecture – Source: http://martinfowler.com/articles/dont-start-monolith.html 5
  • 6. Monolith – The developer comfort zone 6 Public string buisnessLogic(input){ return ”Hello ” + input; } Deployment Authentication Authrization Configurationmanagement Caching Communication Exception management Validation Logging and Instrumentation Buildmanagement Infrastructure
  • 7. Monolith – Our platforms 7
  • 8. Microservices – many monoliths? 8
  • 9. Microservices – Where did we start 9 Shared Service
  • 10. Owin to framework glue Owin – Handling cross cutting concerns OWIN Middlewares Authentication Caching Logging Validation Exception management Instrumentation ASP.NET MVC ASP.NET API Nancy ServiceStack 10 IIS / Selfhost HttpRequest HttpResponse
  • 11. Owin – doing conventions • OWIN defines a standard interface between .NET web servers and web applications. • The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, • by being an open standard, stimulate the open source ecosystem of .NET web development tools. • Source: owin.org 11
  • 13. Owin middleware 13 • Vanilla • Intermingled • Middleware, seperations of concerns
  • 14. Microservices at ebay • Octopus deploy – Configuration management – Deployment • Build management – Teamcity • Infrastructure – Operations is working on automation with puppet 14 Deployment Configurationmanagement Buildmanagement Infrastructure

Editor's Notes

  1. So what is so good about a monolith? Deployment is in place and tailored to that platform Logging Retries Monitoring Security Etc You need to have all this in place to be succesfull with microservices You can grown this organically