SlideShare une entreprise Scribd logo
1  sur  31
Microservices & Spring REST
Building applications for the cloud
Tech Talks
Agenda
• What are Microservices?
• What are not Microservices?
• REST Services
• Build REST Services with Spring
• Questions and Answers
215 May 2015
What is for you
Microservices?
What is Microservices?
• It is an approach to developing a single application as a suite of
small services, each running in its own process and communicating
with lightweight mechanisms, often an HTTP resource API
• Fine-grained domain capability
• Independently deployable
• Independently releasable
• Language, data storage and technologies agnostic
• Designed for the Cloud
415 May 2015
What is not for you
microservices?
What is not Microservices?
• Monolithic
• Layered Cross-Functional
• Intelligently integrated
• Centrally integrated
615 May 2015
Monolithic -> SOA -> Microservices
• SOA is too coarse-grained, Microservices is fine-grained and
practical SOA.
715 May 2015
Monolith vs Microservices
Monolith Microservice
Simplicity Partial deployment
Consistency Availability
Inter-modular refactoring Real Modular
Technology constraints Multiple platforms
815 May 2015
Microservice Benefits
• Autonomy of the team
• Ownership
• Speed of change
• Scalability
• Elasticity
• Innovation
• Tech diversification
• Less code, more value
915 May 2015
Microservices Hidden Costs
• Network latency
• Network reliability
• Packet lost
• Bandwidth
• Security
• Testing is more complicated
• DevOps
1015 May 2015
Microservices Complexity
• Communication
– Better documentation
– Fan customer empathy
• Execution
– Continuous deployment and delivery
• Resilience
– Stateless Docker Containers
• Maintenance
– Backward compatibility
• Operational
– Easy usability
1115 May 2015
Microservices
Structural principles
• Resilient to failure
– Resiliency is designed into the application, rather than wrapped around it
after the fact. Failures in cloud infrastructure are handled fluidly without
interruption of service.
• Resilient to latency
– Applications adapt gracefully to latency rather than timing out/failing. High
• Secure
– Applications are based on secure lifecycle standards and include built-in
security
– Data at rest and in transit is encrypted. APIs are protected by authentication
and authorization.
1215 May 2015
• Location independent
– Applications discover services dynamically rather than relying on hard-coded
dependencies
• Elastically scalable
– Applications respond to demand levels, growing and shrinking as required, in
and among clouds
• SOA/Compose-ability
– Applications consume and expose web services with APIs discoverable at
runtime. The structure incorporates small, stateless components designed to
scale out
Microservices
Structural principles
1315 May 2015
• Designed for manageability
– Applications are instrumented and expose metrics and management
interfaces
• Infrastructure independent
– Applications make no assumptions about the underlying infrastructure, using
abstractions in relation to the operating system, file system, database, and so
on
• Defined tenancy
– Each application should have a deliberate, defined single tenancy or
multitenancy model
Microservices
Structural principles
1415 May 2015
Microservices
Structural principles
• Available end-user self-service
– Users should be able to register themselves to use the app through a self-
service registration interface, without entering an IT service request
• Bandwidth aware
– APIs and application protocols are designed to minimize bandwidth
consumption
• Cost and resource consumption aware
– Application architecture is designed to minimize costs due to bandwidth,
CPU, storage consumption, and I/O requests
1515 May 2015
Microservices
Operational strategies
• Ensure redundancy
– Applications are designed to be resilent to failure though the use of
redundancy. High
• Utilize caching
– Caching is used to improve performance, increase resiliency, and reduce
bandwidth costs. High
• Secure access to APIs
– API end points are protected via API Management gateways. High
• Stage deployments
– The risk of failure due to deployment is reduced by staging the introduction of
updates to components of an application. Medium
1615 May 2015
Microservices
Operational strategies
• 5 Plan for zone/ region failures
– Applications are deployed in a way that is resilient to disasters, such as entire
geographic zone or region failures
• Minimize inter-zone/ region latency
– Applications are deployed geographically to minimize network latency
• Locate high-bandwidth consumers externally
– High bandwidth consumers are hosted outside the cloud to reduce cloud
bandwidth utilization costs
• Abstract dependencies
– API abstractions are used to prevent lock-in with proprietary cloud services
1715 May 2015
Microservices
Patterns
• Very, very small
• Loosely coupled ( including flow)
• Versioning
• Backward compatibility
• Blue/Green deployments
• Toggle features
• Continuous delivery
• Convention over Configuration
• Service Discovery Service
• Monitoring
• Correlation IDs
1815 May 2015
Microservices
Patterns
• Fault tolerant, design for failure
• Abstraction layer
• One service at a time
• Health Check
• Stateless
1915 May 2015
Anti-Patterns
• Complex configuration
• Complicated dependencies
• Managed shared state
2015 May 2015
Microservices
Things to remember
• Prepare for failure
– Fail fast and cheap
• Every integration point will eventually fail in some way, and you
need to be prepared for that failure.
• Do defensive programming
– Defend with timeouts
– Defend from thread deadlocks
– Defend from resources bottleneck
• Be lazy for programming,
• Do not rely in others code
• Communicate
– Commits and early integration is the best way to communicate
• Stress interfaces
• Slow responses are not an option
2115 May 2015
• Keep in mind the SLAs and strict performance requirements
• Use data replication and sharding
• Put limits
– Pagination, timeouts, big request, etc
• Use queues and asynchronous for those flows that allow it
• Verify integration point early
• Use health checks
• Avoid mocks
• Learn, learn and learn
Microservices
Things to remember
2215 May 2015
Microservices
Things to remember
2315 May 2015
Componentization via
REST Services
REST Services
• REST has no hard and fast rules
• REST is an architectural style, not a standard
• REST uses Headers to describe requests & responses
• REST embraces HTTP verbs
2515 May 2015
Status codes
• 1xx: informational
• 2xx: success
• 3xx: redirection
• 4xx: client error
• 5xx: server error
2615 May 2015
REST Practices*
• Good HTTP Headers
• Idempotent
• Link and navigational
• JSON
• *For VCS poject
2715 May 2015
How to build a REST service
1
2
3
4
• Create REST Controller
• Annotate with Request Mapping
• Build the response
• Deploy REST Service
2815 May 2015
Demo
• Hello REST Service
• Monitoring Services
• Unit Test for REST Services
2915 May 2015
Resources
• OPEN DATA CENTER ALLIANCE Best Practices: Architecting Cloud-
Aware Applications Rev. 1.0
• http://www.infoq.com/presentations/Netflix-Architecture
• http://martinfowler.com/articles/microservices.html
• Release It!: Design and Deploy Production-Ready Software Book
• https://spring.io/guides/gs/rest-service/
• https://www.youtube.com/watch?v=wgdBVIX9ifA
3015 May 2015
Questions?
Thank you!

Contenu connexe

Tendances

istio: service mesh for all
istio: service mesh for allistio: service mesh for all
istio: service mesh for allMandar Jog
 
MRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh ModelsMRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh ModelsNGINX, Inc.
 
APIs: Intelligent Routing, Security, & Management
APIs: Intelligent Routing, Security, & ManagementAPIs: Intelligent Routing, Security, & Management
APIs: Intelligent Routing, Security, & ManagementNGINX, Inc.
 
NGINX KubeCon Copenhagen 2018
NGINX KubeCon Copenhagen 2018 NGINX KubeCon Copenhagen 2018
NGINX KubeCon Copenhagen 2018 NGINX, Inc.
 
Using an API Gateway for Microservices
Using an API Gateway for MicroservicesUsing an API Gateway for Microservices
Using an API Gateway for MicroservicesNGINX, Inc.
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Lohika_Odessa_TechTalks
 
Microservices:
 The phantom menace
. Istio Service Mesh: 
the new hope
Microservices:
 The phantom menace
. Istio Service Mesh: 
the new hopeMicroservices:
 The phantom menace
. Istio Service Mesh: 
the new hope
Microservices:
 The phantom menace
. Istio Service Mesh: 
the new hopeSergii Bishyr
 
The Service Mesh: It's about Traffic
The Service Mesh: It's about TrafficThe Service Mesh: It's about Traffic
The Service Mesh: It's about TrafficC4Media
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejsBruno Pedro
 
linkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Meshlinkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service MeshDario Simonetti
 
How to avoid microservice pitfalls
How to avoid microservice pitfallsHow to avoid microservice pitfalls
How to avoid microservice pitfallsParticular Software
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)Red Hat Developers
 
NGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX, Inc.
 
Istio : Service Mesh
Istio : Service MeshIstio : Service Mesh
Istio : Service MeshKnoldus Inc.
 
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Stop reinventing the wheel with Istio by Mete Atamel (Google)Stop reinventing the wheel with Istio by Mete Atamel (Google)
Stop reinventing the wheel with Istio by Mete Atamel (Google)Codemotion
 
Come for the traffic management, stay for the security
Come for the traffic management, stay for the securityCome for the traffic management, stay for the security
Come for the traffic management, stay for the securityChristian Posta
 
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...Sagara Gunathunga
 
Making sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessChristian Posta
 

Tendances (20)

istio: service mesh for all
istio: service mesh for allistio: service mesh for all
istio: service mesh for all
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
 
MRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh ModelsMRA AMA Part 6: Service Mesh Models
MRA AMA Part 6: Service Mesh Models
 
APIs: Intelligent Routing, Security, & Management
APIs: Intelligent Routing, Security, & ManagementAPIs: Intelligent Routing, Security, & Management
APIs: Intelligent Routing, Security, & Management
 
NGINX KubeCon Copenhagen 2018
NGINX KubeCon Copenhagen 2018 NGINX KubeCon Copenhagen 2018
NGINX KubeCon Copenhagen 2018
 
Using an API Gateway for Microservices
Using an API Gateway for MicroservicesUsing an API Gateway for Microservices
Using an API Gateway for Microservices
 
Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...Debugging Microservices - key challenges and techniques - Microservices Odesa...
Debugging Microservices - key challenges and techniques - Microservices Odesa...
 
Microservices:
 The phantom menace
. Istio Service Mesh: 
the new hope
Microservices:
 The phantom menace
. Istio Service Mesh: 
the new hopeMicroservices:
 The phantom menace
. Istio Service Mesh: 
the new hope
Microservices:
 The phantom menace
. Istio Service Mesh: 
the new hope
 
The Service Mesh: It's about Traffic
The Service Mesh: It's about TrafficThe Service Mesh: It's about Traffic
The Service Mesh: It's about Traffic
 
Asynchronous Microservices in nodejs
Asynchronous Microservices in nodejsAsynchronous Microservices in nodejs
Asynchronous Microservices in nodejs
 
linkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Meshlinkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Mesh
 
How to avoid microservice pitfalls
How to avoid microservice pitfallsHow to avoid microservice pitfalls
How to avoid microservice pitfalls
 
Mulesoftppt
Mulesoftppt Mulesoftppt
Mulesoftppt
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
 
NGINX Plus R18: What's new
NGINX Plus R18: What's newNGINX Plus R18: What's new
NGINX Plus R18: What's new
 
Istio : Service Mesh
Istio : Service MeshIstio : Service Mesh
Istio : Service Mesh
 
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Stop reinventing the wheel with Istio by Mete Atamel (Google)Stop reinventing the wheel with Istio by Mete Atamel (Google)
Stop reinventing the wheel with Istio by Mete Atamel (Google)
 
Come for the traffic management, stay for the security
Come for the traffic management, stay for the securityCome for the traffic management, stay for the security
Come for the traffic management, stay for the security
 
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
Building Services with WSO2 Application Server and WSO2 Microservices Framewo...
 
Making sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverlessMaking sense of microservices, service mesh, and serverless
Making sense of microservices, service mesh, and serverless
 

En vedette

introduce to spring cloud
introduce to spring cloudintroduce to spring cloud
introduce to spring cloudDoo Sung Eom
 
The craft of meta programming on JVM
The craft of meta programming on JVMThe craft of meta programming on JVM
The craft of meta programming on JVMIgor Khotin
 
Next-gen OData/ui5 microservices with Spring Boot
Next-gen OData/ui5 microservices with Spring BootNext-gen OData/ui5 microservices with Spring Boot
Next-gen OData/ui5 microservices with Spring BootJan Penninkhof
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring CloudDaniel Eichten
 
REST API Best (Recommended) Practices
REST API Best (Recommended) PracticesREST API Best (Recommended) Practices
REST API Best (Recommended) PracticesRasheed Waraich
 
Microservices with spring boot
Microservices  with spring bootMicroservices  with spring boot
Microservices with spring bootMesut Can Gurle
 
Architecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web AppsArchitecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web AppsRasheed Waraich
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!Eberhard Wolff
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architectureIgor Khotin
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudEberhard Wolff
 
Divide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-ServicesDivide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-ServicesCarlos Sanchez
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introductionRasheed Waraich
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud Foundrymimacom
 

En vedette (15)

introduce to spring cloud
introduce to spring cloudintroduce to spring cloud
introduce to spring cloud
 
The craft of meta programming on JVM
The craft of meta programming on JVMThe craft of meta programming on JVM
The craft of meta programming on JVM
 
Next-gen OData/ui5 microservices with Spring Boot
Next-gen OData/ui5 microservices with Spring BootNext-gen OData/ui5 microservices with Spring Boot
Next-gen OData/ui5 microservices with Spring Boot
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring Cloud
 
REST API Best (Recommended) Practices
REST API Best (Recommended) PracticesREST API Best (Recommended) Practices
REST API Best (Recommended) Practices
 
Microservices with spring boot
Microservices  with spring bootMicroservices  with spring boot
Microservices with spring boot
 
The Fintechs
The FintechsThe Fintechs
The Fintechs
 
Architecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web AppsArchitecture & Workflow of Modern Web Apps
Architecture & Workflow of Modern Web Apps
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architecture
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Divide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-ServicesDivide and Conquer: Easier Continuous Delivery using Micro-Services
Divide and Conquer: Easier Continuous Delivery using Micro-Services
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud Foundry
 

Similaire à Tech Talks Microservices

Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Akana
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitectureAshwini Kuntamukkala
 
The Evolution of Architecture
The Evolution of ArchitectureThe Evolution of Architecture
The Evolution of ArchitectureNVISIA
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
Intro to Microservices Architecture
Intro to Microservices ArchitectureIntro to Microservices Architecture
Intro to Microservices ArchitecturePeter Nijem
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1Amin Arab
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMohammedShahid562503
 
Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1David Linthicum
 
Eat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a TimeEat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a TimeAkana
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5Richard Hudson
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application DevelopmentWaveMaker, Inc.
 
Mashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud ComputingMashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud ComputingDavid Linthicum
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfRichieBallyears
 
Pragmatic Enterprise Application Migration to AWS
Pragmatic Enterprise Application Migration to AWSPragmatic Enterprise Application Migration to AWS
Pragmatic Enterprise Application Migration to AWSKacy Clarke
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design ArchitectureHarish Kumar
 
ServiceFabric-Arch
ServiceFabric-ArchServiceFabric-Arch
ServiceFabric-ArchSaravanan G
 
Take Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice ArchitectureTake Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice Architecture3scale
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 

Similaire à Tech Talks Microservices (20)

Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?Microservices: Why Should Businesses Care?
Microservices: Why Should Businesses Care?
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
The Evolution of Architecture
The Evolution of ArchitectureThe Evolution of Architecture
The Evolution of Architecture
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
Intro to Microservices Architecture
Intro to Microservices ArchitectureIntro to Microservices Architecture
Intro to Microservices Architecture
 
Micro service session 1
Micro service   session 1Micro service   session 1
Micro service session 1
 
MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
 
Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1Accelerating government agility with cloud computing v1
Accelerating government agility with cloud computing v1
 
Eat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a TimeEat Your Microservices Elephant One Bite at a Time
Eat Your Microservices Elephant One Bite at a Time
 
API’s and Micro Services 0.5
API’s and Micro Services 0.5API’s and Micro Services 0.5
API’s and Micro Services 0.5
 
Disruptive Trends in Application Development
Disruptive Trends in Application DevelopmentDisruptive Trends in Application Development
Disruptive Trends in Application Development
 
Mashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud ComputingMashing Up DevOps with Cloud Computing
Mashing Up DevOps with Cloud Computing
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdf
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
 
Pragmatic Enterprise Application Migration to AWS
Pragmatic Enterprise Application Migration to AWSPragmatic Enterprise Application Migration to AWS
Pragmatic Enterprise Application Migration to AWS
 
Three layer API Design Architecture
Three layer API Design ArchitectureThree layer API Design Architecture
Three layer API Design Architecture
 
ServiceFabric-Arch
ServiceFabric-ArchServiceFabric-Arch
ServiceFabric-Arch
 
Take Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice ArchitectureTake Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice Architecture
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 

Plus de Mauricio Ferreyra

Meetup High Performace Teams
Meetup High Performace TeamsMeetup High Performace Teams
Meetup High Performace TeamsMauricio Ferreyra
 
Blockchain, Tokens y Hyperledger
Blockchain, Tokens y HyperledgerBlockchain, Tokens y Hyperledger
Blockchain, Tokens y HyperledgerMauricio Ferreyra
 
AMBA Congreso Marketing Bancario 2018
AMBA Congreso Marketing Bancario 2018AMBA Congreso Marketing Bancario 2018
AMBA Congreso Marketing Bancario 2018Mauricio Ferreyra
 
Proyecto de innovacion financiera OpenBanking
Proyecto de innovacion financiera OpenBankingProyecto de innovacion financiera OpenBanking
Proyecto de innovacion financiera OpenBankingMauricio Ferreyra
 
Hyperledger Meetup Cordoba Argentina
Hyperledger Meetup Cordoba ArgentinaHyperledger Meetup Cordoba Argentina
Hyperledger Meetup Cordoba ArgentinaMauricio Ferreyra
 
Sentiment analysis with AWS ML
Sentiment analysis with AWS MLSentiment analysis with AWS ML
Sentiment analysis with AWS MLMauricio Ferreyra
 
Aws webinar como llevar tu negocio al cloud
Aws webinar   como llevar tu negocio al cloudAws webinar   como llevar tu negocio al cloud
Aws webinar como llevar tu negocio al cloudMauricio Ferreyra
 
FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)Mauricio Ferreyra
 
Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)Mauricio Ferreyra
 
AWS - Como llevar un banco a la nube?
AWS - Como llevar un banco a la nube?AWS - Como llevar un banco a la nube?
AWS - Como llevar un banco a la nube?Mauricio Ferreyra
 
Continuous Delivery Presentation
Continuous Delivery PresentationContinuous Delivery Presentation
Continuous Delivery PresentationMauricio Ferreyra
 

Plus de Mauricio Ferreyra (15)

Blockchain d4 t 04 2021
Blockchain d4 t 04 2021Blockchain d4 t 04 2021
Blockchain d4 t 04 2021
 
Meetup High Performace Teams
Meetup High Performace TeamsMeetup High Performace Teams
Meetup High Performace Teams
 
Blockchain Week Atacama
Blockchain Week AtacamaBlockchain Week Atacama
Blockchain Week Atacama
 
Blockchain, Tokens y Hyperledger
Blockchain, Tokens y HyperledgerBlockchain, Tokens y Hyperledger
Blockchain, Tokens y Hyperledger
 
AMBA Congreso Marketing Bancario 2018
AMBA Congreso Marketing Bancario 2018AMBA Congreso Marketing Bancario 2018
AMBA Congreso Marketing Bancario 2018
 
Proyecto de innovacion financiera OpenBanking
Proyecto de innovacion financiera OpenBankingProyecto de innovacion financiera OpenBanking
Proyecto de innovacion financiera OpenBanking
 
Hyperledger Meetup Cordoba Argentina
Hyperledger Meetup Cordoba ArgentinaHyperledger Meetup Cordoba Argentina
Hyperledger Meetup Cordoba Argentina
 
Blockchain en UIC
Blockchain en UIC Blockchain en UIC
Blockchain en UIC
 
Sentiment analysis with AWS ML
Sentiment analysis with AWS MLSentiment analysis with AWS ML
Sentiment analysis with AWS ML
 
Como Migrar a la Nube AWS
Como Migrar a la Nube AWSComo Migrar a la Nube AWS
Como Migrar a la Nube AWS
 
Aws webinar como llevar tu negocio al cloud
Aws webinar   como llevar tu negocio al cloudAws webinar   como llevar tu negocio al cloud
Aws webinar como llevar tu negocio al cloud
 
FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
FLISol - Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
 
Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
Blockchain Y El Por Qué de la Confianza? (O la Falta de Ella)
 
AWS - Como llevar un banco a la nube?
AWS - Como llevar un banco a la nube?AWS - Como llevar un banco a la nube?
AWS - Como llevar un banco a la nube?
 
Continuous Delivery Presentation
Continuous Delivery PresentationContinuous Delivery Presentation
Continuous Delivery Presentation
 

Dernier

chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 

Dernier (20)

chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 

Tech Talks Microservices

  • 1. Microservices & Spring REST Building applications for the cloud Tech Talks
  • 2. Agenda • What are Microservices? • What are not Microservices? • REST Services • Build REST Services with Spring • Questions and Answers 215 May 2015
  • 3. What is for you Microservices?
  • 4. What is Microservices? • It is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API • Fine-grained domain capability • Independently deployable • Independently releasable • Language, data storage and technologies agnostic • Designed for the Cloud 415 May 2015
  • 5. What is not for you microservices?
  • 6. What is not Microservices? • Monolithic • Layered Cross-Functional • Intelligently integrated • Centrally integrated 615 May 2015
  • 7. Monolithic -> SOA -> Microservices • SOA is too coarse-grained, Microservices is fine-grained and practical SOA. 715 May 2015
  • 8. Monolith vs Microservices Monolith Microservice Simplicity Partial deployment Consistency Availability Inter-modular refactoring Real Modular Technology constraints Multiple platforms 815 May 2015
  • 9. Microservice Benefits • Autonomy of the team • Ownership • Speed of change • Scalability • Elasticity • Innovation • Tech diversification • Less code, more value 915 May 2015
  • 10. Microservices Hidden Costs • Network latency • Network reliability • Packet lost • Bandwidth • Security • Testing is more complicated • DevOps 1015 May 2015
  • 11. Microservices Complexity • Communication – Better documentation – Fan customer empathy • Execution – Continuous deployment and delivery • Resilience – Stateless Docker Containers • Maintenance – Backward compatibility • Operational – Easy usability 1115 May 2015
  • 12. Microservices Structural principles • Resilient to failure – Resiliency is designed into the application, rather than wrapped around it after the fact. Failures in cloud infrastructure are handled fluidly without interruption of service. • Resilient to latency – Applications adapt gracefully to latency rather than timing out/failing. High • Secure – Applications are based on secure lifecycle standards and include built-in security – Data at rest and in transit is encrypted. APIs are protected by authentication and authorization. 1215 May 2015
  • 13. • Location independent – Applications discover services dynamically rather than relying on hard-coded dependencies • Elastically scalable – Applications respond to demand levels, growing and shrinking as required, in and among clouds • SOA/Compose-ability – Applications consume and expose web services with APIs discoverable at runtime. The structure incorporates small, stateless components designed to scale out Microservices Structural principles 1315 May 2015
  • 14. • Designed for manageability – Applications are instrumented and expose metrics and management interfaces • Infrastructure independent – Applications make no assumptions about the underlying infrastructure, using abstractions in relation to the operating system, file system, database, and so on • Defined tenancy – Each application should have a deliberate, defined single tenancy or multitenancy model Microservices Structural principles 1415 May 2015
  • 15. Microservices Structural principles • Available end-user self-service – Users should be able to register themselves to use the app through a self- service registration interface, without entering an IT service request • Bandwidth aware – APIs and application protocols are designed to minimize bandwidth consumption • Cost and resource consumption aware – Application architecture is designed to minimize costs due to bandwidth, CPU, storage consumption, and I/O requests 1515 May 2015
  • 16. Microservices Operational strategies • Ensure redundancy – Applications are designed to be resilent to failure though the use of redundancy. High • Utilize caching – Caching is used to improve performance, increase resiliency, and reduce bandwidth costs. High • Secure access to APIs – API end points are protected via API Management gateways. High • Stage deployments – The risk of failure due to deployment is reduced by staging the introduction of updates to components of an application. Medium 1615 May 2015
  • 17. Microservices Operational strategies • 5 Plan for zone/ region failures – Applications are deployed in a way that is resilient to disasters, such as entire geographic zone or region failures • Minimize inter-zone/ region latency – Applications are deployed geographically to minimize network latency • Locate high-bandwidth consumers externally – High bandwidth consumers are hosted outside the cloud to reduce cloud bandwidth utilization costs • Abstract dependencies – API abstractions are used to prevent lock-in with proprietary cloud services 1715 May 2015
  • 18. Microservices Patterns • Very, very small • Loosely coupled ( including flow) • Versioning • Backward compatibility • Blue/Green deployments • Toggle features • Continuous delivery • Convention over Configuration • Service Discovery Service • Monitoring • Correlation IDs 1815 May 2015
  • 19. Microservices Patterns • Fault tolerant, design for failure • Abstraction layer • One service at a time • Health Check • Stateless 1915 May 2015
  • 20. Anti-Patterns • Complex configuration • Complicated dependencies • Managed shared state 2015 May 2015
  • 21. Microservices Things to remember • Prepare for failure – Fail fast and cheap • Every integration point will eventually fail in some way, and you need to be prepared for that failure. • Do defensive programming – Defend with timeouts – Defend from thread deadlocks – Defend from resources bottleneck • Be lazy for programming, • Do not rely in others code • Communicate – Commits and early integration is the best way to communicate • Stress interfaces • Slow responses are not an option 2115 May 2015
  • 22. • Keep in mind the SLAs and strict performance requirements • Use data replication and sharding • Put limits – Pagination, timeouts, big request, etc • Use queues and asynchronous for those flows that allow it • Verify integration point early • Use health checks • Avoid mocks • Learn, learn and learn Microservices Things to remember 2215 May 2015
  • 25. REST Services • REST has no hard and fast rules • REST is an architectural style, not a standard • REST uses Headers to describe requests & responses • REST embraces HTTP verbs 2515 May 2015
  • 26. Status codes • 1xx: informational • 2xx: success • 3xx: redirection • 4xx: client error • 5xx: server error 2615 May 2015
  • 27. REST Practices* • Good HTTP Headers • Idempotent • Link and navigational • JSON • *For VCS poject 2715 May 2015
  • 28. How to build a REST service 1 2 3 4 • Create REST Controller • Annotate with Request Mapping • Build the response • Deploy REST Service 2815 May 2015
  • 29. Demo • Hello REST Service • Monitoring Services • Unit Test for REST Services 2915 May 2015
  • 30. Resources • OPEN DATA CENTER ALLIANCE Best Practices: Architecting Cloud- Aware Applications Rev. 1.0 • http://www.infoq.com/presentations/Netflix-Architecture • http://martinfowler.com/articles/microservices.html • Release It!: Design and Deploy Production-Ready Software Book • https://spring.io/guides/gs/rest-service/ • https://www.youtube.com/watch?v=wgdBVIX9ifA 3015 May 2015

Notes de l'éditeur

  1. Who have heard about micro services? Tiny: lightweight, small footprint, follow SRP Uniform interface: RESTful. Decoupled, Scalable, Discoverable. OS services: self-contained, run with a single one-liner: “jar – jar”, grab port & listen. No more arcane app servers. Use existing OS process management tool
  2. Test with Chaos monkey