SlideShare uma empresa Scribd logo
1 de 99
Baixar para ler offline
Welcome to the world of micro-apps
Combing microservices, smart use cases & web applications
Sander Hoogendoorn | Quby | ditisagile.nl
@aahoogendoorn | Welcome to the world of micro-apps
Next
Sander Hoogendoorn
Independent dad, new agile coach,
programmer, speaker, author, traveler
Currently
Chief Architect Quby
Before
CTO ANVA
CTO Klaverblad Verzekeringen
Global agile thoughtleader Capgemini
sanderhoogendoorn.com
aahoogendoorn
aahoogendoorn
sander@ditisagile.nl
Next
@aahoogendoorn | Welcome to the world of micro-apps
Click here
@aahoogendoorn | Welcome to the world of micro-apps
Click here
As a project manager…
The Times
They Are a-Changin'
Much faster than you think
@aahoogendoorn | Welcome to the world of micro-apps
Continue
Read more …
Moore’s Law
The number of
transistors in a dense
integrated circuit
doubles approximately
every two years.
Click here
1954
Click here
Commodore 64
Read more …
Amazon EC2
Then, in 2006, Amazon launched
its Elastic Compute cloud (EC2) as
a commercial web service that
allows small companies and
individuals to rent computers on
which to run their own computer
applications.
About disruption
@aahoogendoorn | Welcome to the world of micro-apps
Read more …
Complex problems require continuous exploration
Click here
How long did it take to reach 50 million users?
More …
Fintech challenges
@aahoogendoorn | Welcome to the world of micro-apps
Where software development went wrong
Monoliths. Why we like them, Why we hate them
@aahoogendoorn | Welcome to the world of micro-apps
Continue
Monolitths… Adding feature after feature
@aahoogendoorn | Welcome to the world of micro-apps
Read more …
Advantages
A single (layered)
architecture
A single technology
stack
A single code base
maintained by multiple
teams
Read more …
Disadvantages
All parts are interconnected
Many other systems are
connected to your system
Hard to change, hard to
maintain
Long time between releases,
thereby increasing risks
Slow innovation
Hard to move to newer
technologies
Doesn’t scale very well
Click here
Dependencies will kill you every time
Click here
Click here
Click here
Enter microservices
The world of small component that do one thing only
@aahoogendoorn | Welcome to the world of micro-apps
Continue
Click here
In short, the microservice architectural style is an approach
to developing a single application as a suite of small services, each
running in its own process and communicating with lightweight
mechanisms, often an HTTP resource API.
These services are built around business capabilities and independently
deployable by fully automated deployment machinery. There is a bare
minimum of centralized management of these services, which may be
written in different programming languages and use different data
storage technologies.
Martin Fowler
Microservices
@aahoogendoorn | Welcome to the world of micro-apps
Promises and challenges
Of building microservices
@aahoogendoorn | Welcome to the world of micro-apps
Continue
Read more …
Promises
Features not projects
Scalable
Decentralized governance
High performance
Easy to build
Easy to test
Replaceable parts
Individually deployable
Technology independent
Polyglot persistence
Micro-applications
Building a single application versus building micro-applications
@aahoogendoorn | Welcome to the world of micro-apps
Click here
Given sufficient time any group of
programmers will decide to rewrite
the code.Ron Lunde
@aahoogendoorn | Welcome to the world of micro-apps
Lunde’s Law
Front end frameworks 2016
Front end frameworks 2017
Front end frameworks 2018
Click here
In short, the microservice architectural style is an approach
to developing a single application as a suite of small services, each
running in its own process and communicating with lightweight
mechanisms, often an HTTP resource API.
These services are built around business capabilities and independently
deployable by fully automated deployment machinery. There is a bare
minimum of centralized management of these services, which may be
written in different programming languages and use different data
storage technologies.
Martin Fowler
Microservices
@aahoogendoorn | Welcome to the world of micro-apps
Product Order Customer Credit card Vendor
A single application?
Web ordering system
Click here
Low availability of “resources”
What if we would build applications with
similar characteristics as services?
@aahoogendoorn | Welcome to the world of micro-apps
Click here
In short, the microservice architectural style is an approach
to developing a suite of small apps, each running in its own process and
communicating with lightweight mechanisms, often an HTTP resource
API.
These micro-apps are built around business capabilities and
independently deployable by fully automated deployment machinery.
There is a bare minimum of centralized management of these apps,
which may be written in different programming languages and use
different data storage technologies.
Martin Fowler
Micro-apps?
@aahoogendoorn | Welcome to the world of micro-apps
Business process (at kite level)
Select
Product
Select
Product
Show
Cart
Check out
Cart
Register
Client
Register
CC
Show
Order
Product Order Customer CC Vendor
Apps, workers and microservices
Validate
CC
Confirm
Order (email)
Read more …
Benefits
A landscape of micro-apps
Micro-apps are built around a
single business capability
Easy to build
East to test
Deploy individually
Allows for frequent change without
regression
Functional reuse
Allows for front end tech to evolve
Optimize for small changes
@aahoogendoorn | Welcome to the world of micro-apps
Monolithical speed of change
Monolith
1.0
Monolith
2.0
Monolith
3.0
Q1 Q2 Q3
Dependencies will kill you
Microservice speed of change
Account
1.0
Product
1.0
Order
1.0
Doc
1.0
Account
20
Account
3.0
Account
4.0
Product
2.0
Product
3.0
Product
4.0
Product
5.0
Product
6..0
Order
2.0
Order
3.0
Doc
2.0
Doc
3.0
Q1 Q2 Q3
Click here
Deploying individual micro-apps
Click here
Microservices
Click here
Micro-apps
Read more …
Challenges
How to model requirements?
How to break up the single app?
What does the architecture look
like?
How to handle communication
between micro-apps and services?
How to unify the user interface?
How to handle navigation?
What can a micro-app API look
like?
Click here
Lessons learned
Pick your guiding
principles
@aahoogendoorn | Welcome to the world of micro-apps
Read more …
Guiding principles
We implement business
processes
We move towards a systems
landscape consisting of micro-
applications and microservices
Requirements are modeled (in
smart use cases)
Micro-applications implement a
single elementary business
process step
Micro-applications and
microservices all have their own
bounded context
Read more …
Guiding principles
Micro-applications do not
have storage, and only talk to
other micro-applications and
microservices
Microservices have their own
storage (in MongoDB), and
only talk to other
microservices
Communication uses a
simple open protocol – JSON
on REST
We avoid transactions as
much as possible
Click here
Lessons learned
Identify
products and features
@aahoogendoorn | Welcome to the world of micro-apps
Different levels of granularity
Fish
Clam
Purpose
Product
Feature
Function
Too low
Cloud
Kite
Sea
Cloud
Kite
Sea
OTOPOP
Smart use cases
OTOPOP
OTOPOP
OTOPOP
OTOPOP
OTOPOP
Click here
Smart use cases - microservices
Click here
Smart use cases – micro-app
Click here
Lessons learned
Apply an
evolutionary
architecture
@aahoogendoorn | Welcome to the world of micro-apps
Click here
It is not the strongest of the architectures
that survives, nor the most complex that
survives. It is the one that is most
adaptable to change.
Charles Darwin
@aahoogendoorn | Welcome to the world of micro-apps
Evolutionary architecture
Service interface
Process
Domain
Data / Services
Outside world
Resources
Representations
Use cases
Flow
Factories, Repositories
Entities, Enums, Value objects
Gateways
StorageRelations Dossiers Intermediaries Storage
Resource (traditional Java)
Resource (functional Java)
User interface
Process
Domain
Data / Services
Outside world
Pages, WebComponents
Grids, Panels, Controls
Use cases
Flow
Factories, Repositories
Entities, Enums, Value objects
Gateways
StorageRelations Dossiers Intermediaries Storage
Page (Angular)
Use case (Typescript)
Repository (Typescript)
Service (Typescript)
Click here
Lessons learned
Separate concerns
with bounded contexts
@aahoogendoorn | Welcome to the world of micro-apps
Bounded contexts
Read more …
Domain driven design
The paradigm of designing software based on
models of the underlying domain
The domain model helps the business and the
developers to reason about the functionality
A model needs to be unified – internally
consistent without contradictions
The bounded context is a central pattern in
domain driven design
Click here
When you model larger domains, it becomes
progressively harder to create this single unified
model
Instead of creating a single unified model, you
create several, all valid within their bounded
context
Eric Evans
Bounded contexts
@aahoogendoorn | Welcome to the world of micro-apps
The single unified domain model
Product
Vendor
Stock
Order
Client
Delivery
Payment
Bounded contexts
Product
Vendor
Stock
Order
Client
Delivery
Payment
Product
More …
Domain object (TypeScript)
Domain object (TypeScript)
Click here
Lessons learned
Avoid point-to-point
contracts
@aahoogendoorn | Welcome to the world of micro-apps
Click here
Communcation breakdown
Presentation
Process
Domain
Services
Outside world
Pages
Grids, Panels, Controls
Use cases
Flow
Factories, Repositories
Entities, Enums, Value objects
Gateways
ComponentsRelations Dossiers Intermediaries RatesAccounts
Service interface
Process
Domain
Data / Services
Outside world
Resources
Representations
Use cases
Flow
Factories, Repositories
Entities, Enums, Value objects
Gateways
StorageRelations Dossiers Intermediaries MongoDB
Micro-app Microservice
Point-to-point contracts
Login
{
id: 42,
firstname: Sander,
lastname: H,
city: Utrecht
}
{
id,
firstname,
lastname,
city
}
Account
{
id,
firstname,
lastname,
city
}
Click here
Be conservative in what you send,
be liberal in what you acceptJon Postel
Postel’s Law
@aahoogendoorn | Welcome to the world of micro-apps
Multiple consumers, same producer
Account
{
id,
firstname,
lastname,
city
}
Login
{
id,
login,
password
}
Manage user
{
id,
firstname,
lastname
}
Click here
Even if you do own the services you
consume, still design your consumers to
treat your services as if they were from
elsewhere and vice versa
Sander
Hoogendoorn
@aahoogendoorn | Welcome to the world of micro-apps
Hoogendoorn’s Law
Click here
Software entities (classes, modules,
functions, microservices, JSON objects, API’s)
should be open for extension, but closed for
modificationBob Martin
Open closed principle
@aahoogendoorn | Welcome to the world of micro-apps
Click here
HTTP Status Codes
Cheat Sheet
1**. Hold on
2**. Here you go
3**. Go away
4**. You fucked up
5**. I fucked up
Click here
Lessons learned
Create RESTful API’s
for your micro-apps
@aahoogendoorn | Welcome to the world of micro-apps
App Use case
App Use case
Parameters
Click here
Navigating micro-apps. Entering
https://integratie.anva.live/home/#/Home
Home
Home
Change
Password
Reset
Password
Manage Account
Find
Account
Manage
Account
Find
Contact
Manage
Contact
Manage Contact
View
Contact
Flows
Angular takes care of the routing
@aahoogendoorn | Welcome to the world of micro-apps
A use case
@aahoogendoorn | Welcome to the world of micro-apps
A use case layer supertype (Step)
@aahoogendoorn | Welcome to the world of micro-apps
Click here
Navigating micro-apps. From use case to use case
Home
Home
Change
Password
Reset
Password
Manage Account
Find
Account
Manage
Account
Find
Contact
Manage
Contact
Manage Contact
View
Contact
Flows https://integratie.anva.live/managecontact/#/FindContact
Flows.start(Flow.FindContact)
A list of use cases (Flow)
A use case provider (Flows)
Navigating use cases
@aahoogendoorn | Welcome to the world of micro-apps
Click here
Navigating micro-apps. Finishing a use case
Flows.ok(this.contact.id)
https://integratie.anva.live/home/#/Home?c=Cancel&backFrom=managecontact.FindContact
Home
Home
Change
Password
Reset
Password
Manage Account
Find
Account
Manage
Account
Find
Contact
Manage
Contact
Manage Contact
View
Contact
Flows
Going back
@aahoogendoorn | Welcome to the world of micro-apps
Click here
In retrospective
Some final thoughts
@aahoogendoorn | Welcome to the world of micro-apps
Read more …
Why micro-apps?
All the benefits from “regular”
microservices
Easy to build
Easy to test
Flexible and frequent deployment
of individual micro-apps
Easy application of domain driven
design
Replaceable apps
Allows for evolving technology
Never stop learning
Continue
@aahoogendoorn | Welcome to the world of micro-apps
And never forget to have fun
@aahoogendoorn | Welcome to the world of micro-apps
Next
Click here
References
and questions
www.sanderhoogendoorn.com
aahoogendoorn
aahoogendoorn
sander@ditisagile.nl
quby.com/careers
@aahoogendoorn | Welcome to the world of micro-apps
We are hiring!

Mais conteúdo relacionado

Mais procurados

Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...Amazon Web Services
 
Building an Integrated Content Strategy
Building an Integrated Content StrategyBuilding an Integrated Content Strategy
Building an Integrated Content StrategyJonathon Colman
 
Journey to Cloud-Native: Where to start in your app modernization process
Journey to Cloud-Native: Where to start in your app modernization processJourney to Cloud-Native: Where to start in your app modernization process
Journey to Cloud-Native: Where to start in your app modernization processVMware Tanzu
 
클라우드 비용 최적화 가이드
클라우드 비용 최적화 가이드클라우드 비용 최적화 가이드
클라우드 비용 최적화 가이드OpsNow
 
Amazon QuickSight First Call Deck
Amazon QuickSight First Call DeckAmazon QuickSight First Call Deck
Amazon QuickSight First Call DeckAmazon Web Services
 
Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018
Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018
Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018Amazon Web Services
 
What is APIGEE? What are the benefits of APIGEE?
What is APIGEE? What are the benefits of APIGEE?What is APIGEE? What are the benefits of APIGEE?
What is APIGEE? What are the benefits of APIGEE?IQ Online Training
 
Integration made easy with Azure Service Bus and APIM
Integration made easy with Azure Service Bus and APIMIntegration made easy with Azure Service Bus and APIM
Integration made easy with Azure Service Bus and APIMBizTalk360
 
Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...
Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...
Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...Amazon Web Services
 
AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...
AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...
AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...Amazon Web Services Korea
 
Creating an Enterprise Cloud Centre of Excellence
Creating an Enterprise Cloud Centre of ExcellenceCreating an Enterprise Cloud Centre of Excellence
Creating an Enterprise Cloud Centre of ExcellenceAmazon Web Services
 
Forecasting SEO Traffic & Revenue
Forecasting SEO Traffic & RevenueForecasting SEO Traffic & Revenue
Forecasting SEO Traffic & RevenueJon Quinton
 
Monitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyMonitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyKarl Ots
 
Deep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateDeep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateAmazon Web Services
 
APIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsAPIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsLaunchAny
 
IT Transformation in the Public Sector
IT Transformation in the Public SectorIT Transformation in the Public Sector
IT Transformation in the Public SectorAmazon Web Services
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享Amazon Web Services
 

Mais procurados (20)

Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
 
Building an Integrated Content Strategy
Building an Integrated Content StrategyBuilding an Integrated Content Strategy
Building an Integrated Content Strategy
 
Journey to Cloud-Native: Where to start in your app modernization process
Journey to Cloud-Native: Where to start in your app modernization processJourney to Cloud-Native: Where to start in your app modernization process
Journey to Cloud-Native: Where to start in your app modernization process
 
클라우드 비용 최적화 가이드
클라우드 비용 최적화 가이드클라우드 비용 최적화 가이드
클라우드 비용 최적화 가이드
 
Amazon QuickSight First Call Deck
Amazon QuickSight First Call DeckAmazon QuickSight First Call Deck
Amazon QuickSight First Call Deck
 
Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018
Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018
Microsoft SQL Server Migration Strategies (WIN302) - AWS re:Invent 2018
 
Azure 101
Azure 101Azure 101
Azure 101
 
What is APIGEE? What are the benefits of APIGEE?
What is APIGEE? What are the benefits of APIGEE?What is APIGEE? What are the benefits of APIGEE?
What is APIGEE? What are the benefits of APIGEE?
 
Integration made easy with Azure Service Bus and APIM
Integration made easy with Azure Service Bus and APIMIntegration made easy with Azure Service Bus and APIM
Integration made easy with Azure Service Bus and APIM
 
Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...
Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...
Accelerating Your Portfolio Migration to AWS Using AWS Migration Hub - ENT321...
 
AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...
AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...
AWS 의 비용 절감 프레임워크와 신규 프로그램을 활용한 전략적 비용절감 :: AWS Travel and Transportation 온라인...
 
Creating an Enterprise Cloud Centre of Excellence
Creating an Enterprise Cloud Centre of ExcellenceCreating an Enterprise Cloud Centre of Excellence
Creating an Enterprise Cloud Centre of Excellence
 
Forecasting SEO Traffic & Revenue
Forecasting SEO Traffic & RevenueForecasting SEO Traffic & Revenue
Forecasting SEO Traffic & Revenue
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Monitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and whyMonitoring real-life Azure applications: When to use what and why
Monitoring real-life Azure applications: When to use what and why
 
Deep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateDeep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & Fargate
 
APIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIsAPIs Are Forever - How to Design Long-Lasting APIs
APIs Are Forever - How to Design Long-Lasting APIs
 
IT Transformation in the Public Sector
IT Transformation in the Public SectorIT Transformation in the Public Sector
IT Transformation in the Public Sector
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享如何規劃與執行大型資料中心遷移和案例分享
如何規劃與執行大型資料中心遷移和案例分享
 

Semelhante a Welcome to the world of micro-apps

Welcome to the world of micro-applications
Welcome to the world of micro-applicationsWelcome to the world of micro-applications
Welcome to the world of micro-applicationsSander Hoogendoorn
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Sander Hoogendoorn
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-CommerceDivante
 
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
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsAraf Karsh Hamid
 
Building cloud-ready Microservices
Building cloud-ready MicroservicesBuilding cloud-ready Microservices
Building cloud-ready Microservicesveredflis
 
NEAR Protocol at the Decentralized Summit 2019
NEAR Protocol at the Decentralized Summit 2019NEAR Protocol at the Decentralized Summit 2019
NEAR Protocol at the Decentralized Summit 2019Erik Trautman
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
Microservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech TalksMicroservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech TalksPedro Mendes
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro FrontendMiki Lombardi
 
Microservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They MatterMicroservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They MatterAlexander Arda
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesHector Tapia
 
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and MicroservicesRedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and MicroservicesRedis Labs
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Ken Owens
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API ManagementWSO2
 
Moving from A and B to 150 microservices, the journey, and learnings
Moving from A and B to 150 microservices, the journey, and learningsMoving from A and B to 150 microservices, the journey, and learnings
Moving from A and B to 150 microservices, the journey, and learningsGeshan Manandhar
 

Semelhante a Welcome to the world of micro-apps (20)

Welcome to the world of micro-applications
Welcome to the world of micro-applicationsWelcome to the world of micro-applications
Welcome to the world of micro-applications
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)Growing a microservices landscape (with smart use cases)
Growing a microservices landscape (with smart use cases)
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-Commerce
 
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...
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Building cloud-ready Microservices
Building cloud-ready MicroservicesBuilding cloud-ready Microservices
Building cloud-ready Microservices
 
NEAR Protocol at the Decentralized Summit 2019
NEAR Protocol at the Decentralized Summit 2019NEAR Protocol at the Decentralized Summit 2019
NEAR Protocol at the Decentralized Summit 2019
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Microservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech TalksMicroservices - Peixe Urbano Tech Talks
Microservices - Peixe Urbano Tech Talks
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 
Microservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They MatterMicroservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They Matter
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServices
 
20161220 - microservice
20161220 - microservice20161220 - microservice
20161220 - microservice
 
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and MicroservicesRedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!
 
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
[WSO2 API Day Dallas 2019] Extending Service Mesh with API Management
 
Moving from A and B to 150 microservices, the journey, and learnings
Moving from A and B to 150 microservices, the journey, and learningsMoving from A and B to 150 microservices, the journey, and learnings
Moving from A and B to 150 microservices, the journey, and learnings
 

Mais de Sander Hoogendoorn

Flow. The official worst software development approach in history
Flow. The official worst software development approach in historyFlow. The official worst software development approach in history
Flow. The official worst software development approach in historySander Hoogendoorn
 
It's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big timeIt's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big timeSander Hoogendoorn
 
Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?Sander Hoogendoorn
 
20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...Sander Hoogendoorn
 
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...Sander Hoogendoorn
 
Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.Sander Hoogendoorn
 
Geecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservicesGeecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservicesSander Hoogendoorn
 
Thirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hellThirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hellSander Hoogendoorn
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsSander Hoogendoorn
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsSander Hoogendoorn
 
Microservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hellMicroservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hellSander Hoogendoorn
 
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Sander Hoogendoorn
 
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Sander Hoogendoorn
 
Microservices. The good the bad and the ugly
Microservices. The good the bad and the uglyMicroservices. The good the bad and the ugly
Microservices. The good the bad and the uglySander Hoogendoorn
 
Scaling agile from the ground up
Scaling agile from the ground upScaling agile from the ground up
Scaling agile from the ground upSander Hoogendoorn
 
The state of agile in ten easy learned lessons
The state of agile in ten easy learned lessonsThe state of agile in ten easy learned lessons
The state of agile in ten easy learned lessonsSander Hoogendoorn
 
Pragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use casesPragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use casesSander Hoogendoorn
 
Beyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessonsBeyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessonsSander Hoogendoorn
 

Mais de Sander Hoogendoorn (20)

Flow. The official worst software development approach in history
Flow. The official worst software development approach in historyFlow. The official worst software development approach in history
Flow. The official worst software development approach in history
 
It's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big timeIt's a small world after all. How thinking small changes software big time
It's a small world after all. How thinking small changes software big time
 
Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?Wat is agile en wat betekent het voor mij?
Wat is agile en wat betekent het voor mij?
 
20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...20180509 - It's a small world after all. How thinking small is changing softw...
20180509 - It's a small world after all. How thinking small is changing softw...
 
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
W-JAX 2017 Keynote. It's a small world after all. How thinking small is chang...
 
Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.Swanseacon 2017 Keynote - It's a small world after all.
Swanseacon 2017 Keynote - It's a small world after all.
 
Building Better Software Faster
Building Better Software FasterBuilding Better Software Faster
Building Better Software Faster
 
Geecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservicesGeecon Prague 2016 - Thirty months of microservices
Geecon Prague 2016 - Thirty months of microservices
 
Thirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hellThirty months of microservices. Stairway to heaven or highway to hell
Thirty months of microservices. Stairway to heaven or highway to hell
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
 
Beyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessonsBeyond breaking bad. The current state of agile in ten easy lessons
Beyond breaking bad. The current state of agile in ten easy lessons
 
Microservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hellMicroservices. Stairway to heaven or highway to hell
Microservices. Stairway to heaven or highway to hell
 
Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.Microservices. The good, the bad and the ugly.
Microservices. The good, the bad and the ugly.
 
Modeling Microservices
Modeling MicroservicesModeling Microservices
Modeling Microservices
 
Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...Designing and building a micro-services architecture. Stairway to heaven or a...
Designing and building a micro-services architecture. Stairway to heaven or a...
 
Microservices. The good the bad and the ugly
Microservices. The good the bad and the uglyMicroservices. The good the bad and the ugly
Microservices. The good the bad and the ugly
 
Scaling agile from the ground up
Scaling agile from the ground upScaling agile from the ground up
Scaling agile from the ground up
 
The state of agile in ten easy learned lessons
The state of agile in ten easy learned lessonsThe state of agile in ten easy learned lessons
The state of agile in ten easy learned lessons
 
Pragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use casesPragmatic agile model driven development using smart use cases
Pragmatic agile model driven development using smart use cases
 
Beyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessonsBeyond breaking bad. The state of agile in ten easy lessons
Beyond breaking bad. The state of agile in ten easy lessons
 

Último

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

Welcome to the world of micro-apps

  • 1. Welcome to the world of micro-apps Combing microservices, smart use cases & web applications Sander Hoogendoorn | Quby | ditisagile.nl @aahoogendoorn | Welcome to the world of micro-apps Next
  • 2. Sander Hoogendoorn Independent dad, new agile coach, programmer, speaker, author, traveler Currently Chief Architect Quby Before CTO ANVA CTO Klaverblad Verzekeringen Global agile thoughtleader Capgemini sanderhoogendoorn.com aahoogendoorn aahoogendoorn sander@ditisagile.nl Next @aahoogendoorn | Welcome to the world of micro-apps
  • 3. Click here @aahoogendoorn | Welcome to the world of micro-apps
  • 4. Click here As a project manager…
  • 5. The Times They Are a-Changin' Much faster than you think @aahoogendoorn | Welcome to the world of micro-apps Continue
  • 6. Read more … Moore’s Law The number of transistors in a dense integrated circuit doubles approximately every two years.
  • 9. Read more … Amazon EC2 Then, in 2006, Amazon launched its Elastic Compute cloud (EC2) as a commercial web service that allows small companies and individuals to rent computers on which to run their own computer applications.
  • 10. About disruption @aahoogendoorn | Welcome to the world of micro-apps Read more …
  • 11. Complex problems require continuous exploration
  • 12. Click here How long did it take to reach 50 million users?
  • 13. More … Fintech challenges @aahoogendoorn | Welcome to the world of micro-apps
  • 14. Where software development went wrong Monoliths. Why we like them, Why we hate them @aahoogendoorn | Welcome to the world of micro-apps Continue
  • 15. Monolitths… Adding feature after feature @aahoogendoorn | Welcome to the world of micro-apps
  • 16. Read more … Advantages A single (layered) architecture A single technology stack A single code base maintained by multiple teams
  • 17. Read more … Disadvantages All parts are interconnected Many other systems are connected to your system Hard to change, hard to maintain Long time between releases, thereby increasing risks Slow innovation Hard to move to newer technologies Doesn’t scale very well
  • 18. Click here Dependencies will kill you every time
  • 22. Enter microservices The world of small component that do one thing only @aahoogendoorn | Welcome to the world of micro-apps Continue
  • 23. Click here In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Martin Fowler Microservices @aahoogendoorn | Welcome to the world of micro-apps
  • 24. Promises and challenges Of building microservices @aahoogendoorn | Welcome to the world of micro-apps Continue
  • 25. Read more … Promises Features not projects Scalable Decentralized governance High performance Easy to build Easy to test Replaceable parts Individually deployable Technology independent Polyglot persistence
  • 26. Micro-applications Building a single application versus building micro-applications @aahoogendoorn | Welcome to the world of micro-apps
  • 27. Click here Given sufficient time any group of programmers will decide to rewrite the code.Ron Lunde @aahoogendoorn | Welcome to the world of micro-apps Lunde’s Law
  • 31. Click here In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Martin Fowler Microservices @aahoogendoorn | Welcome to the world of micro-apps
  • 32. Product Order Customer Credit card Vendor A single application? Web ordering system
  • 33. Click here Low availability of “resources”
  • 34. What if we would build applications with similar characteristics as services? @aahoogendoorn | Welcome to the world of micro-apps
  • 35. Click here In short, the microservice architectural style is an approach to developing a suite of small apps, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These micro-apps are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these apps, which may be written in different programming languages and use different data storage technologies. Martin Fowler Micro-apps? @aahoogendoorn | Welcome to the world of micro-apps
  • 36. Business process (at kite level) Select Product Select Product Show Cart Check out Cart Register Client Register CC Show Order Product Order Customer CC Vendor Apps, workers and microservices Validate CC Confirm Order (email)
  • 37. Read more … Benefits A landscape of micro-apps Micro-apps are built around a single business capability Easy to build East to test Deploy individually Allows for frequent change without regression Functional reuse Allows for front end tech to evolve
  • 38. Optimize for small changes @aahoogendoorn | Welcome to the world of micro-apps
  • 39. Monolithical speed of change Monolith 1.0 Monolith 2.0 Monolith 3.0 Q1 Q2 Q3
  • 41. Microservice speed of change Account 1.0 Product 1.0 Order 1.0 Doc 1.0 Account 20 Account 3.0 Account 4.0 Product 2.0 Product 3.0 Product 4.0 Product 5.0 Product 6..0 Order 2.0 Order 3.0 Doc 2.0 Doc 3.0 Q1 Q2 Q3
  • 45. Read more … Challenges How to model requirements? How to break up the single app? What does the architecture look like? How to handle communication between micro-apps and services? How to unify the user interface? How to handle navigation? What can a micro-app API look like?
  • 46. Click here Lessons learned Pick your guiding principles @aahoogendoorn | Welcome to the world of micro-apps
  • 47. Read more … Guiding principles We implement business processes We move towards a systems landscape consisting of micro- applications and microservices Requirements are modeled (in smart use cases) Micro-applications implement a single elementary business process step Micro-applications and microservices all have their own bounded context
  • 48. Read more … Guiding principles Micro-applications do not have storage, and only talk to other micro-applications and microservices Microservices have their own storage (in MongoDB), and only talk to other microservices Communication uses a simple open protocol – JSON on REST We avoid transactions as much as possible
  • 49. Click here Lessons learned Identify products and features @aahoogendoorn | Welcome to the world of micro-apps
  • 50. Different levels of granularity Fish Clam Purpose Product Feature Function Too low Cloud Kite Sea Cloud Kite Sea OTOPOP
  • 52. Click here Smart use cases - microservices
  • 53. Click here Smart use cases – micro-app
  • 54. Click here Lessons learned Apply an evolutionary architecture @aahoogendoorn | Welcome to the world of micro-apps
  • 55. Click here It is not the strongest of the architectures that survives, nor the most complex that survives. It is the one that is most adaptable to change. Charles Darwin @aahoogendoorn | Welcome to the world of micro-apps Evolutionary architecture
  • 56. Service interface Process Domain Data / Services Outside world Resources Representations Use cases Flow Factories, Repositories Entities, Enums, Value objects Gateways StorageRelations Dossiers Intermediaries Storage
  • 59. User interface Process Domain Data / Services Outside world Pages, WebComponents Grids, Panels, Controls Use cases Flow Factories, Repositories Entities, Enums, Value objects Gateways StorageRelations Dossiers Intermediaries Storage
  • 64. Click here Lessons learned Separate concerns with bounded contexts @aahoogendoorn | Welcome to the world of micro-apps
  • 66. Read more … Domain driven design The paradigm of designing software based on models of the underlying domain The domain model helps the business and the developers to reason about the functionality A model needs to be unified – internally consistent without contradictions The bounded context is a central pattern in domain driven design
  • 67. Click here When you model larger domains, it becomes progressively harder to create this single unified model Instead of creating a single unified model, you create several, all valid within their bounded context Eric Evans Bounded contexts @aahoogendoorn | Welcome to the world of micro-apps
  • 68. The single unified domain model Product Vendor Stock Order Client Delivery Payment
  • 73. Click here Lessons learned Avoid point-to-point contracts @aahoogendoorn | Welcome to the world of micro-apps
  • 74. Click here Communcation breakdown Presentation Process Domain Services Outside world Pages Grids, Panels, Controls Use cases Flow Factories, Repositories Entities, Enums, Value objects Gateways ComponentsRelations Dossiers Intermediaries RatesAccounts Service interface Process Domain Data / Services Outside world Resources Representations Use cases Flow Factories, Repositories Entities, Enums, Value objects Gateways StorageRelations Dossiers Intermediaries MongoDB Micro-app Microservice
  • 75. Point-to-point contracts Login { id: 42, firstname: Sander, lastname: H, city: Utrecht } { id, firstname, lastname, city } Account { id, firstname, lastname, city }
  • 76. Click here Be conservative in what you send, be liberal in what you acceptJon Postel Postel’s Law @aahoogendoorn | Welcome to the world of micro-apps
  • 77. Multiple consumers, same producer Account { id, firstname, lastname, city } Login { id, login, password } Manage user { id, firstname, lastname }
  • 78. Click here Even if you do own the services you consume, still design your consumers to treat your services as if they were from elsewhere and vice versa Sander Hoogendoorn @aahoogendoorn | Welcome to the world of micro-apps Hoogendoorn’s Law
  • 79. Click here Software entities (classes, modules, functions, microservices, JSON objects, API’s) should be open for extension, but closed for modificationBob Martin Open closed principle @aahoogendoorn | Welcome to the world of micro-apps
  • 80. Click here HTTP Status Codes Cheat Sheet 1**. Hold on 2**. Here you go 3**. Go away 4**. You fucked up 5**. I fucked up
  • 81. Click here Lessons learned Create RESTful API’s for your micro-apps @aahoogendoorn | Welcome to the world of micro-apps
  • 85. Click here Navigating micro-apps. Entering https://integratie.anva.live/home/#/Home Home Home Change Password Reset Password Manage Account Find Account Manage Account Find Contact Manage Contact Manage Contact View Contact Flows
  • 86. Angular takes care of the routing @aahoogendoorn | Welcome to the world of micro-apps
  • 87. A use case @aahoogendoorn | Welcome to the world of micro-apps
  • 88. A use case layer supertype (Step) @aahoogendoorn | Welcome to the world of micro-apps
  • 89. Click here Navigating micro-apps. From use case to use case Home Home Change Password Reset Password Manage Account Find Account Manage Account Find Contact Manage Contact Manage Contact View Contact Flows https://integratie.anva.live/managecontact/#/FindContact Flows.start(Flow.FindContact)
  • 90. A list of use cases (Flow)
  • 91. A use case provider (Flows)
  • 92. Navigating use cases @aahoogendoorn | Welcome to the world of micro-apps
  • 93. Click here Navigating micro-apps. Finishing a use case Flows.ok(this.contact.id) https://integratie.anva.live/home/#/Home?c=Cancel&backFrom=managecontact.FindContact Home Home Change Password Reset Password Manage Account Find Account Manage Account Find Contact Manage Contact Manage Contact View Contact Flows
  • 94. Going back @aahoogendoorn | Welcome to the world of micro-apps
  • 95. Click here In retrospective Some final thoughts @aahoogendoorn | Welcome to the world of micro-apps
  • 96. Read more … Why micro-apps? All the benefits from “regular” microservices Easy to build Easy to test Flexible and frequent deployment of individual micro-apps Easy application of domain driven design Replaceable apps Allows for evolving technology
  • 97. Never stop learning Continue @aahoogendoorn | Welcome to the world of micro-apps
  • 98. And never forget to have fun @aahoogendoorn | Welcome to the world of micro-apps Next