SlideShare a Scribd company logo
1 of 58
Download to read offline
Splitting the monolith using
Domain Driven Design
Maria Gomez @mariascandella
Tech Principal
3 hours
+
30 minutes break
AGENDA
Intro to Microservices and Domain Driven Design
A couple of group exercises
Coding exercises
WHY?
Microservices
Architectural style
Collection of loosely coupled services
Principles of Microservices
Modeled around business concepts
Culture of automation
Hide internal implementation details
Decentralize all the things
Deploy independently
Isolate Failure
Highly Observable
PROS
Technology flexibility
Scalability
Lower the risk of deployment
Small, independent teams
Reusability
Replaceability
CONS
Complex infrastructure
Complex deployment process
Performance
Resilience and monitoring
Are Microservices right for me?
Business requirements
Technical maturity
Organizational maturity
Continuous Delivery is the ability to get changes
of all types—including new features,
configuration changes, bug fixes and
experiments—into production, or into the
hands of users, safely and quickly in a
sustainable way.
continuousdelivery.com
Continuous
Delivery
Technical Architecture Data Management
Continuous Integration
Quality Assurance
Organizational
Alignment
Environments & Deploy
Configuration
Management
Release
Management
Testing
Evolutionary Architecture
Don’t predict the future, adapt to it!
Build architecture that embrace change
ORGANIZATIONAL
ALIGNMENT
“Any organization that designs a system
(defined broadly) will produce a design
whose structure is a copy of the
organization's communication structure.”
CONWAY’S LAW
©ThoughtWorks 2018 Commercial in Confidence
https://martinfowler.com/articles/microservices.html
ORGANIZATIONAL
ALIGNMENT
Build teams that look like the architecture
you want (and it will follow)
INVERSE CONWAY MANEUVER
©ThoughtWorks 2018 Commercial in Confidence
https://martinfowler.com/articles/microservices.html
HOW?
What is Domain Driven Design?
It is an approach to building software that has complex and
ever-changing business requirements
Key Concepts
A sphere of knowledge, influence, or activity. What an organisation does, and the world it
does it in.
Domain
A system of abstractions describing selected aspects of a Domain. It is used to solve
problems related to that Domain
Domain Model
Key Concepts
A Language structured around the Domain Model and used by all team members.
Ubiquitous Language
An explicit boundary within which a Domain Model exists. Inside, all terms have a specific
meaning and are part of the Ubiquitous Language
Bounded Context
https://martinfowler.com/bliki/BoundedContext.html
Exercise 1
Teams of 5-6
Duration: 15 minutes
Identify Domain Models & Bounded
Contexts
Tales Of A Fourth Grade
An elementary school system comprehensive student management system
Functionality: track absences, tardies and excuses (entered by parents, faculty or staff);
generate reports on student activities; track student grades and assignments (completed
and due); parent-teacher forums
Users: faculty, staff and student parents
(https://archkatas.herokuapp.com/kata.html?kata=TalesOfAFourthGrade.json)
As a teacher
I want to take attendance
So that I can identify who is absent
As a teacher
I want to take attendance
So that I can identify who is late
As a teacher
I want to enter the reason for an absence or tardy
So that I can keep a record and observe trends over time
As a teacher
I want to generate reports on student activities
So that I can observe the performance of the students over time
As a teacher
I want to see the list of due assignments
So that I can manage expectations with students and parents
As a teacher
I want to see the list of completed assignments
So that I can observe the performance of the students over time
As a parent
I want to see the grades of my daughter
So that I can see her progress
As a parent
I want to enter the reason for an absence or tardy
So that the school is informed
As a parent
I want to have a conversation on a forum with other parents
So that I can share experiences
As a parent
I want to have a conversation on a forum with the teacher
So that I can ask them questions
As a teacher
I want to have a channel of communication with the parents
So that I can answer their questions
Exercise 1
Teams of 5-6
Duration: 15 minutes
Identify Domain Models & Bounded
Contexts
What to do when bounded contexts are identified?
1. Isolate them
2. Extract them into services
Bounded Context
High Cohesion
Loose Coupling
Represents Business Capability
Individual Tech Stacks & Persistence
Deploy independently
Isolate Failure
Individual Scalability
Microservices+ =
Event Storming
EventStorming is a workshop format for
quickly exploring complex business
domains.
http://ziobrando.blogspot.com/2013/11/introducing-event-storming.html
By Henning Schwentner - Own work, CC BY-SA 4.0,
https://commons.wikimedia.org/w/index.php?curid=57766348
Key Concepts
Something happened, of interest to a domain expert
Domain Event
An external instruction to do something. It triggers a Domain Event.
Command
The portion of the system that receives commands and decides whether to execute them
or not, thus producing a domain event.
Aggregate
Event Storming Legend
A Domain
Event
happened
A Command
or External
Event triggers
the Event
A View or
“read model”
Questions or
puzzles
An Aggregate
Ticket
sent by
email
Payment
confirmed
Ticket
bought
Order
created
Ticket
added to
cart
Seat
reserved
Show
selected
Choose
show
Choose
seat
Add
ticket to
cart
Move to
checkout
Insert
checkout
data
Process
paymentBuyer
Accountant
Customer
Service
Exercise 2
Teams of 5-6
Duration: 20 minutes
Identify Domain Models & Bounded
Contexts
eCommerce Platform
Payment
Gateway
Back office
Stock Service
E
S
B
...
Online
customers
Customer
Service reps
Order
created
Order sent
by email
Move to
checkout
Exercise 2
Teams of 5-6
Duration: 20 minutes
Identify Domain Models & Bounded
Contexts
How to decide where to start?
● Pace of change
● Performance
● Security
● Team structure
● Dependencies (internal or external)
● Technology
Instructions for the coding exercises
Git client (for Windows users)
https://git-for-windows.github.io
SDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Github repo to fork
https://github.com/mariagomez/sacon-microservices
SACON NY Library
Browse books
See rating
Borrow books
New initiative: experiment with the
borrow functionality
Coding Exercise 1
Duration: 15 minutes
Step by step solution on Exercise1.md
Increase confidence in the code by adding
tests
Coding Exercise 2
Duration: 30 minutes
Step by step solution on
Exercise2-part1.md & Exercise2-part2.md
Re-organize monolith and create clear
separation of packages
Refactoring Techniques
Composing Methods
Refactoring Techniques
Moving features between objects
Refactoring Techniques
Organizing data
Coding Exercise 2
Duration: 30 minutes
Step by step solution on
Exercise2-part1.md & Exercise2-part2.md
Re-organize monolith and create clear
separation of packages
Some useful resources
Coding Exercise 3
Duration: 20 minutes
Step by step solution on Exercise3.md
Extract the first microservice
Common Antipatterns
Chatty Domains
Customer Account
place legal hold (CC)
place legal hold (CL)
Notify customer
Comms
Notify communications
Solution: Consolidate
Collections (Bounded Context)
Customer
List<Account>
accounts
Collections
Communication
Preferences
Communications
Notify communications
God Domains
Customer Account Comms
Anemic Domains
https://github.com/Pragmatists/DDD-ADM/tree/anemic-model/src/main/java/pl/pragmatists/ddd/adm
https://github.com/Pragmatists/DDD-ADM/tree/master/src/main/java/pl/pragmatists/ddd/adm
Thanks!
Maria Gomez
@mariascandella

More Related Content

What's hot

The Teams Behind DevSecOps
The Teams Behind DevSecOps The Teams Behind DevSecOps
The Teams Behind DevSecOps Uleska
 
Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work togetherWendy Knox Everette
 
CSS17: Houston - Stories from the Security Operations Center
CSS17: Houston - Stories from the Security Operations CenterCSS17: Houston - Stories from the Security Operations Center
CSS17: Houston - Stories from the Security Operations CenterAlert Logic
 
Gubarevich Peter - 11-Feb-2016 - Show IT 2016 @Bratislava
Gubarevich Peter - 11-Feb-2016 - Show IT 2016 @BratislavaGubarevich Peter - 11-Feb-2016 - Show IT 2016 @Bratislava
Gubarevich Peter - 11-Feb-2016 - Show IT 2016 @BratislavaPeter Gubarevich
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended CutMike Spaulding
 
CSS17: Houston - Introduction to Security in the Cloud
CSS17: Houston - Introduction to Security in the CloudCSS17: Houston - Introduction to Security in the Cloud
CSS17: Houston - Introduction to Security in the CloudAlert Logic
 
Demystifying DevSecOps
Demystifying DevSecOpsDemystifying DevSecOps
Demystifying DevSecOpsArchana Joshi
 
Dev week cloud world conf2021
Dev week cloud world conf2021Dev week cloud world conf2021
Dev week cloud world conf2021Archana Joshi
 
DevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just SecurityDevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just SecurityKevin Fealey
 
How to build app sec team &amp; culture in your organization the hack summi...
How to build app sec team &amp; culture in your organization   the hack summi...How to build app sec team &amp; culture in your organization   the hack summi...
How to build app sec team &amp; culture in your organization the hack summi...kunwaratul hax0r
 
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporePractical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporeAmazon Web Services
 
Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...Osama Salah
 
DevSecCon Asia 2017 Pishu Mahtani: Adversarial Modelling
DevSecCon Asia 2017 Pishu Mahtani: Adversarial ModellingDevSecCon Asia 2017 Pishu Mahtani: Adversarial Modelling
DevSecCon Asia 2017 Pishu Mahtani: Adversarial ModellingDevSecCon
 
Secure Modern Workplace With Microsoft 365 Threat Protection
Secure Modern Workplace With Microsoft 365 Threat ProtectionSecure Modern Workplace With Microsoft 365 Threat Protection
Secure Modern Workplace With Microsoft 365 Threat ProtectionAmmar Hasayen
 
Windows Advance Threats - BSides Amman 2019
Windows Advance Threats - BSides Amman 2019Windows Advance Threats - BSides Amman 2019
Windows Advance Threats - BSides Amman 2019Ammar Hasayen
 
The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...
The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...
The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...Franklin Mosley
 
Microsoft Cloud App Security
Microsoft Cloud App SecurityMicrosoft Cloud App Security
Microsoft Cloud App SecurityMicrosoft
 
451 AppSense Webinar - Why blame the user?
451 AppSense Webinar - Why blame the user?451 AppSense Webinar - Why blame the user?
451 AppSense Webinar - Why blame the user?Adrian Sanabria
 

What's hot (20)

The Teams Behind DevSecOps
The Teams Behind DevSecOps The Teams Behind DevSecOps
The Teams Behind DevSecOps
 
Continuous security
Continuous securityContinuous security
Continuous security
 
Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work together
 
Implementing DevSecOps
Implementing DevSecOpsImplementing DevSecOps
Implementing DevSecOps
 
CSS17: Houston - Stories from the Security Operations Center
CSS17: Houston - Stories from the Security Operations CenterCSS17: Houston - Stories from the Security Operations Center
CSS17: Houston - Stories from the Security Operations Center
 
Gubarevich Peter - 11-Feb-2016 - Show IT 2016 @Bratislava
Gubarevich Peter - 11-Feb-2016 - Show IT 2016 @BratislavaGubarevich Peter - 11-Feb-2016 - Show IT 2016 @Bratislava
Gubarevich Peter - 11-Feb-2016 - Show IT 2016 @Bratislava
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
 
CSS17: Houston - Introduction to Security in the Cloud
CSS17: Houston - Introduction to Security in the CloudCSS17: Houston - Introduction to Security in the Cloud
CSS17: Houston - Introduction to Security in the Cloud
 
Demystifying DevSecOps
Demystifying DevSecOpsDemystifying DevSecOps
Demystifying DevSecOps
 
Dev week cloud world conf2021
Dev week cloud world conf2021Dev week cloud world conf2021
Dev week cloud world conf2021
 
DevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just SecurityDevSecOps without DevOps is Just Security
DevSecOps without DevOps is Just Security
 
How to build app sec team &amp; culture in your organization the hack summi...
How to build app sec team &amp; culture in your organization   the hack summi...How to build app sec team &amp; culture in your organization   the hack summi...
How to build app sec team &amp; culture in your organization the hack summi...
 
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_SingaporePractical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
Practical DevSecOps - How to Continuosly Adapt to Threats_AWSPSSummit_Singapore
 
Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...Application Whitelisting - Complementing Threat centric with Trust centric se...
Application Whitelisting - Complementing Threat centric with Trust centric se...
 
DevSecCon Asia 2017 Pishu Mahtani: Adversarial Modelling
DevSecCon Asia 2017 Pishu Mahtani: Adversarial ModellingDevSecCon Asia 2017 Pishu Mahtani: Adversarial Modelling
DevSecCon Asia 2017 Pishu Mahtani: Adversarial Modelling
 
Secure Modern Workplace With Microsoft 365 Threat Protection
Secure Modern Workplace With Microsoft 365 Threat ProtectionSecure Modern Workplace With Microsoft 365 Threat Protection
Secure Modern Workplace With Microsoft 365 Threat Protection
 
Windows Advance Threats - BSides Amman 2019
Windows Advance Threats - BSides Amman 2019Windows Advance Threats - BSides Amman 2019
Windows Advance Threats - BSides Amman 2019
 
The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...
The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...
The Security Pro's Guide to DevSecOps: How to Get Developers To Write Secure ...
 
Microsoft Cloud App Security
Microsoft Cloud App SecurityMicrosoft Cloud App Security
Microsoft Cloud App Security
 
451 AppSense Webinar - Why blame the user?
451 AppSense Webinar - Why blame the user?451 AppSense Webinar - Why blame the user?
451 AppSense Webinar - Why blame the user?
 

Similar to Splitting the monolith using Domain Driven Design

Lessons in Information Governance
Lessons in Information GovernanceLessons in Information Governance
Lessons in Information GovernanceJohn Newton
 
Best Practices for Large-Scale Websites -- Lessons from eBay
Best Practices for Large-Scale Websites -- Lessons from eBayBest Practices for Large-Scale Websites -- Lessons from eBay
Best Practices for Large-Scale Websites -- Lessons from eBayRandy Shoup
 
SPSHOU - Mastering SharePoint Migration Planning
SPSHOU - Mastering SharePoint Migration PlanningSPSHOU - Mastering SharePoint Migration Planning
SPSHOU - Mastering SharePoint Migration PlanningChristian Buckley
 
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementPhase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementScott Abel
 
Monica Crocker Implementing Ecm Aiim 2009
Monica Crocker   Implementing Ecm Aiim 2009Monica Crocker   Implementing Ecm Aiim 2009
Monica Crocker Implementing Ecm Aiim 2009AIIM Minnesota
 
Agile Project Management Facing The Challenges Of Distributed Development U...
Agile Project Management   Facing The Challenges Of Distributed Development U...Agile Project Management   Facing The Challenges Of Distributed Development U...
Agile Project Management Facing The Challenges Of Distributed Development U...Xebia IT Architects
 
Streamlining Content Management Using Portal Technologies
Streamlining Content Management Using Portal TechnologiesStreamlining Content Management Using Portal Technologies
Streamlining Content Management Using Portal TechnologiesLaurence Hart
 
Catalog maintenance and epo services at ta
Catalog maintenance and epo services at taCatalog maintenance and epo services at ta
Catalog maintenance and epo services at tathinkahead.net
 
Catalogue Maintenance & Editorial Process Outsourcing
Catalogue Maintenance &  Editorial Process Outsourcing Catalogue Maintenance &  Editorial Process Outsourcing
Catalogue Maintenance & Editorial Process Outsourcing thinkahead.net
 
Knowledge Management Intro
Knowledge Management IntroKnowledge Management Intro
Knowledge Management IntroMark Davies
 
Mulesoft Alfresco webinar
Mulesoft Alfresco webinarMulesoft Alfresco webinar
Mulesoft Alfresco webinarZia Consulting
 
School management System
School management SystemSchool management System
School management SystemHATIM Bhagat
 
Short reference architecture
Short reference architectureShort reference architecture
Short reference architectureSteve Feldman
 
Ferraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information ArchitectureFerraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information Architecturemferraz
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 

Similar to Splitting the monolith using Domain Driven Design (20)

Lessons in Information Governance
Lessons in Information GovernanceLessons in Information Governance
Lessons in Information Governance
 
Best Practices for Large-Scale Websites -- Lessons from eBay
Best Practices for Large-Scale Websites -- Lessons from eBayBest Practices for Large-Scale Websites -- Lessons from eBay
Best Practices for Large-Scale Websites -- Lessons from eBay
 
SPSHOU - Mastering SharePoint Migration Planning
SPSHOU - Mastering SharePoint Migration PlanningSPSHOU - Mastering SharePoint Migration Planning
SPSHOU - Mastering SharePoint Migration Planning
 
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementPhase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
 
Monica Crocker Implementing Ecm Aiim 2009
Monica Crocker   Implementing Ecm Aiim 2009Monica Crocker   Implementing Ecm Aiim 2009
Monica Crocker Implementing Ecm Aiim 2009
 
Agile Project Management Facing The Challenges Of Distributed Development U...
Agile Project Management   Facing The Challenges Of Distributed Development U...Agile Project Management   Facing The Challenges Of Distributed Development U...
Agile Project Management Facing The Challenges Of Distributed Development U...
 
Streamlining Content Management Using Portal Technologies
Streamlining Content Management Using Portal TechnologiesStreamlining Content Management Using Portal Technologies
Streamlining Content Management Using Portal Technologies
 
Catalog maintenance and epo services at ta
Catalog maintenance and epo services at taCatalog maintenance and epo services at ta
Catalog maintenance and epo services at ta
 
Catalogue Maintenance & Editorial Process Outsourcing
Catalogue Maintenance &  Editorial Process Outsourcing Catalogue Maintenance &  Editorial Process Outsourcing
Catalogue Maintenance & Editorial Process Outsourcing
 
Knowledge Management Intro
Knowledge Management IntroKnowledge Management Intro
Knowledge Management Intro
 
Task Management Software
Task Management SoftwareTask Management Software
Task Management Software
 
CETS 2011, Mike Kemmler, slides for SCORM 101
CETS 2011, Mike Kemmler, slides for SCORM 101CETS 2011, Mike Kemmler, slides for SCORM 101
CETS 2011, Mike Kemmler, slides for SCORM 101
 
Mulesoft Alfresco webinar
Mulesoft Alfresco webinarMulesoft Alfresco webinar
Mulesoft Alfresco webinar
 
BA Resume
BA  ResumeBA  Resume
BA Resume
 
School management System
School management SystemSchool management System
School management System
 
Short reference architecture
Short reference architectureShort reference architecture
Short reference architecture
 
Ferraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information ArchitectureFerraz Ia252 Developing An Information Architecture
Ferraz Ia252 Developing An Information Architecture
 
Living in a MultiOrg World
Living in a MultiOrg WorldLiving in a MultiOrg World
Living in a MultiOrg World
 
Sanjay resume
Sanjay resumeSanjay resume
Sanjay resume
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 

More from Maria Gomez

From Monolith to Observable Microservices using DDD
From Monolith to Observable Microservices using DDDFrom Monolith to Observable Microservices using DDD
From Monolith to Observable Microservices using DDDMaria Gomez
 
CQRS and Event Sourcing: A DevOps perspective
CQRS and Event Sourcing: A DevOps perspectiveCQRS and Event Sourcing: A DevOps perspective
CQRS and Event Sourcing: A DevOps perspectiveMaria Gomez
 
Observable Microservices (O'Reilly SACon London 2018)
Observable Microservices (O'Reilly SACon London 2018)Observable Microservices (O'Reilly SACon London 2018)
Observable Microservices (O'Reilly SACon London 2018)Maria Gomez
 
Effective team onboarding
Effective team onboardingEffective team onboarding
Effective team onboardingMaria Gomez
 
Observable microservices (O'Reilly SACon NY 2018)
Observable microservices (O'Reilly SACon NY 2018)Observable microservices (O'Reilly SACon NY 2018)
Observable microservices (O'Reilly SACon NY 2018)Maria Gomez
 
Security in agile teams
Security in agile teamsSecurity in agile teams
Security in agile teamsMaria Gomez
 
Security in agile teams
Security in agile teamsSecurity in agile teams
Security in agile teamsMaria Gomez
 
Observable Microservices
Observable MicroservicesObservable Microservices
Observable MicroservicesMaria Gomez
 
Splitting the Monolith
Splitting the MonolithSplitting the Monolith
Splitting the MonolithMaria Gomez
 
Taller de Refactorización (Campus Party Quito 2014)
Taller de Refactorización (Campus Party Quito 2014)Taller de Refactorización (Campus Party Quito 2014)
Taller de Refactorización (Campus Party Quito 2014)Maria Gomez
 
Refactoring workshop (Campus Party Quito 2014)
Refactoring workshop (Campus Party Quito 2014)Refactoring workshop (Campus Party Quito 2014)
Refactoring workshop (Campus Party Quito 2014)Maria Gomez
 
Project Management - Report
Project Management - ReportProject Management - Report
Project Management - ReportMaria Gomez
 
Principles of New Media - Essay
Principles of New Media - EssayPrinciples of New Media - Essay
Principles of New Media - EssayMaria Gomez
 
Project Management - Risk management
Project Management - Risk managementProject Management - Risk management
Project Management - Risk managementMaria Gomez
 
Responsive Environments - MoodMixer Presentation
Responsive Environments - MoodMixer PresentationResponsive Environments - MoodMixer Presentation
Responsive Environments - MoodMixer PresentationMaria Gomez
 
Responsive Environments - Critical report
Responsive Environments - Critical reportResponsive Environments - Critical report
Responsive Environments - Critical reportMaria Gomez
 
New Media Management - Gantt chart
New Media Management - Gantt chartNew Media Management - Gantt chart
New Media Management - Gantt chartMaria Gomez
 
New Media Management - Project plan
New Media Management - Project planNew Media Management - Project plan
New Media Management - Project planMaria Gomez
 
New Media Management - Presentation
New Media Management - PresentationNew Media Management - Presentation
New Media Management - PresentationMaria Gomez
 
New Media Management - Report
New Media Management - ReportNew Media Management - Report
New Media Management - ReportMaria Gomez
 

More from Maria Gomez (20)

From Monolith to Observable Microservices using DDD
From Monolith to Observable Microservices using DDDFrom Monolith to Observable Microservices using DDD
From Monolith to Observable Microservices using DDD
 
CQRS and Event Sourcing: A DevOps perspective
CQRS and Event Sourcing: A DevOps perspectiveCQRS and Event Sourcing: A DevOps perspective
CQRS and Event Sourcing: A DevOps perspective
 
Observable Microservices (O'Reilly SACon London 2018)
Observable Microservices (O'Reilly SACon London 2018)Observable Microservices (O'Reilly SACon London 2018)
Observable Microservices (O'Reilly SACon London 2018)
 
Effective team onboarding
Effective team onboardingEffective team onboarding
Effective team onboarding
 
Observable microservices (O'Reilly SACon NY 2018)
Observable microservices (O'Reilly SACon NY 2018)Observable microservices (O'Reilly SACon NY 2018)
Observable microservices (O'Reilly SACon NY 2018)
 
Security in agile teams
Security in agile teamsSecurity in agile teams
Security in agile teams
 
Security in agile teams
Security in agile teamsSecurity in agile teams
Security in agile teams
 
Observable Microservices
Observable MicroservicesObservable Microservices
Observable Microservices
 
Splitting the Monolith
Splitting the MonolithSplitting the Monolith
Splitting the Monolith
 
Taller de Refactorización (Campus Party Quito 2014)
Taller de Refactorización (Campus Party Quito 2014)Taller de Refactorización (Campus Party Quito 2014)
Taller de Refactorización (Campus Party Quito 2014)
 
Refactoring workshop (Campus Party Quito 2014)
Refactoring workshop (Campus Party Quito 2014)Refactoring workshop (Campus Party Quito 2014)
Refactoring workshop (Campus Party Quito 2014)
 
Project Management - Report
Project Management - ReportProject Management - Report
Project Management - Report
 
Principles of New Media - Essay
Principles of New Media - EssayPrinciples of New Media - Essay
Principles of New Media - Essay
 
Project Management - Risk management
Project Management - Risk managementProject Management - Risk management
Project Management - Risk management
 
Responsive Environments - MoodMixer Presentation
Responsive Environments - MoodMixer PresentationResponsive Environments - MoodMixer Presentation
Responsive Environments - MoodMixer Presentation
 
Responsive Environments - Critical report
Responsive Environments - Critical reportResponsive Environments - Critical report
Responsive Environments - Critical report
 
New Media Management - Gantt chart
New Media Management - Gantt chartNew Media Management - Gantt chart
New Media Management - Gantt chart
 
New Media Management - Project plan
New Media Management - Project planNew Media Management - Project plan
New Media Management - Project plan
 
New Media Management - Presentation
New Media Management - PresentationNew Media Management - Presentation
New Media Management - Presentation
 
New Media Management - Report
New Media Management - ReportNew Media Management - Report
New Media Management - Report
 

Recently uploaded

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 

Recently uploaded (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 

Splitting the monolith using Domain Driven Design