How to build Drupal
Applications with APIs and
microservices
Ronald Ashri - @ronald_istos
technical strategy director - @DeesonAgency
and why
background in
agent-based software
engineering and distributed AI
an agent is a computer system capable of
flexible, autonomous action in a dynamic,
unpredictable and open environment
background in
agent-based software
engineering and distributed AI
an agent is a computer system capable of
flexible, autonomous action in a dynamic,
unpredictable and open environment
microservice
heterogeneous
what are the problems we
are trying to solve
so. many. things.
organisations (humans)
speed
scalability
resilience
availability
testability
replaceability
the non-microservice way
makes it less likely to
address these problems
single application / single
codebase
or badly implemented SOA
leading to
tight coupling
hard to support concurrency / partitioning
hard to support efficient testing
fear stops us from moving fast
does not handle the human
issues
- control
- reliability
- consistency
- technical debt over time
- knowledge management
we’ve been building
monoliths long enough to
know that despite the best
intentions it rarely ends
well - especially in large
orgs with multiple teams
the microservices way
- guiding principles
bounded context
do one thing well
comprehensible
independently deployable
deployed through
automated process builds
message-enabled
composable
encourage polyglotism
a system that makes
change easy,
safely
at scale
a cohesive system
“gather together those
things that change for the
same reason, and separate
those things that change for
different reasons”
Robert C.Martin’s Single Responsibility Principle
a loosely coupled system
“The greater the cohesion of
individual modules in the system,
the lower the coupling between
modules will be.”
—Larry Constantine and Edward Yourdon, authors of Structured
Design: Fundamentals of a Discipline of Computer Program and
Systems Design
microservices
- architecture
there is no ideal size
the answer is 42 ;-)
29
OPTIONALSECTIONTITLE
from Microservice Architecture
by Irakli Nadareishvili et al

use domain-driven design
principles to identify the
right boundaries for your
problem
https://www.martinfowler.com/bliki/BoundedContext.html
designing as a monolith
with modular / component
based design and then
breaking it up is a valid
strategy
if in order to implement a
change you end up
touching lots of different
microservices something is
wrong - couple loosely
Don’t start by designing
data models - focus on
business capabilities
REST CRUD services are
not the objective
If concerned about
dependency on data stores
delay implementation to
the end. Build interfaces,
models, mock replies and
push back on the final data
store.
DO NOT SHARE A DB.
introduces tight coupling
reduces cohesion
microservices
- integration
message-based
I’m sorry that I long ago coined the term “objects”
for this topic because it gets many people to focus
on the lesser idea. The big idea is “messaging.”
—Alan Kay
“(…) for far too long, developers have
viewed APIs and web services as tools
to transmit serialized “objects” over the
wire. However, a more efficient
approach is to look at a complex
system as a collection of services
exchanging messages over a wire.”
Microservice Architecture by Irakli Nadareishvili et al

Netflix uses protocols like
Avro, Protobuf and Thrift
internally and JSON over
HTTP for external
consumers
Hypermedia driven
package data together with
description of possible
actions
HATEOS - Hypermedia as the engine of application
state
event-sourcing
a stream of facts about how our
entities are changing
- deposited £10 to account - cash
- paid £5 for dinner
- deposited £5 - salary
- paid £3 for cinema
balance: £7
event-sourcing data model vs
structural data model
events are the record of all that has happened
with current application state being the result
a structural data model shows us the current
state with no background information
- deposited £10 to account - cash
- paid £5 for dinner
- deposited £5 - salary
- paid £3 for cinema
balance: £7
asynchronous messaging
passing
Events
Hub
Publisher Subscriberpublish subscribe
choreography vs
orchestration
micro services -
in (micro) practice
hotel booking service
channels
hotel booking service
channels
cannot add a channel without redeploying
entire site
if a channel changes need to redeploy site
site will be blocked as it is trying to update
separate channels
…
channels
hotel booking service
Amazon SQS
channels
hotel booking service
Amazon SQS
coupled drupal to SQS-
specific implementation
will need to redeploy
hundreds of sites on each
change
channels
hotel booking service
Amazon SQS
listener (silex app)
channels
hotel booking service
Amazon SQSlistener
channel manager
channel A channel B
channels
hotel booking service
queuelistener
channel manager
channel A channel B
gateway
channels
hotel booking service
queuelistener
channel manager
channel A channel B
gateway
What next
testing
monitoring
security
API gateways
…
if you take one thing away - it is these four things
• Make each program do one thing well. To do a new job, build
afresh rather than complicate old programs by adding new
features.
• Expect the output of every program to become the input to
another, as yet unknown, program. Don’t clutter output with
extraneous information. Avoid stringently columnar or binary
input formats. Don’t insist on interactive input.
• Design and build software, even operating systems, to be tried
early, ideally within weeks. Don’t hesitate to throw away the
clumsy parts and rebuild them.
• Use tools in preference to unskilled help to lighten a programming
task, even if you have to detour to build the tools and expect to
throw some of them out after you’ve finished using them.
From the 1978 Bell Labs UNIX Timesharing system doc
questions?
Ronald Ashri - @ronald_istos
technical strategy director - @DeesonAgency

More Related Content

PDF
An AI Bot will Build and Run your next site… eventually
PDF
Component Driven Development - DrupalCamp London 2017
PPTX
Cloud computing
PDF
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS Business
PPT
Cloud computing
PPT
Cloud Computing
PPTX
Understanding Azure Batch Service - Niloshima - CCDays
PPTX
Integration Monday - Logic Apps: Development Experiences
An AI Bot will Build and Run your next site… eventually
Component Driven Development - DrupalCamp London 2017
Cloud computing
Fundamentals On Building A Reliable Cloud Infrastructure For Your SaaS Business
Cloud computing
Cloud Computing
Understanding Azure Batch Service - Niloshima - CCDays
Integration Monday - Logic Apps: Development Experiences

What's hot (18)

PDF
BBBT Watson Data Platform Presentation
PDF
Speed as-a-feature
PPTX
The Future Of Business Applications Through Cloud Computing!! Presented by As...
PDF
Power Apps 101 SharePoint Saturday Lisbon 2019
PDF
Enterprise Implementation & the Experience API
PPT
Hot tech 20161102 - ep0018 - idera - application acceleration - faster perfor...
PDF
Your first web application. From Design to Launch
PDF
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
PDF
On-Page SEO for Mobile
PPTX
Eyal Ellenbogen: Building a UI Foundation for Scalability - Architecture Next 20
PPTX
Ordina SOFTC Presentation - Moving a legacy application into the cloud
PPTX
Break Your Designer Dependency
PPTX
How to scale your applications ? - #bzhcamp
PPT
Unit 4 Using The Internet
PPTX
I want to be an efficient developper - APIdays Berlin 2014
PPTX
Amazon Web Services: Building a 'Web-Scale Computing' Architecture
PDF
Fuck Spreadsheets - first steps to become a data-driven company
PDF
Making AI FaaSt - QCon SF 2018
BBBT Watson Data Platform Presentation
Speed as-a-feature
The Future Of Business Applications Through Cloud Computing!! Presented by As...
Power Apps 101 SharePoint Saturday Lisbon 2019
Enterprise Implementation & the Experience API
Hot tech 20161102 - ep0018 - idera - application acceleration - faster perfor...
Your first web application. From Design to Launch
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
On-Page SEO for Mobile
Eyal Ellenbogen: Building a UI Foundation for Scalability - Architecture Next 20
Ordina SOFTC Presentation - Moving a legacy application into the cloud
Break Your Designer Dependency
How to scale your applications ? - #bzhcamp
Unit 4 Using The Internet
I want to be an efficient developper - APIdays Berlin 2014
Amazon Web Services: Building a 'Web-Scale Computing' Architecture
Fuck Spreadsheets - first steps to become a data-driven company
Making AI FaaSt - QCon SF 2018

Viewers also liked (20)

PDF
Building rednoseday.com on Drupal 8
PPTX
Microservices
PDF
Mechanics of solids ii
PPTX
Individual-In-The-Loop (for Ethically Aligned Artificial Intelligence)
PDF
A Taxonomist, a Software Engineer, and a UX Researcher Walk Into a Bar: Brid...
PDF
Bootstrapping Microservices
PPTX
7 Myths of AI
PPTX
AI for Retail Banking
PPTX
AI in Insurance - InView Primer
PPTX
A chart of the big data ecosystem
PPTX
Tokyo Azure Meetup #4 - Build 2016 Overview
PPTX
Vert.x for Microservices Architecture
PDF
Principles of microservices XP Days Ukraine
PDF
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
PPTX
From Monolith to Microservices – and Beyond!
PPTX
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
PDF
Big data landscape v 3.0 - Matt Turck (FirstMark)
PPTX
The Astonishing Resurrection of AI (A Primer on Artificial Intelligence)
PPTX
NGINX Microservices Reference Architecture: Ask Me Anything
Building rednoseday.com on Drupal 8
Microservices
Mechanics of solids ii
Individual-In-The-Loop (for Ethically Aligned Artificial Intelligence)
A Taxonomist, a Software Engineer, and a UX Researcher Walk Into a Bar: Brid...
Bootstrapping Microservices
7 Myths of AI
AI for Retail Banking
AI in Insurance - InView Primer
A chart of the big data ecosystem
Tokyo Azure Meetup #4 - Build 2016 Overview
Vert.x for Microservices Architecture
Principles of microservices XP Days Ukraine
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
From Monolith to Microservices – and Beyond!
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Big data landscape v 3.0 - Matt Turck (FirstMark)
The Astonishing Resurrection of AI (A Primer on Artificial Intelligence)
NGINX Microservices Reference Architecture: Ask Me Anything

Similar to The Why and How of Applications with APIs and microservices (20)

PPTX
Over view of software artitecture
PPSX
Microservices Architecture - Cloud Native Apps
PPTX
Microservices why?
PPTX
Best Practices Building Cloud Scale Apps with Microservices
PPTX
Software Architectures, Week 3 - Microservice-based Architectures
PPTX
Pros & Cons of Microservices Architecture
PPTX
Architecting Microservices in .Net
PPTX
Introduction to Microservices
PDF
Microservice - Intro and Discussion
PDF
Microservices for Architects - Atlanta 2018-03-28
PDF
Term paper 2073131
PDF
Production-Ready_Microservices_excerpt.pdf
PDF
Microservices - Hitchhiker's guide to cloud native applications
PDF
Building microservices on azure
PPTX
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
PDF
Building Microservices Software practics
PPTX
Microservices-101
PPTX
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
PDF
20141210 - Microservice Container
PDF
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)
Over view of software artitecture
Microservices Architecture - Cloud Native Apps
Microservices why?
Best Practices Building Cloud Scale Apps with Microservices
Software Architectures, Week 3 - Microservice-based Architectures
Pros & Cons of Microservices Architecture
Architecting Microservices in .Net
Introduction to Microservices
Microservice - Intro and Discussion
Microservices for Architects - Atlanta 2018-03-28
Term paper 2073131
Production-Ready_Microservices_excerpt.pdf
Microservices - Hitchhiker's guide to cloud native applications
Building microservices on azure
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Building Microservices Software practics
Microservices-101
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
20141210 - Microservice Container
Microservices for Java Architects (Madison-Milwaukee, April 28-9, 2015)

Recently uploaded (20)

PDF
Applying Agentic AI in Enterprise Automation
PDF
Be ready for tomorrow’s needs with a longer-lasting, higher-performing PC
PDF
Examining Bias in AI Generated News Content.pdf
PDF
Technical Debt in the AI Coding Era - By Antonio Bianco
PDF
Domain-specific knowledge and context in large language models: challenges, c...
PDF
Human Computer Interaction Miterm Lesson
PPTX
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
PDF
【AI論文解説】高速・高品質な生成を実現するFlow Map Models(Part 1~3)
PDF
NewMind AI Journal Monthly Chronicles - August 2025
PPTX
Blending method and technology for hydrogen.pptx
PDF
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
PDF
Addressing the challenges of harmonizing law and artificial intelligence tech...
PDF
“Introduction to Designing with AI Agents,” a Presentation from Amazon Web Se...
PDF
Optimizing bioinformatics applications: a novel approach with human protein d...
PDF
Child-friendly e-learning for artificial intelligence education in Indonesia:...
PDF
Fitaura: AI & Machine Learning Powered Fitness Tracker
PDF
State of AI in Business 2025 - MIT NANDA
PPTX
How to use fields_get method in Odoo 18
PDF
EGCB_Solar_Project_Presentation_and Finalcial Analysis.pdf
PDF
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...
Applying Agentic AI in Enterprise Automation
Be ready for tomorrow’s needs with a longer-lasting, higher-performing PC
Examining Bias in AI Generated News Content.pdf
Technical Debt in the AI Coding Era - By Antonio Bianco
Domain-specific knowledge and context in large language models: challenges, c...
Human Computer Interaction Miterm Lesson
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
【AI論文解説】高速・高品質な生成を実現するFlow Map Models(Part 1~3)
NewMind AI Journal Monthly Chronicles - August 2025
Blending method and technology for hydrogen.pptx
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
Addressing the challenges of harmonizing law and artificial intelligence tech...
“Introduction to Designing with AI Agents,” a Presentation from Amazon Web Se...
Optimizing bioinformatics applications: a novel approach with human protein d...
Child-friendly e-learning for artificial intelligence education in Indonesia:...
Fitaura: AI & Machine Learning Powered Fitness Tracker
State of AI in Business 2025 - MIT NANDA
How to use fields_get method in Odoo 18
EGCB_Solar_Project_Presentation_and Finalcial Analysis.pdf
TrustArc Webinar - Data Minimization in Practice_ Reducing Risk, Enhancing Co...

The Why and How of Applications with APIs and microservices