Classification: Public
MICRO-FRONTENDS
IN THE CLOUD
From theory to practice
Classification: Public
WAQAS ALI
• Senior Cloud Software Engineer @
Maersk
• Write cloud native applications.
• Like to work with front-end especially
ReactJS.
• Loves TDD
• Family Guy
• Love to spend time with my family
• Play computer games
Waqas_ali47 https://www.linkedin.com/in/waqasali47/https://waqasali.me/
Classification: Public
AGENDA
Intro
The Framework
Intro to Demo Application
Code samples
Creating a Micro-frontend app together
Learning resources
Wrap up
Classification: Public
THE
PROBLEM
You made a fix on front end and you want to
release is ASAP.
When you are about to release, someone from
your teams sends you a message. Which says, We
have made a fix as well but that is not approved to
go to production. So please don’t release anything
yet.
What would you do ?
Classification: Public
WEB DEVELOPMENT
TIMELINE
Monolith
Frontend &
Backend
Microservices
Classification: Public
THE
MONOLITHIC
APP
Application UI
BusinessLogic
The Monolithic App
Classification: Public
THE SPLIT
Frontend
Application UI
BusinessLogic
Backend
Classification: Public
MICROSERVICES
Application UI
BusinessLogic
Frontend
Microservice
Classification: Public
THE FRONT-END
MONOLITH
Application UI
BusinessLogic
Frontend
Microservice
Classification: Public
THE FRONT-END MONOLITH
Difficult to maintain for
big teams.
Multiple merge
conflicts.
One architecture must
fit all
Code base gets more
and more complicated
Classification: Public
MICRO
FRONT-ENDS
Adapting the microservices approach in the front-end
smaller, more cohesive and maintainable codebases
more scalable organisations with decoupled, autonomous teams
Independently write different part of application
Independent releases
Be Technology Agnostic
Classification: Public
MICRO FRONT-
ENDS
BusinessLogic
Frontend A
BusinessLogic
Frontend B
BusinessLogic
Frontend C
BusinessLogic
Frontend D
Vertical Splits
Classification: Public
MICRO FRONT-
ENDS
Micro Front-end
A
Micro front-
end B
Micro front-
end C
Micro front-
end C
Example Page
Horizontal Splits
Header
Footer
Micro front-
end C
Classification: Public
INTRODUCING PIRAL
Cloud Ready MIT Licensed High Convenience Great Performance Tooling first Data-Driven
Classification: Public
CONCEPTS
App Shell or Piral
Instance
Pilets
Classification: Public
APP SHELL
includes shared components that can be
used by pilets
brings the overall design of the application
(e.g., header, footer, navigation, ...)
defines how pilets are loaded and where
pilets can integrate their components
Classification: Public
PILET
brings the content for the application (e.g.,
functionality, queries and mutations, ...)
include their own assets and dedicated
dependencies
define where they want to integrate their
components into (as given by the Piral
instance)
Classification: Public
OVERVIEW
Module developer uses piral-cli to
build pilets.
Feed service is responsible to
serving pilets.
Piral Instance is responsible for
serving pilets from feed service.
Img: piral.io
Classification: Public
DEMO
APPLICATION
Classification: Public
ARCHITECTURE
Github Action
Static Website
Developer
Classification: Public
ARCHITECTURE PILET DEVELOPER
Feed Service Pilet Storage
Github Action
Developer
Classification: Public
APPLICATION ARCHITECTURE
Front-End
Feed Service
Pilet Storage
Pilets
Piral Instance
Static Website Storage
Classification: Public
THE
PROBLEM
You made a fix on front end and you want to
release is ASAP.
When you are about to release, someone from
your teams sends you a message. Which says, We
have made a fix as well but that is not approved to
go to production. So please don’t release anything
yet.
What would you do ?
Classification: Public
THE
SOLUTION
You just go ahead and
release your own fix.
You won’t step onto anyone
else’s toes.
Classification: Public
LEARNING RESOURCES
https://www.theurlist.com/micro-frontends
Classification: Public
REACH ME
Waqas_ali47
https://www.linkedin.com/in/waqasali47/
Classification: Public
THANK YOU!

Micro front ends