SlideShare una empresa de Scribd logo
1 de 49
agile microservices
@scaibo
By
Ciro Donato Caiazzo
AL Lavoro International
Milano, November 16, 2016
about me
CIRO DONATO CAIAZZO
CTO & Software Architect @SCAIBO
SCAI Consulting s.r.l.
ciro.caiazzo@scai-consulting.grupposcai.it
cd.caiazzo@gmail.com
@CyrusD87
https://www.linkedin.com/in/ciro-donato-caiazzo-35a38a32
in the next 40 minutes I will talk about...
 microservices @scaibo
 the sometimes (evil) monolith
 building microservices
 cloud computing solutions
 internet of things
microservices @scaibo
the sometimes (evil) monolith
the sometimes (evil) monolith
browser
load
balancer
User interface
Business logic
Persistence database
the sometimes (evil) monolith : Features
 Simple to develop, test, deploy, scale… for small applications
 Application puts all its functionality into a single process
 Application scales by replicating the monolith on multiple servers
if an application becomes large and complex?
the sometimes (evil) monolith
browser
load
balancer
User interface
Business logic
Persistence
database
User interface
Business logic
Persistence
…
a real case:
Real estate management platform (I)
browser
load
balancer
User interface
property
module
Persistence database
a real case:
Real estate management platform (II)
browser
load
balancer
User interface
property
module
Persistence database
facility
module
a real case:
Real estate management platform (III)
browser
load
balancer
User interface
property
module
Persistence database
facility
module
engineering
module
a real case:
Real estate management platform (then?)
browser
load
balancer
User interface
property
module
Persistence database
facility
module
engineering
module
then? Problem!
 possible constraints on technology stack
 one change can affect the entire system
 one change in one component requires the deploy of the entire system
 difficult integration between cross-functional teams
 few release (more UI tests & QA work)
building microservices
decomposing applications into services
 Divide an application in components
 Each component is built as a service
 Each service is a unit of software that is indipendently upgradable and deployable
a real case:
Real estate management in microservices
User interface
property
service
facility
service
engineering
service
database
database
database
a real case:
Real estate management in microservices
property UI
property
service
facility
service
engineering
service
database
database
database
facility UI
engineering UI
microservices: Rules
 a service should have a small set of responsibility
 SINGLE RESPONSIBILITY PRINCIPLE
 a service should be developed in small time (max 2 weeks)
 a service should be isolated from others (isolation for storage and deploy environment)
microservices: Rules
 a service should model a single and well defined part of the business domain
 DOMAIN DRIVEN DESIGN
microservices: Benefits
 Simplicity
 each service is relative small
 it is simple for a developer to understand the business logic
 a service can eventually be redesigned very quickly.
microservices: Benefits
 Independence
 each service can be released without affect the others
 problem on a service (like memory leak) does not affect the others
 Independent deploy
microservices: Benefits
 Speed
 release early & release often
 less coordination between developers
 cross-functional teams can work in parallel reducing the integration problems
microservices: Benefits
o a service can be built with different technologies, in terms of
 platform & programming languages (.NET, Java, NodeJS, …)
 Database (Oracle, Sql Server, MongoDb, Cassandra, …)
 …but it is not true for the communication protocol : HTTP, AMQP, MQTT
microservices: Benefits
 Automation
 each service has a build on the Continuous integration server
 it is more simple to automate the continuous delivery & deploy
 blue green deploy for each service
a real case:
Real estate management in microservices
User interface
property
service
facility
service
engineering
service
database
database
database
a real case:
Real estate management in microservices
User interface
property
service
facility
service
engineering
service
database
database
databaseHow to manage
interactions?
a real case:
Real estate management in microservices
User interface
property
service
facility
service
engineering
service
database
database
database
Between clients & services
REST
(HTTP)
REST
(HTTP)
REST
(HTTP)
a real case:
Real estate management in microservices
property
service
facility
service
engineering
serviceBetween services
REST
(HTTP)
REST
(HTTP)
REST
(HTTP)
a real case:
Real estate management in microservices
property
service
facility
service
engineering
serviceBetween services
AMQP
microservices: a more complex scenario
User interface
facility
service
property
service
engineering
service
REST
(HTTP)
REST
(HTTP)
REST
(HTTP)
AMQP
AMQP
microservices: a more complex scenario
 Granularity
 each client should know each service in details
 Localization
 each client should know the location of each service
 Complexity
 business logic to build and manage more complex objects at the client level
API Gateway pattern
User interface
facility
service
property
service
engineering
service
REST
(HTTP)
REST
(HTTP)
AMPQ
AMQP
AMQP
API
Gateway
REST
(HTTP)
mobile interface MQTT
AMQP
API Gateway
 Benefits
 hide to the clients how services are structured
 encapsulation of multiple requests for multiple services
 API optimization for each client
 Drawbacks
 increase in complexity
 require an additional network hop
cloud computing solutions
cloud computing solutions
 Software as a Service (SAAS)
 Platform as a Service (PAAS)
 Infrastructure as a Service (IAAS)
 Container as a Service (CAAS)
cloud computing solutions
 Software as a Service (SAAS)
 Platform as a Service (PAAS)
 Infrastructure as a Service (IAAS)
 Container as a Service (CAAS)
cloud computing solutions
 Software as a Service (SAAS)
 Platform as a Service (PAAS)
 Infrastructure as a Service (IAAS)
 Container as a Service (CAAS)
cloud computing solutions
 Software as a Service (SAAS)
 Platform as a Service (PAAS)
 Infrastructure as a Service (IAAS)
 Container as a Service (CAAS)
cloud computing solutions
 Software as a Service (SAAS)
 Platform as a Service (PAAS)
 Infrastructure as a Service (IAAS)
 Container as a Service (CAAS)
docker: Build, Ship, Run
 A CAAS technology to build lightweight containers
how does Docker work?
Server
Host OS
Hypervisor
Guest OS Guest OS
Middleware Middleware
AppApp
Server
Host OS
Docker engine
Docker image Docker image
Virtualization Container
how does Docker work?
 Build a container reading the instructions in Dockerfile
 Configure and orchestrate one or more containers in docker-compose
convox
 An open source tool to deploying, managing and monitoring applications in cloud infrastructure
 https://convox.com
 https://github.com/convox/rack
 https://convox-public.slack.com/
convox: Rack
 A rack is a structure to create and manage all the infrastructure needed to run and monitor your
applications
 In a rack you can create and define each service to build your microservices using docker
internet of Things
everything is connected
IoT architecture
IoT
Gateway
API Gateway
property
service
facility
service
engineering service
AMQP
device
device
gateway
MQTT
HTTP
AMQP
WebSocket
Questions?
agile microservices @scaibo
Thank you

Más contenido relacionado

La actualidad más candente

Microservices in Action
Microservices in ActionMicroservices in Action
Microservices in ActionBhagwat Kumar
 
Microservices (msa) insights with comments
Microservices (msa) insights with commentsMicroservices (msa) insights with comments
Microservices (msa) insights with commentsLior Bar-On
 
Story of Code Sprinters
Story of Code SprintersStory of Code Sprinters
Story of Code SprintersAdam Byrtek
 
Will the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir ZukerWill the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir ZukerCodeValue
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and MicroserviceSamuel Chow
 
Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and AlternativesEberhard Wolff
 
Enterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing TodayEnterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing TodayRightScale
 
Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECSDevOps Indonesia
 
Windows azure mobile services from start to rest
Windows azure mobile services from start to restWindows azure mobile services from start to rest
Windows azure mobile services from start to restAidan Casey
 
Nodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEWNodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEWNodejsFoundation
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformDevOps Indonesia
 
Evolutionary architecture guiding principles
Evolutionary architecture guiding principlesEvolutionary architecture guiding principles
Evolutionary architecture guiding principlesAidan Casey
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)Andrew Barickman
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun Indrasiri
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armorDevOps Indonesia
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB CredentialsDevOps Indonesia
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJAXLondon_Conference
 
Agile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemAgile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemTurja Narayan Chaudhuri
 

La actualidad más candente (20)

Microservices in Action
Microservices in ActionMicroservices in Action
Microservices in Action
 
Microservices (msa) insights with comments
Microservices (msa) insights with commentsMicroservices (msa) insights with comments
Microservices (msa) insights with comments
 
Story of Code Sprinters
Story of Code SprintersStory of Code Sprinters
Story of Code Sprinters
 
Will the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir ZukerWill the Real Public API Please Stand Up? Amir Zuker
Will the Real Public API Please Stand Up? Amir Zuker
 
Docker and Microservice
Docker and MicroserviceDocker and Microservice
Docker and Microservice
 
Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
 
Enterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing TodayEnterprise-Ready Private and Hybrid Cloud Computing Today
Enterprise-Ready Private and Hybrid Cloud Computing Today
 
Hybrid Cloud Networking
Hybrid Cloud NetworkingHybrid Cloud Networking
Hybrid Cloud Networking
 
Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECS
 
Windows azure mobile services from start to rest
Windows azure mobile services from start to restWindows azure mobile services from start to rest
Windows azure mobile services from start to rest
 
Nodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEWNodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEW
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud Platform
 
Evolutionary architecture guiding principles
Evolutionary architecture guiding principlesEvolutionary architecture guiding principles
Evolutionary architecture guiding principles
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armor
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB Credentials
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris Bailey
 
Agile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystemAgile architectures in a modern cloud-native ecosystem
Agile architectures in a modern cloud-native ecosystem
 

Similar a Agile Microservices Architecture for Real Estate Platform

Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
Microservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigliMicroservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigliAmazon Web Services
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolithMarkus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolithMarkus Eisele
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Battery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra DeploymentsBattery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra DeploymentsDataStax Academy
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsAraf Karsh Hamid
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functionsJustin Maurer
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesRakesh Gujjarlapudi
 
Serverless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-upServerless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-upMark Hinkle
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Container Days: Architecting Modern Apps on AWS
Container Days: Architecting Modern Apps on AWSContainer Days: Architecting Modern Apps on AWS
Container Days: Architecting Modern Apps on AWSTara Walker
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsStijn Van Den Enden
 
Docker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudDocker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudAbraham Hoffman
 
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native MiddlewareTrends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native MiddlewareKai Wähner
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...Kai Wähner
 

Similar a Agile Microservices Architecture for Real Estate Platform (20)

Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
Microservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigliMicroservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigli
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Battery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra DeploymentsBattery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
Battery Ventures: Simulating and Visualizing Large Scale Cassandra Deployments
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functions
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
 
Serverless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-upServerless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-up
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Container Days: Architecting Modern Apps on AWS
Container Days: Architecting Modern Apps on AWSContainer Days: Architecting Modern Apps on AWS
Container Days: Architecting Modern Apps on AWS
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applications
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
 
Docker - Scripting the PayPal Cloud
Docker - Scripting the PayPal CloudDocker - Scripting the PayPal Cloud
Docker - Scripting the PayPal Cloud
 
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native MiddlewareTrends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
 

Último

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
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Último (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
 
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
 
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?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
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...
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Agile Microservices Architecture for Real Estate Platform

  • 1. agile microservices @scaibo By Ciro Donato Caiazzo AL Lavoro International Milano, November 16, 2016
  • 2. about me CIRO DONATO CAIAZZO CTO & Software Architect @SCAIBO SCAI Consulting s.r.l. ciro.caiazzo@scai-consulting.grupposcai.it cd.caiazzo@gmail.com @CyrusD87 https://www.linkedin.com/in/ciro-donato-caiazzo-35a38a32
  • 3. in the next 40 minutes I will talk about...  microservices @scaibo  the sometimes (evil) monolith  building microservices  cloud computing solutions  internet of things
  • 6. the sometimes (evil) monolith browser load balancer User interface Business logic Persistence database
  • 7. the sometimes (evil) monolith : Features  Simple to develop, test, deploy, scale… for small applications  Application puts all its functionality into a single process  Application scales by replicating the monolith on multiple servers if an application becomes large and complex?
  • 8. the sometimes (evil) monolith browser load balancer User interface Business logic Persistence database User interface Business logic Persistence …
  • 9. a real case: Real estate management platform (I) browser load balancer User interface property module Persistence database
  • 10. a real case: Real estate management platform (II) browser load balancer User interface property module Persistence database facility module
  • 11. a real case: Real estate management platform (III) browser load balancer User interface property module Persistence database facility module engineering module
  • 12. a real case: Real estate management platform (then?) browser load balancer User interface property module Persistence database facility module engineering module
  • 13. then? Problem!  possible constraints on technology stack  one change can affect the entire system  one change in one component requires the deploy of the entire system  difficult integration between cross-functional teams  few release (more UI tests & QA work)
  • 15. decomposing applications into services  Divide an application in components  Each component is built as a service  Each service is a unit of software that is indipendently upgradable and deployable
  • 16. a real case: Real estate management in microservices User interface property service facility service engineering service database database database
  • 17. a real case: Real estate management in microservices property UI property service facility service engineering service database database database facility UI engineering UI
  • 18. microservices: Rules  a service should have a small set of responsibility  SINGLE RESPONSIBILITY PRINCIPLE  a service should be developed in small time (max 2 weeks)  a service should be isolated from others (isolation for storage and deploy environment)
  • 19. microservices: Rules  a service should model a single and well defined part of the business domain  DOMAIN DRIVEN DESIGN
  • 20. microservices: Benefits  Simplicity  each service is relative small  it is simple for a developer to understand the business logic  a service can eventually be redesigned very quickly.
  • 21. microservices: Benefits  Independence  each service can be released without affect the others  problem on a service (like memory leak) does not affect the others  Independent deploy
  • 22. microservices: Benefits  Speed  release early & release often  less coordination between developers  cross-functional teams can work in parallel reducing the integration problems
  • 23. microservices: Benefits o a service can be built with different technologies, in terms of  platform & programming languages (.NET, Java, NodeJS, …)  Database (Oracle, Sql Server, MongoDb, Cassandra, …)  …but it is not true for the communication protocol : HTTP, AMQP, MQTT
  • 24. microservices: Benefits  Automation  each service has a build on the Continuous integration server  it is more simple to automate the continuous delivery & deploy  blue green deploy for each service
  • 25. a real case: Real estate management in microservices User interface property service facility service engineering service database database database
  • 26. a real case: Real estate management in microservices User interface property service facility service engineering service database database databaseHow to manage interactions?
  • 27. a real case: Real estate management in microservices User interface property service facility service engineering service database database database Between clients & services REST (HTTP) REST (HTTP) REST (HTTP)
  • 28. a real case: Real estate management in microservices property service facility service engineering serviceBetween services REST (HTTP) REST (HTTP) REST (HTTP)
  • 29. a real case: Real estate management in microservices property service facility service engineering serviceBetween services AMQP
  • 30. microservices: a more complex scenario User interface facility service property service engineering service REST (HTTP) REST (HTTP) REST (HTTP) AMQP AMQP
  • 31. microservices: a more complex scenario  Granularity  each client should know each service in details  Localization  each client should know the location of each service  Complexity  business logic to build and manage more complex objects at the client level
  • 32. API Gateway pattern User interface facility service property service engineering service REST (HTTP) REST (HTTP) AMPQ AMQP AMQP API Gateway REST (HTTP) mobile interface MQTT AMQP
  • 33. API Gateway  Benefits  hide to the clients how services are structured  encapsulation of multiple requests for multiple services  API optimization for each client  Drawbacks  increase in complexity  require an additional network hop
  • 35. cloud computing solutions  Software as a Service (SAAS)  Platform as a Service (PAAS)  Infrastructure as a Service (IAAS)  Container as a Service (CAAS)
  • 36. cloud computing solutions  Software as a Service (SAAS)  Platform as a Service (PAAS)  Infrastructure as a Service (IAAS)  Container as a Service (CAAS)
  • 37. cloud computing solutions  Software as a Service (SAAS)  Platform as a Service (PAAS)  Infrastructure as a Service (IAAS)  Container as a Service (CAAS)
  • 38. cloud computing solutions  Software as a Service (SAAS)  Platform as a Service (PAAS)  Infrastructure as a Service (IAAS)  Container as a Service (CAAS)
  • 39. cloud computing solutions  Software as a Service (SAAS)  Platform as a Service (PAAS)  Infrastructure as a Service (IAAS)  Container as a Service (CAAS)
  • 40. docker: Build, Ship, Run  A CAAS technology to build lightweight containers
  • 41. how does Docker work? Server Host OS Hypervisor Guest OS Guest OS Middleware Middleware AppApp Server Host OS Docker engine Docker image Docker image Virtualization Container
  • 42. how does Docker work?  Build a container reading the instructions in Dockerfile  Configure and orchestrate one or more containers in docker-compose
  • 43. convox  An open source tool to deploying, managing and monitoring applications in cloud infrastructure  https://convox.com  https://github.com/convox/rack  https://convox-public.slack.com/
  • 44. convox: Rack  A rack is a structure to create and manage all the infrastructure needed to run and monitor your applications  In a rack you can create and define each service to build your microservices using docker
  • 47. IoT architecture IoT Gateway API Gateway property service facility service engineering service AMQP device device gateway MQTT HTTP AMQP WebSocket