SlideShare a Scribd company logo
Microservices
Insights with
Microservices
Lior Bar-On,
Purim 2016
Who is this Guy? (Lior Bar-On)
SAP: microservices-inspired architecture, to ease code maintenance
Gett: 24 microservices, 18 created in the last year
Developer, Architect, Chief-Architect
‫תוכנה‬ ‫ארכיטקטורת‬ ‫בלוג‬
Career
Microservices
Blogger
About
Company
About
R&D
TONS 76
RUBY-ON-RAILS
GOLANG
NATIVE IOS/ANDROID
REACTJS+FLUX+REDUX
200+
OF POSITIVE ENERGY EMPLOYEES
AWS PRODUCTION
SERVERS
ON PEAK TIME
In this talk...
Microservices is the new Black
… or the new DEFAULT Architecture Style
We do Microservices too - like everyone else!
● Microservices with Docker
Microservices are Clearly a Hype
● VB.NET for Microservices in 21 days
● Testing Microservices
● Microservices with node.js / Meteor /
Nginx / Go / Closure / ...
● Event-Driven Microservices
● Security for Microservices
‫הנושאים‬ ‫מהם‬ ‫בדקתי‬ ,‫ההרצאה‬ ‫לצורך‬
‫של‬ ‫בהקשר‬ ‫באינטרנט‬ ‫ביותר‬ ‫המדוברים‬
...‫מיקרו-שירותים‬
:‫שלי‬ ‫המסקנה‬ ??MSA ‫בגלל‬ ‫מחדש‬ ‫התוכנה‬ ‫הנדסת‬ ‫מקצוע‬ ‫כל‬ ‫את‬ ‫ללמוד‬ ‫צריך‬ ‫האם‬ ?‫המסקנה‬ ‫מה‬
We do Microservices too - like everyone else!
● Microservices with Docker
● Testing Microservices
● Microservices with node.js / Meteor / Nginx /
Go / Closure / ...
● Event-Driven Microservices
● Security for Microservices
● VB.NET for Microservices in 21 days
‫בין‬ ‫רב‬ ‫שוני‬ ‫היה‬ ‫לא‬ .MSA ‫ל‬ ‫אותן‬ ‫קשרו‬ ‫ורק‬ - ‫השונות‬ ‫הטכנולוגיות‬ ‫על‬ ‫לדבר‬ ‫רצו‬ ‫כולם‬ ,‫בעצם‬
‫הוסיפו‬ ‫רק‬ - ‫זהים‬ ‫הרעיונות‬ .Testing Microservices ‫על‬ ‫לכתבות‬ Testing ‫על‬ ‫כתובת‬
.‫קישור‬ ‫נקודות‬ ‫במאמרים‬
.‫בצחוק‬ ‫זה‬ - ‫האחרונה‬ ‫הדוגמה‬
Pattern: Assume Microservices
Microservices is what everyone do.
If you speak to everyone - connect yourself to
microservices. "with Microservices" ‫תכלול‬ ‫מעכשיו‬ ‫שלכם‬ ‫מצגת‬ ‫שכל‬ ‫ממליץ‬ ‫אני‬
!‫אישית‬ ‫דוגמה‬ ‫נותן‬ ‫ואני‬ -
Seriously:
Beware of “Microservices Envy”
Microservices are not “one architecture to rule
them all”
Microservices
Design Patterns
Some Commonly used Patterns
● Circuit Breakers, Bulkheads
● Single Sign-On (SSO) (e.g. OKTA, PingFederate)
● Distributed Tracing (e.g. Dapper, ZipKin)
● Centralized Configuration (e.g. Consul, Zookeeper, Spring Cloud)
● Service Discovery (e.g. Consul, Zookeeper, Euroka)
● Client (service) Side load balancing (e.g. Ribbon)
● Micro-Proxy / API Gateway (e.g. Zuul, ….)
● CQRS / Stream Processing
● Containers (e.g. Docker, Unikernel, then: Mesos, Kubernetes, Swarm,...)
Patterns ‫של‬ ‫נכבדת‬ ‫כמות‬ ‫כבר‬ ‫יש‬
.MSA‫ל‬ ‫המקושרים‬
We do Microservices too - like everyone else!
Remember:
No Software Engineer was ever got fired for
implementing ALL Microservices-related
Patterns to the system.
Though, they may get fired for not delivering
Business Value within a reasonable time.
Seriously:
Don’t implement Patterns eagerly.
Match Pattern per pain-point.
MSA Patterns & Gett
● Circuit Breakers
● Custom*
Implemented within 9 months
● Distributed Tracing
● Centralized Configuration
Implemented within 15 months
● Single Sign-On (SSO)
● API Gateway - onto the Monolith
Implement within 20 months (soon)
● API Gateway
● Containers* - in pilot
Desired
● Service Discovery
○ we use simple DNS.
● Client (service) Side load
balancing
● Bulkheads
● CQRS / Stream Processing
Not on our plans
blog post
.‫לכך‬ ‫ממשי‬ ‫צורך‬ ‫קיים‬ ‫באמת‬ ‫עכשיו‬ ‫רק‬ - ‫אחרי‬ ‫וחצי‬ ‫שנה‬ .API GW ‫במימוש‬ ‫להתחיל‬ ‫מייד‬ ‫לנו‬ ‫יעצו‬ ,‫בגט‬ ‫כשהתחלנו‬
.‫ומתי‬ - ‫מימשנו‬ ‫אנחנו‬ Patterns ‫אלו‬ ‫הנה‬
.‫פרספקטיבה‬ ‫קצת‬ ‫לתת‬
Not all common problems mapped to Patterns
Network Error rate of TCP 3-way-handshakes: ~ 1:20,000
Charging operations failed due to network on Legacy: none
Charging operations failed due to network on MSA: ~ 1:240
.Patterns ‫עם‬ ‫נפתרות‬ ‫הבעיות‬ ‫כל‬ ‫לא‬
‫חשיפה‬ ‫בגלל‬ ‫בה‬ ‫שנתקלנו‬ ‫בעיה‬ ‫הנה‬
‫שקודם‬ ‫תקשורת‬ .‫הרשת‬ ‫של‬ ‫לרגישות‬
‫כעת‬ - ‫המונוליט‬ ‫של‬ ‫בזיכרון‬ ‫הייתה‬ ‫לכן‬
‫עם‬ ‫ומתמודדת‬ ‫הרשת‬ ‫דרך‬ ‫עוברת‬
...‫שלה‬ ‫הרעשים‬
Seriously:
Understanding what you are doing >> using
the BEST(!!1) patterns.
… are not really “microservices patterns”
● Circuit Breakers, Bulkheads
● Centralized Configuration
● API Gateway (Gateway / Proxy / Facade)
● CQRS / Steam Processing
Much Older than Microservices
Somewhat Related to SOA
● Single Sign-On (SSO)
● Distributed Tracing
● Service Discovery
Happened to arrive at the same time
● Containers (Docker, Unikernel, etc.)
‫בעצם‬ ‫הם‬ - MSA ‫של‬ Patterns ,‫ובכלל‬
‫וזמנים‬ ‫ממקומות‬ ‫דפוסים‬ ‫של‬ ‫אסופה‬
...‫שונים‬
‫מהפיכה‬ ‫שזו‬ Containers ‫אולי‬ ‫מלבד‬
MSA ‫ו‬ MSA ‫ללא‬ ‫גם‬ ‫מתרחשת‬ ‫שהייתה‬
.‫בלעדיה‬ ‫מתרחשת‬ ‫הייתה‬
.‫סינרגיה‬ ‫נקודות‬ ‫הללו‬ ‫המגמות‬ 2-‫ל‬ ‫יש‬
Seriously:
Many of the above are classical Patterns of
Distributed Systems.
Microservices = Distributed Systems.
(‫מסובכת‬ ‫היא‬ ‫)כי‬ ‫מבוזרת‬ ‫ממערכת‬ ‫המנעו‬ - ‫האפשר‬ ‫במידת‬ :‫מבוזרות‬ ‫מערכות‬ ‫של‬ #1 ‫כלל‬
Why do you
need MSA?
Key Motivation #1
Continuous Deployment, A/B testing
A/B Testing is a core business activity
MSA is about Continuous Deployment
Services = parallel deployment pipeline
Services = independent deployment pipeline?
Key Motivation #2
Development Scalability
MSA is about Dev Org’s Scalability
● Services are small enough for code not to become ugly / lose control
The number of services scale with the System’s growth
● Services are small enough to be sometime fully re-written
MSA is about Dev Org’s Scalability (2)
Fences make good neighbours
Not-Sharing Memory makes fewer “dependency breaches”
Now: Cross-Service APIs - are what you need to watch!
- ‫למודולים‬ ‫ברורה‬ ‫חלוקה‬ ‫לנו‬ ‫יש‬ ‫במונוליט‬
‫זמן‬ ‫לאורך‬ ‫ולהתפזר‬ ‫אותה‬ ‫להפר‬ ‫קל‬ ‫אבל‬ ‫יותר‬ ‫יש‬ ‫אזי‬ APIs ‫ו‬ ‫רשת‬ ‫בתקשורת‬ ‫מגובה‬ ‫החלוקה‬ ‫כאשר‬ ,MSA ‫ב‬
‫פעמיים‬ ‫לחשוב‬ ‫גם‬ ‫לנו‬ ‫שעוזר‬ ‫מה‬ - ‫נוספים‬ ‫תקשורת‬ ‫קווי‬ ‫ליצור‬ ‫עבודה‬
.‫הסדר‬ ‫על‬ ‫ולשמור‬
Seriously:
Microservices have downsides too:
● The “Whole Picture” now shattered and you need to re-assemble it
(monitoring, logs, business logic needs, etc.)
● Network sensitivity
● Development overheads; Performance overheads.
Seriously:
Consider a “Monolith First” approach (a best-practice!)
Remember microservices are new. Question everything!
Make your own variations!
Allow yourself using non-microservices architecture
E.g. facebook, etsy, etc.
Summary
Approach to MSA with understanding...
image credits: @alvaro_sanchez
‫כבר‬ ‫שאתם‬ ‫מערכת‬ ‫לכם‬ ‫ויש‬ ‫ייתכן‬
‫לעשות‬ ‫ורוצים‬ ,‫אוהבים‬ ‫כל-כך‬ ‫לא‬
.‫שינוי‬ ‫בה‬
‫בהכרח‬ ‫לא‬ ‫למיקרו-שירותים‬ ‫חלוקה‬
!‫הבעיה‬ ‫את‬ ‫תפתור‬
… to make a better use of it
‫בעיה‬ ‫של‬ ‫נכונה‬ ‫התאמה‬ ‫עם‬
‫עמוקה‬ ‫הבנה‬ ‫מתוך‬ ‫ועבודה‬ ,‫לפתרון‬
‫מוצלח‬ ‫למימוש‬ ‫הסיכויים‬ ‫גדלים‬ -
!‫מיקרו-שירותים‬ ‫של‬
THANK YOU

More Related Content

What's hot

Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
Luigi Bennardis
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
uEngine Solutions
 
Microservices Patterns and Anti-Patterns
Microservices Patterns and Anti-PatternsMicroservices Patterns and Anti-Patterns
Microservices Patterns and Anti-Patterns
Corneil du Plessis
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
GlobalLogic Ukraine
 
Building a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedInBuilding a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedIn
Jens Pillgram-Larsen
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
Žilvinas Kuusas
 
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Somasundram Balakrushnan
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
Sergey Seletsky
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
Nguyen Tung
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
Lalit Kale
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
Lari Hotari
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
VMware Tanzu Korea
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
Faren faren
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
Dejan Glozic
 
building microservices
building microservicesbuilding microservices
building microservices
Cisco DevNet
 
Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.
Yuriy Chapran
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
Kasun Indrasiri
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture
Chris Richardson
 
Bring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-appsBring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-apps
Thang Chung
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
Ken Owens
 

What's hot (20)

Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
 
Microservices Patterns and Anti-Patterns
Microservices Patterns and Anti-PatternsMicroservices Patterns and Anti-Patterns
Microservices Patterns and Anti-Patterns
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
 
Building a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedInBuilding a Modern Enterprise SOA at LinkedIn
Building a Modern Enterprise SOA at LinkedIn
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
Microservices Architecture (MSA) - Presentation made at AEA-MN quarterly even...
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
 
building microservices
building microservicesbuilding microservices
building microservices
 
Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture
 
Bring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-appsBring Service Mesh To Cloud Native-apps
Bring Service Mesh To Cloud Native-apps
 
Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015Application Centric Microservices from Redhat Summit 2015
Application Centric Microservices from Redhat Summit 2015
 

Similar to Microservices (msa) insights with comments

Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
Miki Lombardi
 
Vodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architectureVodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architecture
Turgay Can
 
Microservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learningsMicroservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learnings
Matthew Reynolds
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
Jim (张建军) Zhang
 
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to MicroservicesHow to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
VMware Tanzu
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020
Rodrigo Antonialli
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
Ciro Donato Caiazzo
 
Micro service Arthicetcure
Micro service Arthicetcure Micro service Arthicetcure
Micro service Arthicetcure
Kian Paimani
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?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
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Micro service session 2
Micro service   session 2Micro service   session 2
Micro service session 2
Amin Arab
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
MongoDB
 
Migrate to Microservices Judiciously!
Migrate to Microservices Judiciously!Migrate to Microservices Judiciously!
Migrate to Microservices Judiciously!
pflueras
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
Ugo Landini
 
3298 microservices and how they relate to esb api and messaging - inter con...
3298   microservices and how they relate to esb api and messaging - inter con...3298   microservices and how they relate to esb api and messaging - inter con...
3298 microservices and how they relate to esb api and messaging - inter con...
Kim Clark
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
DevOps.com
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
Inho Kang
 

Similar to Microservices (msa) insights with comments (20)

Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Vodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architectureVodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architecture
 
Microservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learningsMicroservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learnings
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to MicroservicesHow to Overcome Data Challenges When Refactoring Monoliths to Microservices
How to Overcome Data Challenges When Refactoring Monoliths to Microservices
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
 
Micro service Arthicetcure
Micro service Arthicetcure Micro service Arthicetcure
Micro service Arthicetcure
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Micro service session 2
Micro service   session 2Micro service   session 2
Micro service session 2
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
Migrate to Microservices Judiciously!
Migrate to Microservices Judiciously!Migrate to Microservices Judiciously!
Migrate to Microservices Judiciously!
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
3298 microservices and how they relate to esb api and messaging - inter con...
3298   microservices and how they relate to esb api and messaging - inter con...3298   microservices and how they relate to esb api and messaging - inter con...
3298 microservices and how they relate to esb api and messaging - inter con...
 
The Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD PipelineThe Reality of Managing Microservices in Your CD Pipeline
The Reality of Managing Microservices in Your CD Pipeline
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 

Recently uploaded

Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 

Recently uploaded (20)

Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 

Microservices (msa) insights with comments

  • 2. Who is this Guy? (Lior Bar-On) SAP: microservices-inspired architecture, to ease code maintenance Gett: 24 microservices, 18 created in the last year Developer, Architect, Chief-Architect ‫תוכנה‬ ‫ארכיטקטורת‬ ‫בלוג‬ Career Microservices Blogger
  • 4. About R&D TONS 76 RUBY-ON-RAILS GOLANG NATIVE IOS/ANDROID REACTJS+FLUX+REDUX 200+ OF POSITIVE ENERGY EMPLOYEES AWS PRODUCTION SERVERS ON PEAK TIME
  • 5. In this talk... Microservices is the new Black … or the new DEFAULT Architecture Style
  • 6. We do Microservices too - like everyone else! ● Microservices with Docker Microservices are Clearly a Hype ● VB.NET for Microservices in 21 days ● Testing Microservices ● Microservices with node.js / Meteor / Nginx / Go / Closure / ... ● Event-Driven Microservices ● Security for Microservices ‫הנושאים‬ ‫מהם‬ ‫בדקתי‬ ,‫ההרצאה‬ ‫לצורך‬ ‫של‬ ‫בהקשר‬ ‫באינטרנט‬ ‫ביותר‬ ‫המדוברים‬ ...‫מיקרו-שירותים‬ :‫שלי‬ ‫המסקנה‬ ??MSA ‫בגלל‬ ‫מחדש‬ ‫התוכנה‬ ‫הנדסת‬ ‫מקצוע‬ ‫כל‬ ‫את‬ ‫ללמוד‬ ‫צריך‬ ‫האם‬ ?‫המסקנה‬ ‫מה‬
  • 7. We do Microservices too - like everyone else! ● Microservices with Docker ● Testing Microservices ● Microservices with node.js / Meteor / Nginx / Go / Closure / ... ● Event-Driven Microservices ● Security for Microservices ● VB.NET for Microservices in 21 days ‫בין‬ ‫רב‬ ‫שוני‬ ‫היה‬ ‫לא‬ .MSA ‫ל‬ ‫אותן‬ ‫קשרו‬ ‫ורק‬ - ‫השונות‬ ‫הטכנולוגיות‬ ‫על‬ ‫לדבר‬ ‫רצו‬ ‫כולם‬ ,‫בעצם‬ ‫הוסיפו‬ ‫רק‬ - ‫זהים‬ ‫הרעיונות‬ .Testing Microservices ‫על‬ ‫לכתבות‬ Testing ‫על‬ ‫כתובת‬ .‫קישור‬ ‫נקודות‬ ‫במאמרים‬ .‫בצחוק‬ ‫זה‬ - ‫האחרונה‬ ‫הדוגמה‬
  • 8. Pattern: Assume Microservices Microservices is what everyone do. If you speak to everyone - connect yourself to microservices. "with Microservices" ‫תכלול‬ ‫מעכשיו‬ ‫שלכם‬ ‫מצגת‬ ‫שכל‬ ‫ממליץ‬ ‫אני‬ !‫אישית‬ ‫דוגמה‬ ‫נותן‬ ‫ואני‬ -
  • 9. Seriously: Beware of “Microservices Envy” Microservices are not “one architecture to rule them all”
  • 11. Some Commonly used Patterns ● Circuit Breakers, Bulkheads ● Single Sign-On (SSO) (e.g. OKTA, PingFederate) ● Distributed Tracing (e.g. Dapper, ZipKin) ● Centralized Configuration (e.g. Consul, Zookeeper, Spring Cloud) ● Service Discovery (e.g. Consul, Zookeeper, Euroka) ● Client (service) Side load balancing (e.g. Ribbon) ● Micro-Proxy / API Gateway (e.g. Zuul, ….) ● CQRS / Stream Processing ● Containers (e.g. Docker, Unikernel, then: Mesos, Kubernetes, Swarm,...) Patterns ‫של‬ ‫נכבדת‬ ‫כמות‬ ‫כבר‬ ‫יש‬ .MSA‫ל‬ ‫המקושרים‬
  • 12. We do Microservices too - like everyone else! Remember: No Software Engineer was ever got fired for implementing ALL Microservices-related Patterns to the system. Though, they may get fired for not delivering Business Value within a reasonable time.
  • 13. Seriously: Don’t implement Patterns eagerly. Match Pattern per pain-point.
  • 14. MSA Patterns & Gett ● Circuit Breakers ● Custom* Implemented within 9 months ● Distributed Tracing ● Centralized Configuration Implemented within 15 months ● Single Sign-On (SSO) ● API Gateway - onto the Monolith Implement within 20 months (soon) ● API Gateway ● Containers* - in pilot Desired ● Service Discovery ○ we use simple DNS. ● Client (service) Side load balancing ● Bulkheads ● CQRS / Stream Processing Not on our plans blog post .‫לכך‬ ‫ממשי‬ ‫צורך‬ ‫קיים‬ ‫באמת‬ ‫עכשיו‬ ‫רק‬ - ‫אחרי‬ ‫וחצי‬ ‫שנה‬ .API GW ‫במימוש‬ ‫להתחיל‬ ‫מייד‬ ‫לנו‬ ‫יעצו‬ ,‫בגט‬ ‫כשהתחלנו‬ .‫ומתי‬ - ‫מימשנו‬ ‫אנחנו‬ Patterns ‫אלו‬ ‫הנה‬ .‫פרספקטיבה‬ ‫קצת‬ ‫לתת‬
  • 15. Not all common problems mapped to Patterns Network Error rate of TCP 3-way-handshakes: ~ 1:20,000 Charging operations failed due to network on Legacy: none Charging operations failed due to network on MSA: ~ 1:240 .Patterns ‫עם‬ ‫נפתרות‬ ‫הבעיות‬ ‫כל‬ ‫לא‬ ‫חשיפה‬ ‫בגלל‬ ‫בה‬ ‫שנתקלנו‬ ‫בעיה‬ ‫הנה‬ ‫שקודם‬ ‫תקשורת‬ .‫הרשת‬ ‫של‬ ‫לרגישות‬ ‫כעת‬ - ‫המונוליט‬ ‫של‬ ‫בזיכרון‬ ‫הייתה‬ ‫לכן‬ ‫עם‬ ‫ומתמודדת‬ ‫הרשת‬ ‫דרך‬ ‫עוברת‬ ...‫שלה‬ ‫הרעשים‬
  • 16. Seriously: Understanding what you are doing >> using the BEST(!!1) patterns.
  • 17. … are not really “microservices patterns” ● Circuit Breakers, Bulkheads ● Centralized Configuration ● API Gateway (Gateway / Proxy / Facade) ● CQRS / Steam Processing Much Older than Microservices Somewhat Related to SOA ● Single Sign-On (SSO) ● Distributed Tracing ● Service Discovery Happened to arrive at the same time ● Containers (Docker, Unikernel, etc.) ‫בעצם‬ ‫הם‬ - MSA ‫של‬ Patterns ,‫ובכלל‬ ‫וזמנים‬ ‫ממקומות‬ ‫דפוסים‬ ‫של‬ ‫אסופה‬ ...‫שונים‬ ‫מהפיכה‬ ‫שזו‬ Containers ‫אולי‬ ‫מלבד‬ MSA ‫ו‬ MSA ‫ללא‬ ‫גם‬ ‫מתרחשת‬ ‫שהייתה‬ .‫בלעדיה‬ ‫מתרחשת‬ ‫הייתה‬ .‫סינרגיה‬ ‫נקודות‬ ‫הללו‬ ‫המגמות‬ 2-‫ל‬ ‫יש‬
  • 18. Seriously: Many of the above are classical Patterns of Distributed Systems. Microservices = Distributed Systems. (‫מסובכת‬ ‫היא‬ ‫)כי‬ ‫מבוזרת‬ ‫ממערכת‬ ‫המנעו‬ - ‫האפשר‬ ‫במידת‬ :‫מבוזרות‬ ‫מערכות‬ ‫של‬ #1 ‫כלל‬
  • 20. Key Motivation #1 Continuous Deployment, A/B testing A/B Testing is a core business activity
  • 21. MSA is about Continuous Deployment
  • 22. Services = parallel deployment pipeline
  • 23. Services = independent deployment pipeline?
  • 25. MSA is about Dev Org’s Scalability ● Services are small enough for code not to become ugly / lose control The number of services scale with the System’s growth ● Services are small enough to be sometime fully re-written
  • 26. MSA is about Dev Org’s Scalability (2) Fences make good neighbours Not-Sharing Memory makes fewer “dependency breaches” Now: Cross-Service APIs - are what you need to watch! - ‫למודולים‬ ‫ברורה‬ ‫חלוקה‬ ‫לנו‬ ‫יש‬ ‫במונוליט‬ ‫זמן‬ ‫לאורך‬ ‫ולהתפזר‬ ‫אותה‬ ‫להפר‬ ‫קל‬ ‫אבל‬ ‫יותר‬ ‫יש‬ ‫אזי‬ APIs ‫ו‬ ‫רשת‬ ‫בתקשורת‬ ‫מגובה‬ ‫החלוקה‬ ‫כאשר‬ ,MSA ‫ב‬ ‫פעמיים‬ ‫לחשוב‬ ‫גם‬ ‫לנו‬ ‫שעוזר‬ ‫מה‬ - ‫נוספים‬ ‫תקשורת‬ ‫קווי‬ ‫ליצור‬ ‫עבודה‬ .‫הסדר‬ ‫על‬ ‫ולשמור‬
  • 27. Seriously: Microservices have downsides too: ● The “Whole Picture” now shattered and you need to re-assemble it (monitoring, logs, business logic needs, etc.) ● Network sensitivity ● Development overheads; Performance overheads.
  • 28. Seriously: Consider a “Monolith First” approach (a best-practice!) Remember microservices are new. Question everything! Make your own variations! Allow yourself using non-microservices architecture E.g. facebook, etsy, etc.
  • 30. Approach to MSA with understanding... image credits: @alvaro_sanchez ‫כבר‬ ‫שאתם‬ ‫מערכת‬ ‫לכם‬ ‫ויש‬ ‫ייתכן‬ ‫לעשות‬ ‫ורוצים‬ ,‫אוהבים‬ ‫כל-כך‬ ‫לא‬ .‫שינוי‬ ‫בה‬ ‫בהכרח‬ ‫לא‬ ‫למיקרו-שירותים‬ ‫חלוקה‬ !‫הבעיה‬ ‫את‬ ‫תפתור‬
  • 31. … to make a better use of it ‫בעיה‬ ‫של‬ ‫נכונה‬ ‫התאמה‬ ‫עם‬ ‫עמוקה‬ ‫הבנה‬ ‫מתוך‬ ‫ועבודה‬ ,‫לפתרון‬ ‫מוצלח‬ ‫למימוש‬ ‫הסיכויים‬ ‫גדלים‬ - !‫מיקרו-שירותים‬ ‫של‬