SlideShare a Scribd company logo
© 2018 NIIT Tech | www.niit-tech.com | Confidential
1
© 2018 NIIT Tech | www.niit-tech.com | Confidential
APIs and Microservices
121 Test Automation Day
21st April 2018
Puneet Sachdev
Chief Architect, NIIT Technologies
puneet.sachdev@niit-tech.com
https://www.linkedin.com/in/puneetsachdev/
© 2018 NIIT Tech | www.niit-tech.com | Confidential
2
© 2018 NIIT Tech | www.niit-tech.com | Confidential
3
© 2018 NIIT Tech | www.niit-tech.com | Confidential
4
Microservices is about
splitting a single application
into smaller pieces which are
independent and have their
own lifecycle
Microservices vs. SOA vs. APIs
© 2018 NIIT Tech | www.niit-tech.com | Confidential
5
Microservices vs. SOA vs. APIs
CRM DW Finance Loyalty
SOA is about integrating
different applications which
can be internal or 3rd party
© 2018 NIIT Tech | www.niit-tech.com | Confidential
6
Microservices vs. SOA vs. APIs
SOA Microservices
• Integration between different applications • Splitting an application into smaller pieces
• Dominated by proprietary stacks • Dominated by Open Source components from
organizations like Netflix
• Smart Pipes, Dumb Endpoints • Dumb pipes, Smart Endpoints
• Typically Hub-n-Spoke. Technology
Monoliths
• Completely Distributed
APIS
• APIs are interfaces which are exposed either internally and/or externally and have governance
and management around it
© 2018 NIIT Tech | www.niit-tech.com | Confidential
7
Microservices Reference Architecture
Microservices Technology
Stack
• Open Source
• Lightweight
• Based on
• Spring
• Netflix
• Docker, k8s
© 2018 NIIT Tech | www.niit-tech.com | Confidential
8
Concepts to be explored
1. Service Discovery (using Eureka/Kubernetes)
• Microservices applications run in containerized/virtualized and cloud environments where their actual locations change
dynamically
• How does a client of a service discover the location?
2. Circuit Breakers (using Hystrix)
• Microservices applications have many moving parts and span across multiple boundaries
• How to prevent a network or service failure from cascading to other services?
3. Client Side Load Balancing (using Ribbon/Kubernetes)
• Dumb pipes and smart endpoints. Where does this leave load balancing?
4. Proxy (using Zuul/Kubernetes)
• With diverse traffic hitting microservices, how to get an ability to provide intelligent filters on requests
5. Monitoring (using Hystrix Monitor/Prometheus+Grafana)
• When things fail, it is extremely important to note what is failing
• How to monitor in near real time many microservices?
© 2018 NIIT Tech | www.niit-tech.com | Confidential
9
Codebases
1. Pure Netflix & Spring (Eureka, Hystrix, Ribbon, Zuul, Spring Config, Spring Boot)
https://github.com/psachdev6375/microservices-bootcamp.git
2. Docker-Netflix-Spring (Docker, Eureka, Hystrix, Ribbon, Zuul, Prometheus, Grafana, Spring)
https://github.com/psachdev6375/docker-microservices-bootcamp.git
3. Docker-k8s-Netflix-Spring (Docker, k8s, Hystrix, Prometheus, Grafana, Spring)
https://github.com/psachdev6375/k8s-microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
10
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Subject
Service
Verb
Service
Article
Service
Adjective
Service
Noun
Service
You saw the leaky seat
Sentence
Service
Code: https://github.com/psachdev6375/microservices-bootcamp.git
Scenario
© 2018 NIIT Tech | www.niit-tech.com | Confidential
11
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Pure Netflix, Spring Boot implementation
Code: https://github.com/psachdev6375/microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
12
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Verb
Service
Eureka
Sentence
Service
Subject
Service
Article
Service
Adjective
Service
Noun
Service
1. Start Eureka Server
2. Check Eureka console
3. Start Sentence Service
4. See Circuit Breaker in action
5. See Hystrix Dashboard
Code: https://github.com/psachdev6375/microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
13
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Verb
Service
Eureka
Sentence
Service
Subject
Service
Article
Service
Adjective
Service
Noun
Service
1. Start Eureka Server
2. Check Eureka console
3. Start Sentence Service
4. See Circuit Breaker in action
5. See Hystrix Dashboard
6. All services running
Zuul
Code: https://github.com/psachdev6375/microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
14
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Verb
Service
Eureka
Sentence
Service
Subject
Service
Article
Service
Adjective
Service
Noun
Service
1. Start Eureka Server
2. Check Eureka console
3. Start Sentence Service
4. See Circuit Breaker in action
5. See Hystrix Dashboard
6. All services running
7. Zuul Proxy
Zuul
Code: https://github.com/psachdev6375/microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
15
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Verb
Service
Eureka
Sentence
Service
Subject
Service
Article
Service
Adjective
Service
Noun
Service
1. Start Eureka Server
2. Check Eureka console
3. Start Sentence Service
4. See Circuit Breaker in action
5. See Hystrix Dashboard
6. All services running
7. Zuul Proxy
8. Scaling Noun Service
Zuul
Noun
Service
Code: https://github.com/psachdev6375/microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
16
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Docker, Docker-Compose, Netflix, Spring Boot,
Prometheus, Grafana implementation
https://github.com/psachdev6375/docker-microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
17
© 2018 NIIT Tech | www.niit-tech.com | Confidential
https://github.com/psachdev6375/docker-microservices-bootcamp.git
Adjective Article Noun Subject Verb
Eureka
Sentence Grafana
Prometheus
Monitoring endpoint /prometheus
Zuul
Concepts
• Discovery (eureka)
• Circuit Breakers (hystrix)
• Client Side LB (ribbon)
• Proxy (zuul)
• Containers (docker)
• Monitoring & Alerts
(Prometheus)
• Dashboard (Grafana)
© 2018 NIIT Tech | www.niit-tech.com | Confidential
18
© 2018 NIIT Tech | www.niit-tech.com | Confidential
Docker, Kubernetes, Hystrix, Spring Boot,
Prometheus, Grafana implementation
https://github.com/psachdev6375/k8s-microservices-bootcamp.git
© 2018 NIIT Tech | www.niit-tech.com | Confidential
19
© 2018 NIIT Tech | www.niit-tech.com | Confidential
https://github.com/psachdev6375/k8s-microservices-bootcamp.git
Kubernetes Cluster
Concepts
• Discovery (k8s)
• Circuit Breakers (Hystrix)
• Load Balancing (k8s
services)
• Proxy (k8s services)
• Containers
• Container Orchestration
(k8s)
• Monitoring & Alerts
(Prometheus)
• Dashboard (Grafana)
Adjective
Pods
Adjective
Service
Article
Pods
Article
Service
Noun
Pods
Noun Service
Subject
Pods
Subject
Service
Verb
Pods
Verb Service
Sentence
Pods
Sentence
Service
Prometheus
Pods
Prometheus
Service
Grifana
Pods
Grifana
Service
© 2018 NIIT Tech | www.niit-tech.com | Confidential
20
Thank You
Puneet Sachdev
Chief Architect, NIIT Technologies
puneet.sachdev@niit-tech.com
https://www.linkedin.com/in/puneetsachdev/

More Related Content

What's hot

Manage data of service
Manage data of serviceManage data of service
Manage data of service
Somkiat Puisungnoen
 
A sustainable DevOps Transformation
A sustainable DevOps TransformationA sustainable DevOps Transformation
A sustainable DevOps Transformation
DevOps Indonesia
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
Somkiat Puisungnoen
 
Bringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIsBringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIs
Apigee | Google Cloud
 
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovixapidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays
 
CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...
Capgemini
 
Distributed Tracing
Distributed Tracing Distributed Tracing
Distributed Tracing
Somkiat Puisungnoen
 
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonageapidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
apidays
 
Zetta: An API First Platform
Zetta: An API First PlatformZetta: An API First Platform
Zetta: An API First PlatformAPI Meetup
 
IoTCraft - Chennai - meetup - ZettaJS - IoT Intro
IoTCraft  - Chennai - meetup - ZettaJS - IoT IntroIoTCraft  - Chennai - meetup - ZettaJS - IoT Intro
IoTCraft - Chennai - meetup - ZettaJS - IoT Intro
Anil Sagar
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
Somkiat Puisungnoen
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & Istio
Rinor Maloku
 
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Apigee | Google Cloud
 
Agile Drives Evolution in Testing Function
Agile Drives Evolution in Testing FunctionAgile Drives Evolution in Testing Function
Agile Drives Evolution in Testing Function
Cigniti Technologies Ltd
 
Devops, Agile and AI - Cue your Robot Underlords #CLUS2019
Devops, Agile and AI - Cue your Robot Underlords #CLUS2019Devops, Agile and AI - Cue your Robot Underlords #CLUS2019
Devops, Agile and AI - Cue your Robot Underlords #CLUS2019
Marco Coulter
 
How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind
Apigee | Google Cloud
 
Ryanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
Ryanair Presentation- Growth ambitions require speed evolution of BDD in RyanairRyanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
Ryanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
Cigniti Technologies Ltd
 
apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...
apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...
apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...
apidays
 
The Future of Digital Testing Is Only Getting More Complex
The Future of Digital Testing Is Only Getting More ComplexThe Future of Digital Testing Is Only Getting More Complex
The Future of Digital Testing Is Only Getting More Complex
Cigniti Technologies Ltd
 
OpenChain Tooling Work Group Meeting #3 - Agenda Slides
OpenChain Tooling Work Group Meeting #3 - Agenda SlidesOpenChain Tooling Work Group Meeting #3 - Agenda Slides
OpenChain Tooling Work Group Meeting #3 - Agenda Slides
Shane Coughlan
 

What's hot (20)

Manage data of service
Manage data of serviceManage data of service
Manage data of service
 
A sustainable DevOps Transformation
A sustainable DevOps TransformationA sustainable DevOps Transformation
A sustainable DevOps Transformation
 
Shared code between projects
Shared code between projectsShared code between projects
Shared code between projects
 
Bringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIsBringing Partners, Teams & Systems Together through APIs
Bringing Partners, Teams & Systems Together through APIs
 
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovixapidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
apidays LIVE Paris 2021 - Who writes the Docs? by Laura Vass, Pronovix
 
CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...
 
Distributed Tracing
Distributed Tracing Distributed Tracing
Distributed Tracing
 
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonageapidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
apidays LIVE Paris 2021 - What Developers Want by Paul Ardeleanu, Vonage
 
Zetta: An API First Platform
Zetta: An API First PlatformZetta: An API First Platform
Zetta: An API First Platform
 
IoTCraft - Chennai - meetup - ZettaJS - IoT Intro
IoTCraft  - Chennai - meetup - ZettaJS - IoT IntroIoTCraft  - Chennai - meetup - ZettaJS - IoT Intro
IoTCraft - Chennai - meetup - ZettaJS - IoT Intro
 
Sck spring-reactive
Sck spring-reactiveSck spring-reactive
Sck spring-reactive
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & Istio
 
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
Deep-Dive: How Can APIs Help You Innovate? (Partner Ecosystems)
 
Agile Drives Evolution in Testing Function
Agile Drives Evolution in Testing FunctionAgile Drives Evolution in Testing Function
Agile Drives Evolution in Testing Function
 
Devops, Agile and AI - Cue your Robot Underlords #CLUS2019
Devops, Agile and AI - Cue your Robot Underlords #CLUS2019Devops, Agile and AI - Cue your Robot Underlords #CLUS2019
Devops, Agile and AI - Cue your Robot Underlords #CLUS2019
 
How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind How to scale 1000s of API Integrations and not lose your mind
How to scale 1000s of API Integrations and not lose your mind
 
Ryanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
Ryanair Presentation- Growth ambitions require speed evolution of BDD in RyanairRyanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
Ryanair Presentation- Growth ambitions require speed evolution of BDD in Ryanair
 
apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...
apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...
apidays LIVE London 2021 - Quantum Duality of “API as a business” and “API as...
 
The Future of Digital Testing Is Only Getting More Complex
The Future of Digital Testing Is Only Getting More ComplexThe Future of Digital Testing Is Only Getting More Complex
The Future of Digital Testing Is Only Getting More Complex
 
OpenChain Tooling Work Group Meeting #3 - Agenda Slides
OpenChain Tooling Work Group Meeting #3 - Agenda SlidesOpenChain Tooling Work Group Meeting #3 - Agenda Slides
OpenChain Tooling Work Group Meeting #3 - Agenda Slides
 

Similar to Microservices and APIs

The rise of microservices
The rise of microservicesThe rise of microservices
The rise of microservices
Cloud Technology Experts
 
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your App
KarenBruner
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your App
StackRox
 
Cisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworldCisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworld
ldangelo0772
 
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays
 
Extending The Power Of Anypoint Platform Using Anypoint Service Mesh
Extending The Power Of Anypoint Platform Using Anypoint Service MeshExtending The Power Of Anypoint Platform Using Anypoint Service Mesh
Extending The Power Of Anypoint Platform Using Anypoint Service Mesh
AaronLieberman5
 
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using TendermintDeploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
Kunal Malhotra
 
TechWiseTV Workshop: Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop:  Cisco Hybrid Cloud Platform for Google CloudTechWiseTV Workshop:  Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop: Cisco Hybrid Cloud Platform for Google Cloud
Robb Boyd
 
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAPSecuring Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
Olivia LaMar
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture
Apigee | Google Cloud
 
Jose Quaresma "DevOps in the Enterprise: what I have learned so far"
Jose Quaresma "DevOps in the Enterprise: what I have learned so far"Jose Quaresma "DevOps in the Enterprise: what I have learned so far"
Jose Quaresma "DevOps in the Enterprise: what I have learned so far"
Fwdays
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
WSO2
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
Jakarta_EE
 
Cloud Native Application Framework
Cloud Native Application FrameworkCloud Native Application Framework
Cloud Native Application Framework
VMware Tanzu
 
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google CloudPSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
Rohit Agarwalla
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
Miki Lombardi
 
Why Automate the Network?
Why Automate the Network?Why Automate the Network?
Why Automate the Network?
Hank Preston
 
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryConcevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
VMware Tanzu
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
Kelvin Yeung
 

Similar to Microservices and APIs (20)

The rise of microservices
The rise of microservicesThe rise of microservices
The rise of microservices
 
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
apidays LIVE New York 2021 - Simplify Open Policy Agent with Styra DAS by Tim...
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your App
 
How to Make Istio Work with Your App
How to Make Istio Work with Your AppHow to Make Istio Work with Your App
How to Make Istio Work with Your App
 
Cisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworldCisco at v mworld 2015 shipped-vmworld
Cisco at v mworld 2015 shipped-vmworld
 
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
 
Extending The Power Of Anypoint Platform Using Anypoint Service Mesh
Extending The Power Of Anypoint Platform Using Anypoint Service MeshExtending The Power Of Anypoint Platform Using Anypoint Service Mesh
Extending The Power Of Anypoint Platform Using Anypoint Service Mesh
 
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using TendermintDeploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
 
TechWiseTV Workshop: Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop:  Cisco Hybrid Cloud Platform for Google CloudTechWiseTV Workshop:  Cisco Hybrid Cloud Platform for Google Cloud
TechWiseTV Workshop: Cisco Hybrid Cloud Platform for Google Cloud
 
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAPSecuring Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture
 
Jose Quaresma "DevOps in the Enterprise: what I have learned so far"
Jose Quaresma "DevOps in the Enterprise: what I have learned so far"Jose Quaresma "DevOps in the Enterprise: what I have learned so far"
Jose Quaresma "DevOps in the Enterprise: what I have learned so far"
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
 
Cloud Native Application Framework
Cloud Native Application FrameworkCloud Native Application Framework
Cloud Native Application Framework
 
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google CloudPSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
PSOCLD 1007 Cisco Hybrid Cloud Platform for Google Cloud
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 
Why Automate the Network?
Why Automate the Network?Why Automate the Network?
Why Automate the Network?
 
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryConcevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 

Recently uploaded

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Microservices and APIs

  • 1. © 2018 NIIT Tech | www.niit-tech.com | Confidential 1 © 2018 NIIT Tech | www.niit-tech.com | Confidential APIs and Microservices 121 Test Automation Day 21st April 2018 Puneet Sachdev Chief Architect, NIIT Technologies puneet.sachdev@niit-tech.com https://www.linkedin.com/in/puneetsachdev/
  • 2. © 2018 NIIT Tech | www.niit-tech.com | Confidential 2
  • 3. © 2018 NIIT Tech | www.niit-tech.com | Confidential 3
  • 4. © 2018 NIIT Tech | www.niit-tech.com | Confidential 4 Microservices is about splitting a single application into smaller pieces which are independent and have their own lifecycle Microservices vs. SOA vs. APIs
  • 5. © 2018 NIIT Tech | www.niit-tech.com | Confidential 5 Microservices vs. SOA vs. APIs CRM DW Finance Loyalty SOA is about integrating different applications which can be internal or 3rd party
  • 6. © 2018 NIIT Tech | www.niit-tech.com | Confidential 6 Microservices vs. SOA vs. APIs SOA Microservices • Integration between different applications • Splitting an application into smaller pieces • Dominated by proprietary stacks • Dominated by Open Source components from organizations like Netflix • Smart Pipes, Dumb Endpoints • Dumb pipes, Smart Endpoints • Typically Hub-n-Spoke. Technology Monoliths • Completely Distributed APIS • APIs are interfaces which are exposed either internally and/or externally and have governance and management around it
  • 7. © 2018 NIIT Tech | www.niit-tech.com | Confidential 7 Microservices Reference Architecture Microservices Technology Stack • Open Source • Lightweight • Based on • Spring • Netflix • Docker, k8s
  • 8. © 2018 NIIT Tech | www.niit-tech.com | Confidential 8 Concepts to be explored 1. Service Discovery (using Eureka/Kubernetes) • Microservices applications run in containerized/virtualized and cloud environments where their actual locations change dynamically • How does a client of a service discover the location? 2. Circuit Breakers (using Hystrix) • Microservices applications have many moving parts and span across multiple boundaries • How to prevent a network or service failure from cascading to other services? 3. Client Side Load Balancing (using Ribbon/Kubernetes) • Dumb pipes and smart endpoints. Where does this leave load balancing? 4. Proxy (using Zuul/Kubernetes) • With diverse traffic hitting microservices, how to get an ability to provide intelligent filters on requests 5. Monitoring (using Hystrix Monitor/Prometheus+Grafana) • When things fail, it is extremely important to note what is failing • How to monitor in near real time many microservices?
  • 9. © 2018 NIIT Tech | www.niit-tech.com | Confidential 9 Codebases 1. Pure Netflix & Spring (Eureka, Hystrix, Ribbon, Zuul, Spring Config, Spring Boot) https://github.com/psachdev6375/microservices-bootcamp.git 2. Docker-Netflix-Spring (Docker, Eureka, Hystrix, Ribbon, Zuul, Prometheus, Grafana, Spring) https://github.com/psachdev6375/docker-microservices-bootcamp.git 3. Docker-k8s-Netflix-Spring (Docker, k8s, Hystrix, Prometheus, Grafana, Spring) https://github.com/psachdev6375/k8s-microservices-bootcamp.git
  • 10. © 2018 NIIT Tech | www.niit-tech.com | Confidential 10 © 2018 NIIT Tech | www.niit-tech.com | Confidential Subject Service Verb Service Article Service Adjective Service Noun Service You saw the leaky seat Sentence Service Code: https://github.com/psachdev6375/microservices-bootcamp.git Scenario
  • 11. © 2018 NIIT Tech | www.niit-tech.com | Confidential 11 © 2018 NIIT Tech | www.niit-tech.com | Confidential Pure Netflix, Spring Boot implementation Code: https://github.com/psachdev6375/microservices-bootcamp.git
  • 12. © 2018 NIIT Tech | www.niit-tech.com | Confidential 12 © 2018 NIIT Tech | www.niit-tech.com | Confidential Verb Service Eureka Sentence Service Subject Service Article Service Adjective Service Noun Service 1. Start Eureka Server 2. Check Eureka console 3. Start Sentence Service 4. See Circuit Breaker in action 5. See Hystrix Dashboard Code: https://github.com/psachdev6375/microservices-bootcamp.git
  • 13. © 2018 NIIT Tech | www.niit-tech.com | Confidential 13 © 2018 NIIT Tech | www.niit-tech.com | Confidential Verb Service Eureka Sentence Service Subject Service Article Service Adjective Service Noun Service 1. Start Eureka Server 2. Check Eureka console 3. Start Sentence Service 4. See Circuit Breaker in action 5. See Hystrix Dashboard 6. All services running Zuul Code: https://github.com/psachdev6375/microservices-bootcamp.git
  • 14. © 2018 NIIT Tech | www.niit-tech.com | Confidential 14 © 2018 NIIT Tech | www.niit-tech.com | Confidential Verb Service Eureka Sentence Service Subject Service Article Service Adjective Service Noun Service 1. Start Eureka Server 2. Check Eureka console 3. Start Sentence Service 4. See Circuit Breaker in action 5. See Hystrix Dashboard 6. All services running 7. Zuul Proxy Zuul Code: https://github.com/psachdev6375/microservices-bootcamp.git
  • 15. © 2018 NIIT Tech | www.niit-tech.com | Confidential 15 © 2018 NIIT Tech | www.niit-tech.com | Confidential Verb Service Eureka Sentence Service Subject Service Article Service Adjective Service Noun Service 1. Start Eureka Server 2. Check Eureka console 3. Start Sentence Service 4. See Circuit Breaker in action 5. See Hystrix Dashboard 6. All services running 7. Zuul Proxy 8. Scaling Noun Service Zuul Noun Service Code: https://github.com/psachdev6375/microservices-bootcamp.git
  • 16. © 2018 NIIT Tech | www.niit-tech.com | Confidential 16 © 2018 NIIT Tech | www.niit-tech.com | Confidential Docker, Docker-Compose, Netflix, Spring Boot, Prometheus, Grafana implementation https://github.com/psachdev6375/docker-microservices-bootcamp.git
  • 17. © 2018 NIIT Tech | www.niit-tech.com | Confidential 17 © 2018 NIIT Tech | www.niit-tech.com | Confidential https://github.com/psachdev6375/docker-microservices-bootcamp.git Adjective Article Noun Subject Verb Eureka Sentence Grafana Prometheus Monitoring endpoint /prometheus Zuul Concepts • Discovery (eureka) • Circuit Breakers (hystrix) • Client Side LB (ribbon) • Proxy (zuul) • Containers (docker) • Monitoring & Alerts (Prometheus) • Dashboard (Grafana)
  • 18. © 2018 NIIT Tech | www.niit-tech.com | Confidential 18 © 2018 NIIT Tech | www.niit-tech.com | Confidential Docker, Kubernetes, Hystrix, Spring Boot, Prometheus, Grafana implementation https://github.com/psachdev6375/k8s-microservices-bootcamp.git
  • 19. © 2018 NIIT Tech | www.niit-tech.com | Confidential 19 © 2018 NIIT Tech | www.niit-tech.com | Confidential https://github.com/psachdev6375/k8s-microservices-bootcamp.git Kubernetes Cluster Concepts • Discovery (k8s) • Circuit Breakers (Hystrix) • Load Balancing (k8s services) • Proxy (k8s services) • Containers • Container Orchestration (k8s) • Monitoring & Alerts (Prometheus) • Dashboard (Grafana) Adjective Pods Adjective Service Article Pods Article Service Noun Pods Noun Service Subject Pods Subject Service Verb Pods Verb Service Sentence Pods Sentence Service Prometheus Pods Prometheus Service Grifana Pods Grifana Service
  • 20. © 2018 NIIT Tech | www.niit-tech.com | Confidential 20 Thank You Puneet Sachdev Chief Architect, NIIT Technologies puneet.sachdev@niit-tech.com https://www.linkedin.com/in/puneetsachdev/