SlideShare a Scribd company logo
1 of 25
Download to read offline
REFACTORING INTO
MICROSERVICES
Ismael Rivera
Lead Software Engineer at Altocloud
MEETTHE MONOLITH
• A single codebase
• Hard to scale the application
• Impossible to scale the team
WHY MICROSERVICES?
• Modularity
• Separation of Concerns
• Single Responsibility Principle
• Business Agility
• Independently deployable
HOW DO I START?
• DevOps
• Service Discovery
• Monitoring
• Logging
• Testing strategy
REFACTORYOUR
APPLICATION
Big Ball of Mud? Stop!
REFACTORYOUR
APPLICATION
• Split front-end & back-end
Presentation layer (HTML)
Data Access Object
Business Logic
Browser
Database
Webapp
(HTML)
API
Browser
Database
DAO
Business Logic
REFACTORYOUR
APPLICATION
• Extract services
Order
Module
Fulfilment
Module
Payment
Module
...
Database
API Gateway
Order
Service
Fulfilment
Service
Payment
Service
Database
API
API
API
v1
v1
v1
REFACTORYOUR DATA
Database
Order
Service
Fulfilment
Service
Payment
Service
API
API
API
v2
–WernerVogels
“For us service orientation means encapsulating the
data with the business logic that operates on the data,
with the only access through a published service
interface. No direct database access is allowed from
outside the service, and there’s no data sharing
among the services.”
REFACTORYOUR DATA
Order
Service
Fulfilment
Service
Payment
Service
Database
API
API
API
Database Database
REFACTORYOUR DATA
Order
Service
Fulfilment
Service
Payment
Service
Database
API
API
API
Database Database SparkSpark
REFACTORYOUR DATA
Order
Service
Database
API
Payment
Service
API
Database Fulfilment
Service
API
Database
SparkSpark
Message
Broker
Fraud detection?
Stolen card
Stolen card
REFACTORYOUR DATA
• Forget ACID transactions
• Forget a single Enterprise Domain Model
• Forget Relational Integrity
REFACTORYOUR DATA
Order
Service
Fulfilment
Service
Database
API
API
Database Database
Payment
Service
API
tx tx tx
REFACTORYOUR DATA
Database
Database
Database
Payment
Service
API
Message
Broker
Order created
Order created
Payment received
Payment received
Order confirmed Order confirmed
Order shipped
Order shipped
Fulfilment
Service
API
Order
Service
API
REFACTORYOUR DATA
• Domain-Driven Design
Customers
Products OrdersCategories
Customers
Orders
Tickets Assignee
Address
Bounded Context
Bounded Context
Microservices is about boundaries and so is DDD.
REFACTORYOUR DATA
• Duplicate vs Pull
Order
Service
API
Email
Service
API
Payment
Service
API
Message
Broker
Pull
OrderOrder
Template
Publish
Subscribe
Publish
REFACTORYOUR DATA
id name email
1 Mark mark@email.com
2 John john@email.com
3 Siobhan siobhan@email.com
CUSTOMERS
id customer_id amount
1 2 125.33
2 3 77.81
ORDER
CREATE TABLE orders (
id INT PRIMARY KEY,
customer_id INT NOT NULL,
...
CONSTRAINT fk_inv_customer_id
FOREIGN KEY (customer_id)
REFERENCES customers (id)
ON DELETE CASCADE);
• Forget Relational Integrity
REFACTORYOUR DATA
id name email new_column
1 Mark mark@email.com
2 John john@email.com
3 Siobhan siobhan@email.co
m
ALTER TABLE ADD new_column VARCHAR(255);
Order
Service
API
[{
"id": 1,
"name": "Mark",
"email": "mark@email.com",
"new_column": "my default"
}, {
"id": 2,
...
}]
JSON
REFACTORYOUR DATA
• Strangler
Legacy
A
B
...
A
B
...
Legacy
Router Router
REFACTORYOUR DATA
• Branch by Abstraction
Legacy
Consumer
Legacy
Consumer
Abstraction Layer
Legacy New
Abstraction Layer
Consumer
New
Consumer
Abstraction Layer
REFACTORYOUR DATA
• CRUD
• Event-driven architecture
• CQRS (Command Query Responsibility Segregation)
• Event Sourcing
–Kent Beck
“Make the change easy, then make the easy change.”
TAKE-AWAYS
• Start small, look at this as an iterative problem.
• There isn't one right answer.
• Easier to scale.
• Failure will always happen.
• Don't over refactor.

More Related Content

What's hot

Forms and surveys for smart data collection
Forms and surveys for smart data collectionForms and surveys for smart data collection
Forms and surveys for smart data collectionNadia Adriana Negoita
 
Bitrix Intranet Version 11.0 Presentation
Bitrix Intranet Version 11.0 PresentationBitrix Intranet Version 11.0 Presentation
Bitrix Intranet Version 11.0 PresentationBitrix, Inc.
 
SPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisieren
SPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisierenSPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisieren
SPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisierenCommunardo GmbH
 
Meet Your New Bitrix24 (Dec 2015)
Meet Your New Bitrix24 (Dec 2015)Meet Your New Bitrix24 (Dec 2015)
Meet Your New Bitrix24 (Dec 2015)Bitrix, Inc.
 
ASP.NET MVC4 Web application
ASP.NET MVC4 Web application ASP.NET MVC4 Web application
ASP.NET MVC4 Web application Pradeep A
 
Tuga IT 2016 Dynamics CRM with Office 365 and Azure
Tuga IT 2016 Dynamics CRM with Office 365 and AzureTuga IT 2016 Dynamics CRM with Office 365 and Azure
Tuga IT 2016 Dynamics CRM with Office 365 and AzurePedro Azevedo
 
Bitrix, Inc. SaaS presentation for hosting companies
Bitrix, Inc. SaaS presentation for hosting companiesBitrix, Inc. SaaS presentation for hosting companies
Bitrix, Inc. SaaS presentation for hosting companiesBitrix, Inc.
 
Customer insights in an hour - AI & Chatbot Saturday
Customer insights in an hour - AI & Chatbot SaturdayCustomer insights in an hour - AI & Chatbot Saturday
Customer insights in an hour - AI & Chatbot SaturdayNico Fernandez
 
Bitrix24 Tasks In 7 Slides
Bitrix24 Tasks In 7 SlidesBitrix24 Tasks In 7 Slides
Bitrix24 Tasks In 7 SlidesBitrix, Inc.
 
General 01 welcome and scribe business update
General 01   welcome and scribe business updateGeneral 01   welcome and scribe business update
General 01 welcome and scribe business updateScribe Software Corp.
 
Understanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce appsUnderstanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce appsMahender Pal
 
How-Riva-Works
How-Riva-WorksHow-Riva-Works
How-Riva-WorksKen Lorenz
 
AccXchange for CA Firms
AccXchange for CA FirmsAccXchange for CA Firms
AccXchange for CA FirmsAccXchange
 
Bitrix24 Spring 2017 Presentation
Bitrix24 Spring 2017 PresentationBitrix24 Spring 2017 Presentation
Bitrix24 Spring 2017 PresentationBitrix, Inc.
 
Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020Nico Fernandez
 
Bitrix24: Social Intranet (Sneak Preview)
Bitrix24: Social Intranet (Sneak Preview)Bitrix24: Social Intranet (Sneak Preview)
Bitrix24: Social Intranet (Sneak Preview)Bitrix, Inc.
 
Siebel eloqua itc - cloud connector
Siebel   eloqua itc - cloud connectorSiebel   eloqua itc - cloud connector
Siebel eloqua itc - cloud connectorcrm2life
 
Amtelco June 2010 webinar on Infinity contact-based architecture
Amtelco June 2010 webinar on Infinity contact-based architecture Amtelco June 2010 webinar on Infinity contact-based architecture
Amtelco June 2010 webinar on Infinity contact-based architecture AMTELCO
 
Bitrix24 Presentation
Bitrix24 PresentationBitrix24 Presentation
Bitrix24 PresentationBitrix, Inc.
 
#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)
#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)
#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)New Delhi Salesforce Developer Group
 

What's hot (20)

Forms and surveys for smart data collection
Forms and surveys for smart data collectionForms and surveys for smart data collection
Forms and surveys for smart data collection
 
Bitrix Intranet Version 11.0 Presentation
Bitrix Intranet Version 11.0 PresentationBitrix Intranet Version 11.0 Presentation
Bitrix Intranet Version 11.0 Presentation
 
SPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisieren
SPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisierenSPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisieren
SPSD 2014 - Quick & Easy – Geschäftsprozesse in SharePoint automatisieren
 
Meet Your New Bitrix24 (Dec 2015)
Meet Your New Bitrix24 (Dec 2015)Meet Your New Bitrix24 (Dec 2015)
Meet Your New Bitrix24 (Dec 2015)
 
ASP.NET MVC4 Web application
ASP.NET MVC4 Web application ASP.NET MVC4 Web application
ASP.NET MVC4 Web application
 
Tuga IT 2016 Dynamics CRM with Office 365 and Azure
Tuga IT 2016 Dynamics CRM with Office 365 and AzureTuga IT 2016 Dynamics CRM with Office 365 and Azure
Tuga IT 2016 Dynamics CRM with Office 365 and Azure
 
Bitrix, Inc. SaaS presentation for hosting companies
Bitrix, Inc. SaaS presentation for hosting companiesBitrix, Inc. SaaS presentation for hosting companies
Bitrix, Inc. SaaS presentation for hosting companies
 
Customer insights in an hour - AI & Chatbot Saturday
Customer insights in an hour - AI & Chatbot SaturdayCustomer insights in an hour - AI & Chatbot Saturday
Customer insights in an hour - AI & Chatbot Saturday
 
Bitrix24 Tasks In 7 Slides
Bitrix24 Tasks In 7 SlidesBitrix24 Tasks In 7 Slides
Bitrix24 Tasks In 7 Slides
 
General 01 welcome and scribe business update
General 01   welcome and scribe business updateGeneral 01   welcome and scribe business update
General 01 welcome and scribe business update
 
Understanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce appsUnderstanding extensibility options for dynamics 365 ce apps
Understanding extensibility options for dynamics 365 ce apps
 
How-Riva-Works
How-Riva-WorksHow-Riva-Works
How-Riva-Works
 
AccXchange for CA Firms
AccXchange for CA FirmsAccXchange for CA Firms
AccXchange for CA Firms
 
Bitrix24 Spring 2017 Presentation
Bitrix24 Spring 2017 PresentationBitrix24 Spring 2017 Presentation
Bitrix24 Spring 2017 Presentation
 
Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020Customer Insights in An Hour - Summit EMEA 2020
Customer Insights in An Hour - Summit EMEA 2020
 
Bitrix24: Social Intranet (Sneak Preview)
Bitrix24: Social Intranet (Sneak Preview)Bitrix24: Social Intranet (Sneak Preview)
Bitrix24: Social Intranet (Sneak Preview)
 
Siebel eloqua itc - cloud connector
Siebel   eloqua itc - cloud connectorSiebel   eloqua itc - cloud connector
Siebel eloqua itc - cloud connector
 
Amtelco June 2010 webinar on Infinity contact-based architecture
Amtelco June 2010 webinar on Infinity contact-based architecture Amtelco June 2010 webinar on Infinity contact-based architecture
Amtelco June 2010 webinar on Infinity contact-based architecture
 
Bitrix24 Presentation
Bitrix24 PresentationBitrix24 Presentation
Bitrix24 Presentation
 
#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)
#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)
#ImpactSalesforceSaturday: Introduction (Four Pillars of Einstein)
 

Similar to Refactoring for microservices

Integration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power PlatformIntegration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power PlatformRémy van Duijkeren
 
Integration with dynamics ax 2012
Integration with dynamics ax 2012Integration with dynamics ax 2012
Integration with dynamics ax 2012Ali Raza Zaidi
 
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...Amazon Web Services
 
integrating-on-premise-apps-cloud-300329.pdf
integrating-on-premise-apps-cloud-300329.pdfintegrating-on-premise-apps-cloud-300329.pdf
integrating-on-premise-apps-cloud-300329.pdfssusera9d7fc1
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzurePedro Azevedo
 
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...BDO IT Solutions
 
adopt_soa.94145841
adopt_soa.94145841adopt_soa.94145841
adopt_soa.94145841ypai
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitAmazon Web Services
 
N-Tier, Layered Design, SOA
N-Tier, Layered Design, SOAN-Tier, Layered Design, SOA
N-Tier, Layered Design, SOASperasoft
 
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
[MongoDB.local Bengaluru 2018] Introduction to MongoDB StitchMongoDB
 
The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...
The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...
The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...Atwix
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB
 
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...Amazon Web Services
 
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...MongoDB
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?ACA IT-Solutions
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesSheenBrisals
 
MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB
 
5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On KubernetesEntando
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureMohammad Dameer
 

Similar to Refactoring for microservices (20)

Integration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power PlatformIntegration with Dynamics 365 / Power Platform
Integration with Dynamics 365 / Power Platform
 
Integration with dynamics ax 2012
Integration with dynamics ax 2012Integration with dynamics ax 2012
Integration with dynamics ax 2012
 
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
Expedite the development lifecycle with MongoDB and serverless - DEM17-S - Ne...
 
integrating-on-premise-apps-cloud-300329.pdf
integrating-on-premise-apps-cloud-300329.pdfintegrating-on-premise-apps-cloud-300329.pdf
integrating-on-premise-apps-cloud-300329.pdf
 
Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and Azure
 
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
CRM Integration Options–Scribe, SmartConnect, Microsoft Connector. What's the...
 
adopt_soa.94145841
adopt_soa.94145841adopt_soa.94145841
adopt_soa.94145841
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
 
N-Tier, Layered Design, SOA
N-Tier, Layered Design, SOAN-Tier, Layered Design, SOA
N-Tier, Layered Design, SOA
 
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
[MongoDB.local Bengaluru 2018] Introduction to MongoDB Stitch
 
CloudPreso
CloudPresoCloudPreso
CloudPreso
 
The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...
The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...
The Future of Magento Extensibility | Imagine 2013 Technology | Christopher O...
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
 
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
(BDT312) Using the Cloud to Scale from a Database to a Data Platform | AWS re...
 
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level...
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?
 
Design and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-PiecesDesign and Develop Serverless Applications as Set-Pieces
Design and Develop Serverless Applications as Set-Pieces
 
MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch Introduction
 
5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes5 Key Steps To Implementing Micro Frontends On Kubernetes
5 Key Steps To Implementing Micro Frontends On Kubernetes
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 

Recently uploaded

Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AIAGATSoftware
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAShane Coughlan
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit MilanNeo4j
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...drm1699
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmuxevmux96
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Flutter Agency
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 

Recently uploaded (20)

Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...
Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...
Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...
Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...
Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...
 
Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...
Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...
Abortion Pill Prices Jane Furse ](+27832195400*)[🏥Women's Abortion Clinic in ...
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 

Refactoring for microservices