Introduction To
Micro
Frontends
We All Want To Work With
The Newest Technology
Meitar Karas
 Team Lead @ CyberArk
Technology Lover
What Are We Going To Talk
About?
 Motivation
 What is Micro Frontends?
 How to implement Micro Frontends?
 CyberArk proprietary solution
 Challenges
 Pros/Cons in Micro Frontends architecture
2013
20132016 2015
2015
Revolution
Frontend Teams are
getting bigger
dav the Frontend Ninja Client Team
riel the Backend Ninja Backend Team
API
Functional teams
Cross Functional
Teams
Microservices
Cross Functional
Teams
Web Architecture
Request
Monitoring
Accounts
Front-End Monolith
Gated API Server Side
The Monolith
Approach
Long deployment cycle
Single CI/CD operation
Single codebase
Easy and quick setup
Long build time
Don’t support our organization structure
Easy to share infrastructure
Great performance
We can’t change our technology stack
2016
Microfrontends Architecture
Integration via
composition
ple components have to integrate due to the desire
`
`
`
Left Navigation Bar Team
Grid Team Top Bar Team
Header Team
Split into multiple pages or multiple SPAs, where each team
takes care of a page or a collection of pages, and there is no
integration on page level between teams
Integration by links
Monitoring Team
Accounts Team
Request team
``
How To Implement Micro
Frontend Architecture
Server side composition
Server side composition
Web Components
A standard component model for the Web,
consisting of several pieces
maintained in different places
Word count
Single-SPA
Build micro frontends that coexist and
can each be written with their own
framework.
Single-SPA
single-spa-angularjs
single-spa-angular
single-spa-angular-cli
single-spa-cycle
single-spa-ember
single-spa-inferno
single-spa-preact
single-spa-react
single-spa-svelte
single-spa-vue
Supported Frameworks
Iframes
Iframes
Iframe offers the simplest option which is
also supported by all browsers. Each
Iframe simply needs the endpoint URL and
the content is loaded from that URL
http://www.cyberark.com
http://www.cyberark.com/innerIframe
http://www.cyberark.com
Iframes
http://www. differentdomain.com/innerIframe
Don’t Use Non Friendly
Iframes
 CORS issues
 inject malicious code as an
iframe
 Clickjacking
Clickjacking
CyberArk proprietary solution
canSeeClientApplication()
true
getApplicationBundle()
Shell Server Application Server
CyberArk proprietary solution
 Based on friendly Iframes
 Shell Utils
 Communication between iframes
 Based on Injection objects on the iframe
window
export const methodsList = [
log,
alert,
freeze,
unfreeze,
updateShellUrl,
showFeedbackFloatingMessage,
showFeedbackMessage,
resetFeedBackMessage,
removeFloatingFeedBackMessage
];
Shell Utils
Application Life Cycle
• onCreate
• onStart
• onPause
• onResume
• onStop
• onDestroy
Challenges
Shell Code, Vanilla or
Framework?
Login
Dedicated Team
Performance
The Micro Frontend
Approach
Reduce time to market- release new features very quickly
Short build time
Complex CI/CD
Easy to share infrastructure- if you do it the right way
Team Autonomy – Technology and deployment
Maintaining consistency- Communication
Between apps is complex
Code consistency
Stop the breaking changes
Load time
Micro Frontends ===
The MicroFrontend
Approach
Short deployment cycles
Short build time
Easy and quick setup
Complex CI/CD
Easy to share infrastructure- if you do it the right way
Great performance- Can scale only what I need
Team Autonomy – Technology and deployment
Maintaining consistency- Communication
Between apps is complex
Code consistency
Thank you!

Introduction To Micro Frontends