SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
BECOME THE MAESTROBECOME THE MAESTRO
MICROSERVICES ORCHESTRATION WITHMICROSERVICES ORCHESTRATION WITH
KONG, GALILEO & GELATOKONG, GALILEO & GELATO
WHO?WHO?
quick intro about myself
GET /who HTTP/1.1
Host: www.ahmadnassri.com
Accept: application/json
HTTP/1.1 200 OK
Date: Thu, 11 Feb 2016 10:00:00 CET
Content-Type: application/json
{
"name": "Ahmad Nassri",
"website": "ahmad.codes",
"twitter": "@AhmadNassri",
"city": "Toronto, Canada",
"hometown": "Damascus, Syria",
"bio": "Technologist, Entrepreneur, Dog Lover",
"work": {
"company": " ",
"role": "VP, Engineering"
}
}
Mashape.com
AHMAD NASSRIAHMAD NASSRI
Live in Toronto, work in San Francisco / Silicon Valley.
Adopted in every major industry including finance, healthcare, military, agriculture, insurance, government, media, e-commerce, retail, aviation, manufacturing and
telecom.
WARNINGWARNING
BIASED OPINIONS BEYOND THIS POINT ... DUH!BIASED OPINIONS BEYOND THIS POINT ... DUH!
YMMV
MICROSERVICES?MICROSERVICES?
Martin Fowler - a definition of this
new architectural term:
bit.ly/ms-definition
Microservice architecture
patterns and best practices
bit.ly/ms-patterns
Resources & Reading List
bit.ly/ms-resources
if you're not familiar with microservices, here's your home work (links at the last slide)
MICROSERVICESMICROSERVICES
IN PRODUCTIONIN PRODUCTION
everybody talks about microservices, (the theory, the tooling, best practices, etc ...)
but you rarely see the complexity involved
EXPECTATIONEXPECTATION
as a team starts to venture into building a new product, they might start thinking about the architectural design pattern and see it in abstract terms
EXTENDED EXPECTATIONSEXTENDED EXPECTATIONS
as development intensifies, the initial theory quickly evolves, more microservices are discovered (they're like pokemons, new ones keep showing up!)
and throughout more tooling is introduced (cranes in pic)
REALITY STRIKESREALITY STRIKES
the best laid plans of mice and men often go awry
REALITY CHECKREALITY CHECK
in reality, microservices are huge in scale and require a lot of tooling and support
User
Service
Movie
Service
Rating
Service
SIMPLE MOVIESIMPLE MOVIE
RECCOMENDATIONSRECCOMENDATIONS
Reeco
Service
quick example
things start off simple
User
Service
Movie
Service
Rating
Service
SIMPLE MOVIESIMPLE MOVIE
RECCOMENDATIONS???RECCOMENDATIONS???
Reeco
Service
services have to talk to each other!
- mark movie as watched
- check if movie exists before applying rating
- check current user permissions
SCALING SIMPLE MOVIESCALING SIMPLE MOVIE
RECCOMENDATIONSRECCOMENDATIONS
LB
LB LB
LB
enter load balancers, service registery and discovery tools
GROWTH STAGEGROWTH STAGE
microservices quickly increase in number to serve different business functions
teams start forming around or from microservices and APIS
REFACTOR!REFACTOR!
V2 V2 V2 V2
new hot shot joins the team, decides to re-write everything!
DEPENDENCIES!DEPENDENCIES!
V2 V2 V2 V2
don't forget, services need to talk to each other
SECURITY & AUTHENTICATIONSECURITY & AUTHENTICATION
V2 V2 V2 V2
security can be achieved on the network layer, but also through authentication to ensure user action impersonation
LOGGING?LOGGING?
V2 V2 V2 V2
you wanna know what's going on, don't you?
and how about debugging a user transaction across all those microservices?
BRAIN OVERLOAD!BRAIN OVERLOAD!
tables be flipping
DONT REPEAT YOURSELFDONT REPEAT YOURSELF
Logging
Load Balancing
Authentication
Security
Monitoring
Rate Limiting
...
D.R.Y
all common functionality and tooling should be extracted, including:
ENTER KONGENTER KONG
V2 V2 V2 V2
GETKong.org
Kong is designed to solve the problem of abstracting common microservices & API management functionality
WHAT IS KONG?WHAT IS KONG?
$ curl -X POST 127.0.0.1:8001/apis 
--data 'name=movies.v1' 
--data 'upstream_url=http://lb1.movies/' 
--data 'request_path=/v1/movies'
$ curl -X POST 127.0.0.1:8001/apis 
--data 'name=movies.v2' 
--data 'upstream_url=http://lb2.movies/' 
--data 'request_path=/v2/movies'
Open-source management layer for APIs
Built with Nginx, OpenResty, Lua
Configurable Through a RESTful API
add powerful functionality through plugins
kong nodes are stateless and horizontally scalable, with built-in auto-discovery and clustering
KONG PLUGINSKONG PLUGINS
$ http POST :8001/apis/movies.v1/plugins 
name=loggly config.key=SECRET
$ http POST :8001/apis/movies.v1/plugins 
name=rate-limiting config.hour=500 config.minutes=100
$ http POST :8001/apis/movies.v1/plugins 
name=cors config.origin=* config.methods=GET,PUT
$ http POST :8001/apis/movies.v1/plugins 
name=galileo config.service_token=SECRET
$ http POST :8001/apis/movies.v1/plugins 
name=ssl config.cert=@/local/path/to/cert.pem 
config.key=@/local/path/to/cert.key
$ http POST :8001/apis/movies.v1/plugins 
name=oauth2 config.scopes=email,phone,address 
config.mandatory_scope=true
plugins are functional lua modules that are triggered at certain points during the request life-cycle with the ability to inspect, modify, and transform the request and
response objects
(here I'm using HTTPie for the examples)
SCENARIOSSCENARIOS
VPN Vendors
- as external facing api gateway
- as internal microservices orchestration
- as vendor shield
- can even chain kong
GALILEOGALILEO
The Analytics Platform for Monitoring, Visualizing and
Inspecting API & Microservice Traffic
GAIN INSIGHTGAIN INSIGHT
Timeseries Charts
See trends data down to the minute with
our timeseries charting that shows how
usage is changing and visually spot any
anomalies.
Error View
Keep track of client and server errors and
who is causing them so you can debug and
handle the issue before it becomes a
problem.
GAIN INSIGHTGAIN INSIGHT
Custom Filtering
Filter the data down to exactly what you
care about and learn how clients are
requesting your services and how servers
are responding.
Consumer Usage
Get a clear picture of an individual
consumers requests to figure out how they
are using your services and which
endpoints are most important.
GELATOGELATO
Removes all the hassle of creating and maintaining
technical docs, and makes onboarding developers easy
GELATOGELATO
Automatic API Explorer, Markdown Editor, Developer Onboarding, Code
Generation, Import Swagger or API-blueprint
gelato is packed with features
THANK YOUTHANK YOU
{
"speaker": {
"name": "Ahmad Nassri",
"website": "ahmad.codes",
"twitter": "@AhmadNassri",
"city": "Toronto, Canada",
"bio": "Technologist, Entrepreneur, Dog Lover",
"work": {
"company": " ",
"role": "VP, Engineering"
}
},
"links": [
"mashape.com",
"bit.ly/ms-kgg",
"bit.ly/ms-definition",
"bit.ly/ms-patterns",
"bit.ly/ms-resources"
]
}
Mashape.com

Contenu connexe

Plus de icemobile

A date with data - CI’s Great British data visualisation adventure
A date with data - CI’s Great British data visualisation adventureA date with data - CI’s Great British data visualisation adventure
A date with data - CI’s Great British data visualisation adventureicemobile
 
Context Chat - why, what & how
Context Chat - why, what & howContext Chat - why, what & how
Context Chat - why, what & howicemobile
 
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...icemobile
 
Retail Loyalty Congress 2016 Masterclass IceMobile // Toronto Canada
Retail Loyalty Congress 2016 Masterclass IceMobile // Toronto CanadaRetail Loyalty Congress 2016 Masterclass IceMobile // Toronto Canada
Retail Loyalty Congress 2016 Masterclass IceMobile // Toronto Canadaicemobile
 
Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile
Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile
Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile icemobile
 
Service Discovery or Why each micro service should believe it's the only one ...
Service Discovery or Why each micro service should believe it's the only one ...Service Discovery or Why each micro service should believe it's the only one ...
Service Discovery or Why each micro service should believe it's the only one ...icemobile
 
Explorations in Cooperative Distributed Systems with Uber's Ringpop
Explorations in Cooperative Distributed Systems with Uber's RingpopExplorations in Cooperative Distributed Systems with Uber's Ringpop
Explorations in Cooperative Distributed Systems with Uber's Ringpopicemobile
 
About- Face: Reflections on Growing an Open-Source Mentality
About- Face: Reflections on Growing an Open-Source MentalityAbout- Face: Reflections on Growing an Open-Source Mentality
About- Face: Reflections on Growing an Open-Source Mentalityicemobile
 
An Amsterdam perspective on Design Thinking
An Amsterdam perspective on Design ThinkingAn Amsterdam perspective on Design Thinking
An Amsterdam perspective on Design Thinkingicemobile
 
Profiling tools and Android Performance patterns
Profiling tools and Android Performance patternsProfiling tools and Android Performance patterns
Profiling tools and Android Performance patternsicemobile
 
Mobile App Europe 2015 Pulse UX Workshop Presentation
Mobile App Europe 2015 Pulse UX Workshop PresentationMobile App Europe 2015 Pulse UX Workshop Presentation
Mobile App Europe 2015 Pulse UX Workshop Presentationicemobile
 
Product Tank Amsterdam Pulse UX Presentation
Product Tank Amsterdam Pulse UX PresentationProduct Tank Amsterdam Pulse UX Presentation
Product Tank Amsterdam Pulse UX Presentationicemobile
 
AMS Node Meetup February presentation Jasper Spoel
AMS Node Meetup February presentation Jasper SpoelAMS Node Meetup February presentation Jasper Spoel
AMS Node Meetup February presentation Jasper Spoelicemobile
 
AMS Node Meetup, Node Summit 2015 Recap
AMS Node Meetup, Node Summit 2015 RecapAMS Node Meetup, Node Summit 2015 Recap
AMS Node Meetup, Node Summit 2015 Recapicemobile
 
AMS Node Meetup December presentation Phusion Passenger
AMS Node Meetup December presentation Phusion PassengerAMS Node Meetup December presentation Phusion Passenger
AMS Node Meetup December presentation Phusion Passengericemobile
 
Design Thinking to accelerate Innovation - Masterclass on RLC2015 Barcelona
Design Thinking to accelerate Innovation - Masterclass on RLC2015 BarcelonaDesign Thinking to accelerate Innovation - Masterclass on RLC2015 Barcelona
Design Thinking to accelerate Innovation - Masterclass on RLC2015 Barcelonaicemobile
 
The Numbers Magic (Amsterdam Node Meetup Presentation)
The Numbers Magic (Amsterdam Node Meetup Presentation)The Numbers Magic (Amsterdam Node Meetup Presentation)
The Numbers Magic (Amsterdam Node Meetup Presentation)icemobile
 
ProductTank Amsterdam - IceMobile Karlijn van den Berg
ProductTank Amsterdam - IceMobile Karlijn van den BergProductTank Amsterdam - IceMobile Karlijn van den Berg
ProductTank Amsterdam - IceMobile Karlijn van den Bergicemobile
 
Adding emotion to transactional loyalty
Adding emotion to transactional loyaltyAdding emotion to transactional loyalty
Adding emotion to transactional loyaltyicemobile
 

Plus de icemobile (19)

A date with data - CI’s Great British data visualisation adventure
A date with data - CI’s Great British data visualisation adventureA date with data - CI’s Great British data visualisation adventure
A date with data - CI’s Great British data visualisation adventure
 
Context Chat - why, what & how
Context Chat - why, what & howContext Chat - why, what & how
Context Chat - why, what & how
 
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
 
Retail Loyalty Congress 2016 Masterclass IceMobile // Toronto Canada
Retail Loyalty Congress 2016 Masterclass IceMobile // Toronto CanadaRetail Loyalty Congress 2016 Masterclass IceMobile // Toronto Canada
Retail Loyalty Congress 2016 Masterclass IceMobile // Toronto Canada
 
Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile
Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile
Ladies that UX Amsterdam 18082016 - Experience Mapping with IceMobile
 
Service Discovery or Why each micro service should believe it's the only one ...
Service Discovery or Why each micro service should believe it's the only one ...Service Discovery or Why each micro service should believe it's the only one ...
Service Discovery or Why each micro service should believe it's the only one ...
 
Explorations in Cooperative Distributed Systems with Uber's Ringpop
Explorations in Cooperative Distributed Systems with Uber's RingpopExplorations in Cooperative Distributed Systems with Uber's Ringpop
Explorations in Cooperative Distributed Systems with Uber's Ringpop
 
About- Face: Reflections on Growing an Open-Source Mentality
About- Face: Reflections on Growing an Open-Source MentalityAbout- Face: Reflections on Growing an Open-Source Mentality
About- Face: Reflections on Growing an Open-Source Mentality
 
An Amsterdam perspective on Design Thinking
An Amsterdam perspective on Design ThinkingAn Amsterdam perspective on Design Thinking
An Amsterdam perspective on Design Thinking
 
Profiling tools and Android Performance patterns
Profiling tools and Android Performance patternsProfiling tools and Android Performance patterns
Profiling tools and Android Performance patterns
 
Mobile App Europe 2015 Pulse UX Workshop Presentation
Mobile App Europe 2015 Pulse UX Workshop PresentationMobile App Europe 2015 Pulse UX Workshop Presentation
Mobile App Europe 2015 Pulse UX Workshop Presentation
 
Product Tank Amsterdam Pulse UX Presentation
Product Tank Amsterdam Pulse UX PresentationProduct Tank Amsterdam Pulse UX Presentation
Product Tank Amsterdam Pulse UX Presentation
 
AMS Node Meetup February presentation Jasper Spoel
AMS Node Meetup February presentation Jasper SpoelAMS Node Meetup February presentation Jasper Spoel
AMS Node Meetup February presentation Jasper Spoel
 
AMS Node Meetup, Node Summit 2015 Recap
AMS Node Meetup, Node Summit 2015 RecapAMS Node Meetup, Node Summit 2015 Recap
AMS Node Meetup, Node Summit 2015 Recap
 
AMS Node Meetup December presentation Phusion Passenger
AMS Node Meetup December presentation Phusion PassengerAMS Node Meetup December presentation Phusion Passenger
AMS Node Meetup December presentation Phusion Passenger
 
Design Thinking to accelerate Innovation - Masterclass on RLC2015 Barcelona
Design Thinking to accelerate Innovation - Masterclass on RLC2015 BarcelonaDesign Thinking to accelerate Innovation - Masterclass on RLC2015 Barcelona
Design Thinking to accelerate Innovation - Masterclass on RLC2015 Barcelona
 
The Numbers Magic (Amsterdam Node Meetup Presentation)
The Numbers Magic (Amsterdam Node Meetup Presentation)The Numbers Magic (Amsterdam Node Meetup Presentation)
The Numbers Magic (Amsterdam Node Meetup Presentation)
 
ProductTank Amsterdam - IceMobile Karlijn van den Berg
ProductTank Amsterdam - IceMobile Karlijn van den BergProductTank Amsterdam - IceMobile Karlijn van den Berg
ProductTank Amsterdam - IceMobile Karlijn van den Berg
 
Adding emotion to transactional loyalty
Adding emotion to transactional loyaltyAdding emotion to transactional loyalty
Adding emotion to transactional loyalty
 

Dernier

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Dernier (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Micro Services Orchestration with Kong, Galileo & Gelato

  • 1. BECOME THE MAESTROBECOME THE MAESTRO MICROSERVICES ORCHESTRATION WITHMICROSERVICES ORCHESTRATION WITH KONG, GALILEO & GELATOKONG, GALILEO & GELATO
  • 3. GET /who HTTP/1.1 Host: www.ahmadnassri.com Accept: application/json HTTP/1.1 200 OK Date: Thu, 11 Feb 2016 10:00:00 CET Content-Type: application/json { "name": "Ahmad Nassri", "website": "ahmad.codes", "twitter": "@AhmadNassri", "city": "Toronto, Canada", "hometown": "Damascus, Syria", "bio": "Technologist, Entrepreneur, Dog Lover", "work": { "company": " ", "role": "VP, Engineering" } } Mashape.com AHMAD NASSRIAHMAD NASSRI Live in Toronto, work in San Francisco / Silicon Valley.
  • 4. Adopted in every major industry including finance, healthcare, military, agriculture, insurance, government, media, e-commerce, retail, aviation, manufacturing and telecom.
  • 5. WARNINGWARNING BIASED OPINIONS BEYOND THIS POINT ... DUH!BIASED OPINIONS BEYOND THIS POINT ... DUH! YMMV
  • 6. MICROSERVICES?MICROSERVICES? Martin Fowler - a definition of this new architectural term: bit.ly/ms-definition Microservice architecture patterns and best practices bit.ly/ms-patterns Resources & Reading List bit.ly/ms-resources if you're not familiar with microservices, here's your home work (links at the last slide)
  • 7. MICROSERVICESMICROSERVICES IN PRODUCTIONIN PRODUCTION everybody talks about microservices, (the theory, the tooling, best practices, etc ...) but you rarely see the complexity involved
  • 8. EXPECTATIONEXPECTATION as a team starts to venture into building a new product, they might start thinking about the architectural design pattern and see it in abstract terms
  • 9. EXTENDED EXPECTATIONSEXTENDED EXPECTATIONS as development intensifies, the initial theory quickly evolves, more microservices are discovered (they're like pokemons, new ones keep showing up!) and throughout more tooling is introduced (cranes in pic)
  • 10. REALITY STRIKESREALITY STRIKES the best laid plans of mice and men often go awry
  • 11. REALITY CHECKREALITY CHECK in reality, microservices are huge in scale and require a lot of tooling and support
  • 13. User Service Movie Service Rating Service SIMPLE MOVIESIMPLE MOVIE RECCOMENDATIONS???RECCOMENDATIONS??? Reeco Service services have to talk to each other! - mark movie as watched - check if movie exists before applying rating - check current user permissions
  • 14. SCALING SIMPLE MOVIESCALING SIMPLE MOVIE RECCOMENDATIONSRECCOMENDATIONS LB LB LB LB enter load balancers, service registery and discovery tools
  • 15. GROWTH STAGEGROWTH STAGE microservices quickly increase in number to serve different business functions teams start forming around or from microservices and APIS
  • 16. REFACTOR!REFACTOR! V2 V2 V2 V2 new hot shot joins the team, decides to re-write everything!
  • 17. DEPENDENCIES!DEPENDENCIES! V2 V2 V2 V2 don't forget, services need to talk to each other
  • 18. SECURITY & AUTHENTICATIONSECURITY & AUTHENTICATION V2 V2 V2 V2 security can be achieved on the network layer, but also through authentication to ensure user action impersonation
  • 19. LOGGING?LOGGING? V2 V2 V2 V2 you wanna know what's going on, don't you? and how about debugging a user transaction across all those microservices?
  • 21. DONT REPEAT YOURSELFDONT REPEAT YOURSELF Logging Load Balancing Authentication Security Monitoring Rate Limiting ... D.R.Y all common functionality and tooling should be extracted, including:
  • 22. ENTER KONGENTER KONG V2 V2 V2 V2 GETKong.org Kong is designed to solve the problem of abstracting common microservices & API management functionality
  • 23. WHAT IS KONG?WHAT IS KONG? $ curl -X POST 127.0.0.1:8001/apis --data 'name=movies.v1' --data 'upstream_url=http://lb1.movies/' --data 'request_path=/v1/movies' $ curl -X POST 127.0.0.1:8001/apis --data 'name=movies.v2' --data 'upstream_url=http://lb2.movies/' --data 'request_path=/v2/movies' Open-source management layer for APIs Built with Nginx, OpenResty, Lua Configurable Through a RESTful API add powerful functionality through plugins kong nodes are stateless and horizontally scalable, with built-in auto-discovery and clustering
  • 24. KONG PLUGINSKONG PLUGINS $ http POST :8001/apis/movies.v1/plugins name=loggly config.key=SECRET $ http POST :8001/apis/movies.v1/plugins name=rate-limiting config.hour=500 config.minutes=100 $ http POST :8001/apis/movies.v1/plugins name=cors config.origin=* config.methods=GET,PUT $ http POST :8001/apis/movies.v1/plugins name=galileo config.service_token=SECRET $ http POST :8001/apis/movies.v1/plugins name=ssl config.cert=@/local/path/to/cert.pem config.key=@/local/path/to/cert.key $ http POST :8001/apis/movies.v1/plugins name=oauth2 config.scopes=email,phone,address config.mandatory_scope=true plugins are functional lua modules that are triggered at certain points during the request life-cycle with the ability to inspect, modify, and transform the request and response objects (here I'm using HTTPie for the examples)
  • 25. SCENARIOSSCENARIOS VPN Vendors - as external facing api gateway - as internal microservices orchestration - as vendor shield - can even chain kong
  • 26. GALILEOGALILEO The Analytics Platform for Monitoring, Visualizing and Inspecting API & Microservice Traffic
  • 27. GAIN INSIGHTGAIN INSIGHT Timeseries Charts See trends data down to the minute with our timeseries charting that shows how usage is changing and visually spot any anomalies. Error View Keep track of client and server errors and who is causing them so you can debug and handle the issue before it becomes a problem.
  • 28. GAIN INSIGHTGAIN INSIGHT Custom Filtering Filter the data down to exactly what you care about and learn how clients are requesting your services and how servers are responding. Consumer Usage Get a clear picture of an individual consumers requests to figure out how they are using your services and which endpoints are most important.
  • 29. GELATOGELATO Removes all the hassle of creating and maintaining technical docs, and makes onboarding developers easy
  • 30. GELATOGELATO Automatic API Explorer, Markdown Editor, Developer Onboarding, Code Generation, Import Swagger or API-blueprint gelato is packed with features
  • 31. THANK YOUTHANK YOU { "speaker": { "name": "Ahmad Nassri", "website": "ahmad.codes", "twitter": "@AhmadNassri", "city": "Toronto, Canada", "bio": "Technologist, Entrepreneur, Dog Lover", "work": { "company": " ", "role": "VP, Engineering" } }, "links": [ "mashape.com", "bit.ly/ms-kgg", "bit.ly/ms-definition", "bit.ly/ms-patterns", "bit.ly/ms-resources" ] } Mashape.com