Submit Search
Upload
Microservices
•
2 likes
•
3,013 views
PT.JUG
Follow
Apresentação de Paulo Gaspar para o 24º encontro PT.JUG.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 59
Download now
Download to read offline
Recommended
Useful Design Patterns for Enterprise Applications with Java
Useful Design Patterns for Enterprise Applications with Java
PT.JUG
Overview of Eclipse technologies
Overview of Eclipse technologies
PT.JUG
Introducing Java 8
Introducing Java 8
PT.JUG
MySQL
MySQL
PT.JUG
Microservices in the oracle cloud
Microservices in the oracle cloud
Johan Louwers
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
Kelly Goetsch
Dev ops
Dev ops
Vikram Singh
Cloud Native Architecture Patterns Tutorial
Cloud Native Architecture Patterns Tutorial
Matt Stine
Recommended
Useful Design Patterns for Enterprise Applications with Java
Useful Design Patterns for Enterprise Applications with Java
PT.JUG
Overview of Eclipse technologies
Overview of Eclipse technologies
PT.JUG
Introducing Java 8
Introducing Java 8
PT.JUG
MySQL
MySQL
PT.JUG
Microservices in the oracle cloud
Microservices in the oracle cloud
Johan Louwers
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
Kelly Goetsch
Dev ops
Dev ops
Vikram Singh
Cloud Native Architecture Patterns Tutorial
Cloud Native Architecture Patterns Tutorial
Matt Stine
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
Daniel Bryant
Introduce yourself to java 17
Introduce yourself to java 17
ankitbhandari32
12-factor applications using WAS Liberty, IBM Bluemix, and Docker
12-factor applications using WAS Liberty, IBM Bluemix, and Docker
Erin Schnabel
Microservice Architecture
Microservice Architecture
Nguyen Tung
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Sanjeev Sharma
Why Microservice
Why Microservice
Kelvin Yeung
DEVNET-1147 Energizing Your Career with Cloud Technologies
DEVNET-1147 Energizing Your Career with Cloud Technologies
Cisco DevNet
Managing Internal, Private External, and Open Developer Ecosystems
Managing Internal, Private External, and Open Developer Ecosystems
Larry McDonough
Micro Front Ends for Micro Services using Oracle JET
Micro Front Ends for Micro Services using Oracle JET
Vijay Nair
Bluemix DevOps Meetup
Bluemix DevOps Meetup
Kyle Brown
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service Fabric
Saba Jamalian
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Nedelcho Delchev
Grails At Linked
Grails At Linked
LinkedIn
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
Oracle Developers
12-Factor Apps
12-Factor Apps
Siva Rama Krishna Chunduru
Application Architecture For The Cloud
Application Architecture For The Cloud
Steve Loughran
Building Cloud Native Applications
Building Cloud Native Applications
Munish Gupta
Bluemix summary
Bluemix summary
Sam Garforth
Cloud Native Application
Cloud Native Application
VMUG IT
The Journey to Mainframe DevOps
The Journey to Mainframe DevOps
Micro Focus
Microservices - Scaling Development and Service
Microservices - Scaling Development and Service
Paulo Gaspar
English digital business 2.1.pptx
English digital business 2.1.pptx
Juanjo MARTINEZ PAGAN
More Related Content
What's hot
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
Daniel Bryant
Introduce yourself to java 17
Introduce yourself to java 17
ankitbhandari32
12-factor applications using WAS Liberty, IBM Bluemix, and Docker
12-factor applications using WAS Liberty, IBM Bluemix, and Docker
Erin Schnabel
Microservice Architecture
Microservice Architecture
Nguyen Tung
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Sanjeev Sharma
Why Microservice
Why Microservice
Kelvin Yeung
DEVNET-1147 Energizing Your Career with Cloud Technologies
DEVNET-1147 Energizing Your Career with Cloud Technologies
Cisco DevNet
Managing Internal, Private External, and Open Developer Ecosystems
Managing Internal, Private External, and Open Developer Ecosystems
Larry McDonough
Micro Front Ends for Micro Services using Oracle JET
Micro Front Ends for Micro Services using Oracle JET
Vijay Nair
Bluemix DevOps Meetup
Bluemix DevOps Meetup
Kyle Brown
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service Fabric
Saba Jamalian
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Nedelcho Delchev
Grails At Linked
Grails At Linked
LinkedIn
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
Oracle Developers
12-Factor Apps
12-Factor Apps
Siva Rama Krishna Chunduru
Application Architecture For The Cloud
Application Architecture For The Cloud
Steve Loughran
Building Cloud Native Applications
Building Cloud Native Applications
Munish Gupta
Bluemix summary
Bluemix summary
Sam Garforth
Cloud Native Application
Cloud Native Application
VMUG IT
The Journey to Mainframe DevOps
The Journey to Mainframe DevOps
Micro Focus
What's hot
(20)
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
Introduce yourself to java 17
Introduce yourself to java 17
12-factor applications using WAS Liberty, IBM Bluemix, and Docker
12-factor applications using WAS Liberty, IBM Bluemix, and Docker
Microservice Architecture
Microservice Architecture
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Why Microservice
Why Microservice
DEVNET-1147 Energizing Your Career with Cloud Technologies
DEVNET-1147 Energizing Your Career with Cloud Technologies
Managing Internal, Private External, and Open Developer Ecosystems
Managing Internal, Private External, and Open Developer Ecosystems
Micro Front Ends for Micro Services using Oracle JET
Micro Front Ends for Micro Services using Oracle JET
Bluemix DevOps Meetup
Bluemix DevOps Meetup
Infrastructure less development with Azure Service Fabric
Infrastructure less development with Azure Service Fabric
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Grails At Linked
Grails At Linked
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
12-Factor Apps
12-Factor Apps
Application Architecture For The Cloud
Application Architecture For The Cloud
Building Cloud Native Applications
Building Cloud Native Applications
Bluemix summary
Bluemix summary
Cloud Native Application
Cloud Native Application
The Journey to Mainframe DevOps
The Journey to Mainframe DevOps
Similar to Microservices
Microservices - Scaling Development and Service
Microservices - Scaling Development and Service
Paulo Gaspar
English digital business 2.1.pptx
English digital business 2.1.pptx
Juanjo MARTINEZ PAGAN
Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOps
Cygnet Infotech
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
DevOps.com
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Emtec Inc.
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
IBM UrbanCode Products
7 Secrets to Becoming a Citrix Hero
7 Secrets to Becoming a Citrix Hero
eG Innovations
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
TriNimbus
Atlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQ
ServiceRocket
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
Phuong Mai Nguyen
Kanban testing
Kanban testing
Cprime
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
Jean-Philippe Briend
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Dynatrace
Delivering A Great End User Experience
Delivering A Great End User Experience
Trevor Warren
Continous Integration Webinar
Continous Integration Webinar
Paul Senatillaka
Changing the Game with Cloud, Microservices, and DevOps
Changing the Game with Cloud, Microservices, and DevOps
Brian Chambers
DevOps with Chef
DevOps with Chef
Kellton Tech Solutions Ltd
Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even Haim
DevOpsDays Tel Aviv
DevOps - Orientation Session
DevOps - Orientation Session
M M Nair
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Microsoft Décideurs IT
Similar to Microservices
(20)
Microservices - Scaling Development and Service
Microservices - Scaling Development and Service
English digital business 2.1.pptx
English digital business 2.1.pptx
Introduction to 5w’s of DevOps
Introduction to 5w’s of DevOps
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Webinar: Ten Ways to Enhance Your Salesforce.com Application in 2013
Building a DevOps Team that Isn't Evil
Building a DevOps Team that Isn't Evil
7 Secrets to Becoming a Citrix Hero
7 Secrets to Becoming a Citrix Hero
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Atlassian Executive Business Forum - LinkedIn HQ
Atlassian Executive Business Forum - LinkedIn HQ
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
Kanban testing
Kanban testing
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Delivery: why ? where to start ? how to scale ?
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Delivering A Great End User Experience
Delivering A Great End User Experience
Continous Integration Webinar
Continous Integration Webinar
Changing the Game with Cloud, Microservices, and DevOps
Changing the Game with Cloud, Microservices, and DevOps
DevOps with Chef
DevOps with Chef
Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even Haim
DevOps - Orientation Session
DevOps - Orientation Session
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
Des serveurs créés pour vos usages specifiques, vous en avez reve HP l'a fait.
More from PT.JUG
Putting Hypermedia Back in REST with JAX-RS
Putting Hypermedia Back in REST with JAX-RS
PT.JUG
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps Java
PT.JUG
What's Coming in Java EE 8
What's Coming in Java EE 8
PT.JUG
An Introduction to Play 2 Framework
An Introduction to Play 2 Framework
PT.JUG
JMockit & Hamcrest
JMockit & Hamcrest
PT.JUG
Apache Camel
Apache Camel
PT.JUG
Using JPA applications in the era of NoSQL: Introducing Hibernate OGM
Using JPA applications in the era of NoSQL: Introducing Hibernate OGM
PT.JUG
Introducing Infinispan
Introducing Infinispan
PT.JUG
To SOA or not to SOA
To SOA or not to SOA
PT.JUG
Introduction to Grails Framework
Introduction to Grails Framework
PT.JUG
Apresentação LifeRay
Apresentação LifeRay
PT.JUG
Oracle Java Strategy Lg V3
Oracle Java Strategy Lg V3
PT.JUG
Scripting na JVM
Scripting na JVM
PT.JUG
The tale of the Fénix architecture
The tale of the Fénix architecture
PT.JUG
Lightweight Grids With Terracotta
Lightweight Grids With Terracotta
PT.JUG
Google Web Toolkit
Google Web Toolkit
PT.JUG
Developers Java: O que as empresas dizem que precisam mesmo mesmo
Developers Java: O que as empresas dizem que precisam mesmo mesmo
PT.JUG
More from PT.JUG
(17)
Putting Hypermedia Back in REST with JAX-RS
Putting Hypermedia Back in REST with JAX-RS
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps Java
What's Coming in Java EE 8
What's Coming in Java EE 8
An Introduction to Play 2 Framework
An Introduction to Play 2 Framework
JMockit & Hamcrest
JMockit & Hamcrest
Apache Camel
Apache Camel
Using JPA applications in the era of NoSQL: Introducing Hibernate OGM
Using JPA applications in the era of NoSQL: Introducing Hibernate OGM
Introducing Infinispan
Introducing Infinispan
To SOA or not to SOA
To SOA or not to SOA
Introduction to Grails Framework
Introduction to Grails Framework
Apresentação LifeRay
Apresentação LifeRay
Oracle Java Strategy Lg V3
Oracle Java Strategy Lg V3
Scripting na JVM
Scripting na JVM
The tale of the Fénix architecture
The tale of the Fénix architecture
Lightweight Grids With Terracotta
Lightweight Grids With Terracotta
Google Web Toolkit
Google Web Toolkit
Developers Java: O que as empresas dizem que precisam mesmo mesmo
Developers Java: O que as empresas dizem que precisam mesmo mesmo
Recently uploaded
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
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
Neo4j
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
carlostorres15106
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
XfilesPro
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Patryk Bandurski
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
Key Features Of Token Development (1).pptx
Key Features Of Token Development (1).pptx
LBM Solutions
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Recently uploaded
(20)
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 ...
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Key Features Of Token Development (1).pptx
Key Features Of Token Development (1).pptx
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Microservices
1.
© Equal Experts
UK Ltd 2015 Microservices Scaling Human Work by Paulo Gaspar @paulogaspar7
2.
© Equal Experts
UK Ltd 2015 Does size matter? (Why didn’t Jeff Bezos want to give more than two pizzas to each team?)
3.
© Equal Experts
UK Ltd 2015 Large versus Small (Systems) • Ever worked on both? • Compare… • Knowledge sharing / communication? • Pace of progress? • New technology adoption? • Ease of technical debt elimination? • Accountability (not throwing issues over the wall)?
4.
© Equal Experts
UK Ltd 2015 But what are Microservices?
5.
© Equal Experts
UK Ltd 2015 Fowler Description § The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. http://martinfowler.com/articles/microservices.html
6.
© Equal Experts
UK Ltd 2015 Fowler Description… …says nothing about its WHYs
7.
© Equal Experts
UK Ltd 2015 Why Microservices? §Performance? §Availability? §Scalability? §Because you like Docker and doing DevOps?
8.
© Equal Experts
UK Ltd 2015 Why Microservices? §Or is there a “non production time” reason?
9.
© Equal Experts
UK Ltd 2015 My experience…
10.
© Equal Experts
UK Ltd 2015 A NAIVE FIRST TIME…
11.
© Equal Experts
UK Ltd 2015 The very First Time… • Just because of Spring Boot (and Spring Loaded!) • We loved how fast and easy was running a service for development tests • Naturally, services were split and kept being split by functionality • We had different load requirements per service… • We started everything by hand, with scripts • We looked at Docker and several other tools for automation • Size was kept small “just” because it helped dividingwork and keepingchurn out high
12.
© Equal Experts
UK Ltd 2015 The First Time Were this real Microservices? …or just a SOA flavour?
13.
© Equal Experts
UK Ltd 2015 2ND TIME EXPERIENCED PARTNERS
14.
© Equal Experts
UK Ltd 2015 The Dream Team - First impressions • Very large overall project (a few hundred developers) • Very senior team • Real Agile, TDD, Reactive Programming, Scala, Pairing … • So many services, but my laptop can run all I need for integration tests! • Infrastructure of sharedtechnologies (messaging, database, monitoring…) • Infrastructure restrictions on used technologies • No management interferenceon technical decisions • Management (P.O. and others) supports technical issue prioritization • Management (P.O. and others) displays full trust on development team indications
15.
© Equal Experts
UK Ltd 2015 The Dream Team – the line up • Product Owner (P.O.) • Scrum Master • 8 Developers • 2 QA (Quality andAssurance) • A couple of B.A.s (BusinessAnalysts) • Shared UX team (Design, User Experience, etc.) • A couple of business monitoring elements
16.
© Equal Experts
UK Ltd 2015 Second impressions– Technicalities • Impressive churn out… • Functional stories oftendone faster than I initially estimated • Was this repeated across these many teams? (Scalability) • Shocked: no Business Logic on Libraries!!! • Shocked: not only do we pair, but pairs rotate twice a week • Internal Open Source for technical code • Each Microserviceis, at most, a few thousand lines big • There are mechanisms to deal with distributed computingissues (error propagation, latencies, cumulative latencies…) • Improving monitoringand available metrics receives a lot of attention
17.
© Equal Experts
UK Ltd 2015 Second impressions– Tribal team behaviour • Programming intensity is very high - almost all the time (out of meetings) is spent coding (Sounds normal to complete a medium size ticket in 2 to 4 days) • Some tribal behavioursof the developer team: • A whole team impromptu meeting is triggered if we find a production problem • Impromptu meetings also when a structural decision must be taken when coding (Yes, the code is own by the “tribe” as a whole) • Working out of office hours dedicated to monitoring • Developers report a large portion of the production issues (often before they have impact) • A lot of importance given by management to developers feedback • Work pace is not affected after one of the most experiencedteam members leaves
18.
© Equal Experts
UK Ltd 2015 Interactions separated by domain… • Developers directly take care of solving technical issues • Infrastructure teams send people to help and doctrine Microservice developers on the hows and whys of their systems / services • …and support Microservice teams into monitoring their own services • Technical issues / doubts sorted out by direct developer contact with other teams (Infrastructure, other development teams,architects,…) • Technical code is shared (with all teams) as internal Open Source • Business / management people directly take care of solving business related issues • All Stories are defined by B.A.s and reviewed by Developer before considering them ready • All remaining doubts about business related issues sorted out by B.A.s or P.O.s • Developers do not directly go get information from domain experts just to sort out a story • Only B.A.s or P.O.s bring information across from domain experts to developers
19.
© Equal Experts
UK Ltd 2015 Customerfeedback It was repeatedly mentioned by customer representatives how the team had exceeded their productivity expectations (and how quality was kept high)
20.
© Equal Experts
UK Ltd 2015 The Big Picture • Developersown the code as a group • Developerstake direct care of technicalmatters • Managers/ B.A.s take care of business related matters • Managerstrust developers(and vice versa) • Scalability: other teams seem to be doing just the same • Customer is happy with productivity + quality (this team’sand overall)
21.
© Equal Experts
UK Ltd 2015 The Big Picture Ownership Accountability Trust
22.
© Equal Experts
UK Ltd 2015 The Big Picture I believe we were doing REAL Microservices
23.
© Equal Experts
UK Ltd 2015 WHAT DO OTHERS SAY?
24.
© Equal Experts
UK Ltd 2015 Development on LARGE applications • Steeper learning curve • Higher CODE DRAG • Throwing responsibilities over the wall • Development tools and containers get overloaded => slower development • Larger teams have higher communication costs / problems • Must rebuild and redeploy a large volume of code for any small change • Any change (functional or technologic) is harder and riskier • Riskier and expensive changes happen less frequently => slower evolution
25.
© Equal Experts
UK Ltd 2015 Development on Microservices • Smaller teams • Less communication paths, lowercommunication costs • Services get developedand deployed independently • Smaller and simpler code bases are • Easier to learn and faster to develop on • Less prone to dependency hell • Faster + simpler to build and deploy • Easier to compose and to replace • Producing less code drag • Change is simpler and risks more isolated • Evolution is easier
26.
© Equal Experts
UK Ltd 2015 Microservices – the WHYs… Achieving SCALABLE high productivity
27.
© Equal Experts
UK Ltd 2015 Is this SOA • “Traditional SOA” was dominated by vendors and the technologiesthey promoted (e.g.: some people thought that SOAhad to be done with SOAP) • Microservices grew from practical needs and concerns, with no vendor/technology ties • SOA done right?
28.
© Equal Experts
UK Ltd 2015 MY 2 CENTS
29.
© Equal Experts
UK Ltd 2015 But I noticed that developing“with Microservices”… Does NOT always work that well!
30.
© Equal Experts
UK Ltd 2015 Developing“with Microservices”… Does not always work that well, because Microservices are an enabler, NOT a guarantee
31.
© Equal Experts
UK Ltd 2015 Scaling high productivity=> high productivityon each Dev. Team!
32.
© Equal Experts
UK Ltd 2015 To have good results developing with Microservices… Several roles must be well played Several things must be done right …or you are just doing a SOA flavour!
33.
© Equal Experts
UK Ltd 2015 To have good results developing with Microservices… Doing Agile well sure helps (You know you can read about Agile elsewhere!)
34.
© Equal Experts
UK Ltd 2015 The role of Developers… • Is to code/producea maximum of business functionality • It works better if: • Distractions and obstacles to play that role are kept to a minimum • The business functionality to implement is well defined from the start of each task/ticket • Stress is kept to the necessary minimum • Team members rotate across all of the team’s Microservices • Knowledge and decisions are (BOTH) shared (Only with shared knowledge is decision sharing productive) • All other roles and practices we talk about simply serve this purpose
35.
© Equal Experts
UK Ltd 2015 The importance of having team QAs… • Acceptance tests and the dance of pushing to deployment have high latencies • The developer can transport the coding momentum to the next ticket • The QA fills latencies better by juggling between multiple tickets • The QA validates produced work better because: • He/she is not biased by the development work, keeping an higher focus on specs • Has a better overview overwhat is going on across tickets • Their independence from development qualifies them better to produce good acceptance tests • …and you can read a lot more about this role elsewhere
36.
© Equal Experts
UK Ltd 2015 The importance of a Scrum Masters or Delivery Manager, Product Owners, BusinessAnalysts… • Keep the programming team’s focus • And feed it with a well coordinated/ordered and uninterrupted stream of clearly defined tasks/stories acrossteams • This actually means many order tasks, defining and keepinga vision, like prioritizing work, coordinating work across teams, handling the customer, keeping unnecessarypolitics away from development work, etc.
37.
© Equal Experts
UK Ltd 2015 Improving DRY(Don’t Repeat Yourself) • Common vision + principles increase the opportunities for synergies • Creating synergies demands coordination + steering • …reducing redundant efforts and boring wheel reinvention • …improving sharing and development speed • Balance steering to give some room for experimentation -> evolution
38.
© Equal Experts
UK Ltd 2015 The importance of good horizontal teams (improvingDRY)
39.
© Equal Experts
UK Ltd 2015 Horizontal Team – Business / Management (improvingDRY) • A (Functional/Business)Vision • A Plan • Well coordinated and well prioritizedflow of stories… • …consistent across all teams
40.
© Equal Experts
UK Ltd 2015 Horizontal Team – SystemArchitecture (improving DRY) • Vision • Overall high level (but well grounded) design • Consistent design principles / values / philosophy • Steering • Gathering collective experience and sharingthe resulting knowledge • (Interesting discussionabout this role on the Sam Newman’s book)
41.
© Equal Experts
UK Ltd 2015 Horizontal Teams – Infrastructure (improving DRY) • Means to effectively share knowledge across teams • Means to support the sharingof “internal open source” • Shared productionservices (databases, message queues, etc.) • Other shared development support services • Other means to share and reduce the cost of technical services
42.
© Equal Experts
UK Ltd 2015 Coding -the importance of service SIZE… • We are talking about MICROservices • Not of Large or Extra Large services • Not even of Medium Services • Not even Small-ish or Mini Services • The name is MICROservices!!!
43.
© Equal Experts
UK Ltd 2015 Would you call this a Micro mammal?
44.
© Equal Experts
UK Ltd 2015 The importance of SIZE – remember, smaller code bases are… • Easier to learn and faster to develop on • Less prone to dependency hell • Faster + simpler to build and deploy • Easier to compose and to replace • Producing less code drag, therefore being easier to • Replace • Refactor • Evolve, independently, at the most convenient pace
45.
© Equal Experts
UK Ltd 2015 Signs it is NOT a Microservice (just a service)… • Lines of code count is high - into the 5 (or more) digits • Covers multiple (worse if disparate) functional topics • Big volumes of technical code included - e.g.: an audit servlet filter (But you can have their functionalityincluded in libraries) • A lot of developers working simultaneously on the same service Maybe you are doing some other SOA flavour
46.
© Equal Experts
UK Ltd 2015 Signs it is a good Microservice… • Lines of code count is low (3 or 4 digits) • Focus on business logic code • Covers one functional topic (although you might end up dividing it in sub-topics forever…) • No business logic in libraries (since it produces version management and functional consistencyproblems) • No duplicate business logicwith other services (DRY, functional consistency) • Meaningful volumes of reusable technical code are placed in libraries to • Keep focus on business logic • Ease future splits • Share (i.e.: reduce overall) technical cost
47.
© Equal Experts
UK Ltd 2015 When you start • Start small • Learn the basics well andASAP • Just the essential principles you need for your scale • …inclusive about REST, if you use it • …and CQRS (Command Query Responsibility Segregation) • Don’t be in a hurry to divide services • Take your time to learn each piece you add • Lear about the “new” types of error you are exposed to, like: • Fallacies of distributed computing https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
48.
© Equal Experts
UK Ltd 2015 When you start (doing large scale Microservices) • Embrace Devops • Brace for networking related problems • Latency across a call stack • Manage timeouts • Cascading failures • Circuit breakers,bulkheads,isolation • Start monitoring • Collect metrics • Good logs and a log repository • Tracing
49.
© Equal Experts
UK Ltd 2015 …remember the fallacies… • The network is reliable. • Latency is zero. • Bandwidth is infinite. • The network is secure. • Topology doesn't change. • There is one administrator. • Transport cost is zero. • The network is homogeneous.
50.
© Equal Experts
UK Ltd 2015 READING/STUDY MATERIAL…
51.
© Equal Experts
UK Ltd 2015 Some reading material • Building Microservices, by Sam Newman (O’REILLY) • http://microservices.io • Netflix stuff • http://netflix.github.io • Distributed computing (some topics to search for…) • CAP Theorem (read the paper) • Eventual Consistency (read the Dynamo DB paper) • Idempotency • Consensus • Causality • Serializability and Linearizability
52.
© Equal Experts
UK Ltd 2015 Historic Big Players • Amazon • Amazon Cloud • Amazon’s Two-Pizza Team Rule http://blog.idonethis.com/two-pizza-team/ • Netflix • http://netflix.github.io
53.
© Equal Experts
UK Ltd 2015 Microservice frameworks • Dropwizard http://www.dropwizard.io • Spring Boot http://projects.spring.io/spring-boot/ https://github.com/spring-projects/spring-loaded https://spring.io/blog/2015/06/17/devtools-in-spring-boot-1-3 http://projects.spring.io/spring-hateoas/ • Play Framework https://www.playframework.com • Netflix Karyon https://github.com/Netflix/karyon
54.
© Equal Experts
UK Ltd 2015 Monitoring • Metrics https://dropwizard.github.io/metrics/ • Grafana http://grafana.org • ELK – ElasticSearch, LogStash, Kibana https://www.elastic.co/webinars/introduction-elk-stack • Twitter Zipkin (tracing) http://twitter.github.io/zipkin/
55.
© Equal Experts
UK Ltd 2015 Basic Resilience • Netflix stuff (discovery, client side LB, circuit breakers) • http://netflix.github.io • http://cloud.spring.io/spring-cloud-netflix/ • Spring Cloud • http://cloud.spring.io/
56.
© Equal Experts
UK Ltd 2015 Databases and Datastores • Service databases (one instance/schema per service family) • Separated report database (usually relational) • Database variants • Relational, document based, key-value, etc. • Notable databases / data stores • MongoDB, PostgreSQL, Redis, ElasticSearch • http://projects.spring.io/spring-data/
57.
© Equal Experts
UK Ltd 2015 Messaging • Sophisticated Routing RabbitMQ https://www.rabbitmq.com • High volume Apache Kafka http://kafka.apache.org https://github.com/spring-projects/spring-integration-kafka
58.
© Equal Experts
UK Ltd 2015 Others • Swagger (service description) http://swagger.io • Docker (virtualization) https://www.docker.com • Kubernetes (Cloud deployment) http://kubernetes.io • NGINX (networking infrastructure) https://www.nginx.com • Zookeeper (consensus, presence, other coordination) http://zookeeper.apache.org
59.
© Equal Experts
UK Ltd 2015 Thank you! Paulo Gaspar @paulogaspar7
Download now