SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microserviceLuigi Bennardis
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickuEngine Solutions
 
Microservices Patterns and Anti-Patterns
Microservices Patterns and Anti-PatternsMicroservices Patterns and Anti-Patterns
Microservices Patterns and Anti-PatternsCorneil 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 LinkedInJens Pillgram-Larsen
 
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
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureNguyen Tung
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit 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 3Lari 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 architectureFaren faren
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBMDejan Glozic
 
building microservices
building microservicesbuilding microservices
building microservicesCisco 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 PracticeKasun 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 architectureChris 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-appsThang 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 2015Ken Owens
 

Was ist angesagt? (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
 

Ähnlich wie Microservices (msa) insights with comments

Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
 
Vodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architectureVodafone Devops Days - Micro service architecture
Vodafone Devops Days - Micro service architectureTurgay Can
 
Microservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learningsMicroservices at ibotta pitfalls and learnings
Microservices at ibotta pitfalls and learningsMatthew Reynolds
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil 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 MicroservicesJim (张建军) 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 MicroservicesVMware Tanzu
 
Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Introduction to Microservices Architecture - SECCOMP 2020
Introduction to Microservices Architecture - SECCOMP 2020Rodrigo Antonialli
 
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 monolithMarkus 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 monolithMarkus Eisele
 
Micro service session 2
Micro service   session 2Micro service   session 2
Micro service session 2Amin 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 CloudMongoDB
 
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 beyondUgo 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 PipelineDevOps.com
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern LaunguageInho Kang
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 

Kürzlich hochgeladen (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 

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 ‫בעיה‬ ‫של‬ ‫נכונה‬ ‫התאמה‬ ‫עם‬ ‫עמוקה‬ ‫הבנה‬ ‫מתוך‬ ‫ועבודה‬ ,‫לפתרון‬ ‫מוצלח‬ ‫למימוש‬ ‫הסיכויים‬ ‫גדלים‬ - !‫מיקרו-שירותים‬ ‫של‬