SlideShare uma empresa Scribd logo
1 de 51
Browser and Beyond @
Component Library
Development
Core Web Vitals
Production
Observability
Monitoring
Kaushal Anjali
Ankita
Apoorva
Faiza
Pallavi
Topics and Speakers
Kaushal
Anjali
Component library
A component library is an isolated cloud-based folder that consists of all the
designed/styled parts of a website or piece of software.
*
A common goal shared by all developers is to be able to design and develop
components that enable them to ship out their features
At redbus, we decided to create a reusable component library across the teams that
would aid developers in building UIs seamlessly and more efficiently.
*
*
Why Component Library?
1
1
1
2
Collaborate effectively with speed
Consistency in the UI
Reusability
Customization and Flexibility
1
2
3
4
Robust and Lesser Bugs
5
Atomic Design
● Multiple UI components that are isolated and reusable.
● Combining atoms to form Molecules, which can be combined to form organisms
and further, templates and pages.
Examples
Implementation Details
Tech stack for building the component library in-house consists of:
React + Typescript
Storybook
Styled components
Lerna
Courtesy: https://reactjs.org/, https://www.typescriptlang.org/, https://storybook.js.org/,
https://styled-components.com/, https://www.npmjs.com/package/lerna
f
Example
Conclusion
1
1
1
2
Next step
250+ components created
Used across multiple projects within redBus
~20 - 30% reduction in dev effort, timeline
Make components open source
1
2
3
4
100% componentisation
Open source component library updates
1
2
Open source Component Library - redBus Storybook
Open source code - Github Link
Use the Chrome Rendering Section:
Core Web Vitals
Ankita
Pallavi
● Web vitals is an initiative introduced by google
● Optimizing quality of user experience is key to
the success of your website
● Core Web vitals focuses on 3 main aspects :
Introduction
Courtesy: Web Vitals
CLS: Visual Stability
LCP: Loading Experience
FID: Interactivity
1
2
3
Use the Chrome Rendering Section:
Cumulative Layout Shift
What is CLS?
By definition, CLS is the movement of
page elements loaded on the page to
a different position from their existing
position due to some unexpected
factors.
I.e. Visual Stability of the page
What is a good CLS score?
To provide a good user experience, sites should strive to have a
CLS score of 0.1 or less.
*
Measuring the CLS score
Lighthouse - Chrome Dev Tools
Rendering Options
What are some CLS contributors?
Delay in loading relevant
CSS file , space is allocated
after browser starts
downloading the image
Advertisements
(Promotions/offers) ,
added at runtime
App installs,iFrame
injections, Third Party
content etc.
Component should not
be rendered based on
API response
Courtesy: Chrome Web Developers’ 2020 Summit,image showing the Cumulative Layout Shift (CLS) Reasons.
Optimizations
Before:
After:
Placeholders for banners at the top
and middle section of the page
Move components to the bottom of the
page such that they are not visible on
the initial load
Change up the animations/loaders
used on the page
2
Image Dimensions
1
3
4
Impact
Domain
Ranking
percentage
Date
Improved Domain Ranking/ SEO ranking
Improvements in TTI score. Quicker site
= greater chance of users converting
Provided a better user experience
1
2
3
Use the Chrome Rendering Section:
Largest Contentful Paint
What is LCP?
Courtesy: https://blockthrough.com/
LCP is measured
when the largest
element of a
webpage becomes
visible in the user’s
browser
The LCP element is
usually the hero
image or a large text
paragraph
What is a good LCP score?
To provide a good user experience, sites should have an LCP of
2.5sec or lesser
*
How can we measure the LCP score?
Lighthouse - Performance Tab PageSpeed Insights
Lighthouse - Chrome Dev Tools
What are some major LCP contributors?
Unoptimised Images
Courtesy:
1) Dominik Scythe on Unsplash
2) https://serverguy.com/
3) https://blog.duda.co/
Increased server response time
Render-blocking Resources
Optimizations
Courtesy: seo-hacker.com
Optimising Images
1
Preloading critical resources like fonts,
above the fold images, css and javascript
Using inline critical css and deferring non
critical resources
Making use of CDN, caching and service
worker
2
4
3
Use the Chrome Rendering Section:
First Input Delay
What is FID?
First Input Delay measures the interactivity
of your webpage.
Few Examples :
Courtesy of : Quantummetric
Choosing an option from a menu
Clicking on a link
Tapping on an accordion and it
opening up
1
2
3
What is a good FID score?
Your FID should happen within 100 milliseconds
*
Causes for Poor FID:
Long Tasks
Heavy Javascript Execution
Time
Large Javascript Bundles
Render Blocking JS
1
2
3
4
Courtesy: Chrome Web Developers’ 2020 Summit,image showing the FID Reasons.
Optimizations
Lazy loading JS chunks
Use of Web workers
Minifying CSS files
Deferring non-critical JS, third party
libraries
Optimize DOM size
1
5
4
3
2
Courtesy: https://moz.com/learn/seo/performance-metrics
Impact
Impact in loading time of PER/COL
mobile website by ~1.5-2 sec
Total block time was reduced from 1.2
sec to ~ 0.72 sec
Improvement in TTI of the page and
speed index of the page
1
2
3
Measuring Web Vitals
Lighthouse - Chrome Dev Tools
Rendering Options
Page Speed Insights
Observability
Observability
Apoorva
Faiza
E#E#ju4N8@Courtesy of KatieLingo
k$87ju4N8@k$87E#ju4N8@k$87
What is Observability?
An ‘observable’ system centralizes information and continuously monitors the system
to detect undesirable behaviours and lets debug production issues efficiently.
Why Observability?
Greater control over
complex systems.
Aids visibility in terms of
debugging and
performance tuning.
Real User Monitoring (RUM)
RUM captures real
user interaction on a
web browser to
quantify and
measure the
user experience
performance of the
application.
Distributed Tracing
Developer productivity.
Customizable data visualization.
Real User Monitoring - Impact
1
4
Visibility into user distribution to measure
performance.
2
Quick turnaround on issues before impacting
production.
3
Error Tracking
At redBus, we have error
dashboards to identify and
track down the errors.
Error Dashboard
How we track Errors ?
What caused the error?
Machine Learning (Anomaly Detection)
Spot anomalies according to
configuration using
unsupervised learning.
Data pulled from elastic search
for analysis and anomaly results
are displayed in Dashboards.
To determine when the request
rate on your web site drops
significantly.
ML Watcher Alert
Watcher alerts/notifies on scanning for recently created anomalies over a certain interval.
Anomaly Explorer
You can see an overall
score and shared
influencers for all the
metrics and all the
entities in the job
Observability Credits : ELK Stack
(ElasticSearch and Kibana)
Thank You
https://medium.com/redbus-in/engineering/home
https://github.com/redbus-labs/rbComponentLibrary
Browser and Beyond @ redBus
PART 2

Mais conteúdo relacionado

Mais procurados

White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app development
IBM Software India
 

Mais procurados (20)

ReactJS Vs React Native: Understanding Differences, Advantages, Disadvantages
ReactJS Vs React Native: Understanding Differences, Advantages, DisadvantagesReactJS Vs React Native: Understanding Differences, Advantages, Disadvantages
ReactJS Vs React Native: Understanding Differences, Advantages, Disadvantages
 
Javascript frameworks
Javascript frameworksJavascript frameworks
Javascript frameworks
 
React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why
 
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
 
React js vs angularjs which framework to choose in 2022_
React js vs angularjs  which framework to choose in 2022_React js vs angularjs  which framework to choose in 2022_
React js vs angularjs which framework to choose in 2022_
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL Overview
 
Android presentation slide
Android presentation slideAndroid presentation slide
Android presentation slide
 
Most recommended android app development frameworks for app development
Most recommended android app development frameworks for app developmentMost recommended android app development frameworks for app development
Most recommended android app development frameworks for app development
 
Why react native has become the winning choice for cross platform development
Why react native has become the winning choice for cross platform developmentWhy react native has become the winning choice for cross platform development
Why react native has become the winning choice for cross platform development
 
What do you need to know about g rpc on .net
What do you need to know about g rpc on .net What do you need to know about g rpc on .net
What do you need to know about g rpc on .net
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Why is flutter considered the best cross platform framework
Why is flutter considered the best cross platform frameworkWhy is flutter considered the best cross platform framework
Why is flutter considered the best cross platform framework
 
Get Codeigniter Developement Services From Us
 Get Codeigniter Developement Services From Us Get Codeigniter Developement Services From Us
Get Codeigniter Developement Services From Us
 
Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin  Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app development
 
Sravan Kumar Resume
Sravan Kumar ResumeSravan Kumar Resume
Sravan Kumar Resume
 
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
 
The Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfThe Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdf
 
Modern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design PatternsModern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design Patterns
 

Semelhante a Browser core red bus presentation

Web Performance Optimzation
Web Performance OptimzationWeb Performance Optimzation
Web Performance Optimzation
Alois Reitbauer
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
dominion
 

Semelhante a Browser core red bus presentation (20)

Browser core red bus presentation
Browser core red bus presentation Browser core red bus presentation
Browser core red bus presentation
 
Oshyn Best Practices For Sitecore CMS
Oshyn Best Practices For Sitecore CMSOshyn Best Practices For Sitecore CMS
Oshyn Best Practices For Sitecore CMS
 
Oshyn - Best Practices For Sitecore CMS
Oshyn - Best Practices For Sitecore CMSOshyn - Best Practices For Sitecore CMS
Oshyn - Best Practices For Sitecore CMS
 
Tom Bennet – BrightonSEO April 2016: Site Speed for content Marketers
Tom Bennet – BrightonSEO April 2016: Site Speed for content Marketers Tom Bennet – BrightonSEO April 2016: Site Speed for content Marketers
Tom Bennet – BrightonSEO April 2016: Site Speed for content Marketers
 
An Introduction to Pagespeed Optimisation
An Introduction to Pagespeed OptimisationAn Introduction to Pagespeed Optimisation
An Introduction to Pagespeed Optimisation
 
Brighton SEO - Site Speed for Content Marketers
Brighton SEO - Site Speed for Content MarketersBrighton SEO - Site Speed for Content Marketers
Brighton SEO - Site Speed for Content Marketers
 
Raybiztech Content Management Approach
Raybiztech Content Management ApproachRaybiztech Content Management Approach
Raybiztech Content Management Approach
 
Why do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdfWhy do we use react JS on the website_.pdf
Why do we use react JS on the website_.pdf
 
Core Web Vitals in Website Design.pdf
Core Web Vitals in Website Design.pdfCore Web Vitals in Website Design.pdf
Core Web Vitals in Website Design.pdf
 
Implementing Vanilla Web Components
Implementing Vanilla Web ComponentsImplementing Vanilla Web Components
Implementing Vanilla Web Components
 
Web designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lessonWeb designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lesson
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
IRJET- Polymer Javascript
IRJET- Polymer JavascriptIRJET- Polymer Javascript
IRJET- Polymer Javascript
 
Best practices to increase the performance of web-based applications
Best practices to increase the performance of web-based applicationsBest practices to increase the performance of web-based applications
Best practices to increase the performance of web-based applications
 
Web Performance Optimzation
Web Performance OptimzationWeb Performance Optimzation
Web Performance Optimzation
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
 

Último

Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 

Browser core red bus presentation

  • 2. Component Library Development Core Web Vitals Production Observability Monitoring Kaushal Anjali Ankita Apoorva Faiza Pallavi Topics and Speakers
  • 4. Component library A component library is an isolated cloud-based folder that consists of all the designed/styled parts of a website or piece of software. * A common goal shared by all developers is to be able to design and develop components that enable them to ship out their features At redbus, we decided to create a reusable component library across the teams that would aid developers in building UIs seamlessly and more efficiently. * *
  • 5. Why Component Library? 1 1 1 2 Collaborate effectively with speed Consistency in the UI Reusability Customization and Flexibility 1 2 3 4 Robust and Lesser Bugs 5
  • 6. Atomic Design ● Multiple UI components that are isolated and reusable. ● Combining atoms to form Molecules, which can be combined to form organisms and further, templates and pages.
  • 8. Implementation Details Tech stack for building the component library in-house consists of: React + Typescript Storybook Styled components Lerna Courtesy: https://reactjs.org/, https://www.typescriptlang.org/, https://storybook.js.org/, https://styled-components.com/, https://www.npmjs.com/package/lerna
  • 10. Conclusion 1 1 1 2 Next step 250+ components created Used across multiple projects within redBus ~20 - 30% reduction in dev effort, timeline Make components open source 1 2 3 4 100% componentisation Open source component library updates 1 2
  • 11. Open source Component Library - redBus Storybook
  • 12. Open source code - Github Link
  • 13. Use the Chrome Rendering Section: Core Web Vitals Ankita Pallavi
  • 14. ● Web vitals is an initiative introduced by google ● Optimizing quality of user experience is key to the success of your website ● Core Web vitals focuses on 3 main aspects : Introduction Courtesy: Web Vitals CLS: Visual Stability LCP: Loading Experience FID: Interactivity 1 2 3
  • 15. Use the Chrome Rendering Section: Cumulative Layout Shift
  • 16. What is CLS? By definition, CLS is the movement of page elements loaded on the page to a different position from their existing position due to some unexpected factors. I.e. Visual Stability of the page
  • 17. What is a good CLS score? To provide a good user experience, sites should strive to have a CLS score of 0.1 or less. *
  • 18. Measuring the CLS score Lighthouse - Chrome Dev Tools Rendering Options
  • 19. What are some CLS contributors? Delay in loading relevant CSS file , space is allocated after browser starts downloading the image Advertisements (Promotions/offers) , added at runtime App installs,iFrame injections, Third Party content etc. Component should not be rendered based on API response Courtesy: Chrome Web Developers’ 2020 Summit,image showing the Cumulative Layout Shift (CLS) Reasons.
  • 20. Optimizations Before: After: Placeholders for banners at the top and middle section of the page Move components to the bottom of the page such that they are not visible on the initial load Change up the animations/loaders used on the page 2 Image Dimensions 1 3 4
  • 21. Impact Domain Ranking percentage Date Improved Domain Ranking/ SEO ranking Improvements in TTI score. Quicker site = greater chance of users converting Provided a better user experience 1 2 3
  • 22. Use the Chrome Rendering Section: Largest Contentful Paint
  • 23. What is LCP? Courtesy: https://blockthrough.com/ LCP is measured when the largest element of a webpage becomes visible in the user’s browser The LCP element is usually the hero image or a large text paragraph
  • 24. What is a good LCP score? To provide a good user experience, sites should have an LCP of 2.5sec or lesser *
  • 25. How can we measure the LCP score? Lighthouse - Performance Tab PageSpeed Insights Lighthouse - Chrome Dev Tools
  • 26. What are some major LCP contributors? Unoptimised Images Courtesy: 1) Dominik Scythe on Unsplash 2) https://serverguy.com/ 3) https://blog.duda.co/ Increased server response time Render-blocking Resources
  • 27. Optimizations Courtesy: seo-hacker.com Optimising Images 1 Preloading critical resources like fonts, above the fold images, css and javascript Using inline critical css and deferring non critical resources Making use of CDN, caching and service worker 2 4 3
  • 28. Use the Chrome Rendering Section: First Input Delay
  • 29. What is FID? First Input Delay measures the interactivity of your webpage. Few Examples : Courtesy of : Quantummetric Choosing an option from a menu Clicking on a link Tapping on an accordion and it opening up 1 2 3
  • 30. What is a good FID score? Your FID should happen within 100 milliseconds *
  • 31. Causes for Poor FID: Long Tasks Heavy Javascript Execution Time Large Javascript Bundles Render Blocking JS 1 2 3 4 Courtesy: Chrome Web Developers’ 2020 Summit,image showing the FID Reasons.
  • 32. Optimizations Lazy loading JS chunks Use of Web workers Minifying CSS files Deferring non-critical JS, third party libraries Optimize DOM size 1 5 4 3 2 Courtesy: https://moz.com/learn/seo/performance-metrics
  • 33. Impact Impact in loading time of PER/COL mobile website by ~1.5-2 sec Total block time was reduced from 1.2 sec to ~ 0.72 sec Improvement in TTI of the page and speed index of the page 1 2 3
  • 34. Measuring Web Vitals Lighthouse - Chrome Dev Tools Rendering Options Page Speed Insights
  • 36. E#E#ju4N8@Courtesy of KatieLingo k$87ju4N8@k$87E#ju4N8@k$87 What is Observability? An ‘observable’ system centralizes information and continuously monitors the system to detect undesirable behaviours and lets debug production issues efficiently.
  • 37. Why Observability? Greater control over complex systems. Aids visibility in terms of debugging and performance tuning.
  • 38. Real User Monitoring (RUM) RUM captures real user interaction on a web browser to quantify and measure the user experience performance of the application.
  • 39.
  • 41. Developer productivity. Customizable data visualization. Real User Monitoring - Impact 1 4 Visibility into user distribution to measure performance. 2 Quick turnaround on issues before impacting production. 3
  • 42.
  • 43. Error Tracking At redBus, we have error dashboards to identify and track down the errors.
  • 45. How we track Errors ?
  • 46. What caused the error?
  • 47. Machine Learning (Anomaly Detection) Spot anomalies according to configuration using unsupervised learning. Data pulled from elastic search for analysis and anomaly results are displayed in Dashboards. To determine when the request rate on your web site drops significantly.
  • 48. ML Watcher Alert Watcher alerts/notifies on scanning for recently created anomalies over a certain interval.
  • 49. Anomaly Explorer You can see an overall score and shared influencers for all the metrics and all the entities in the job Observability Credits : ELK Stack (ElasticSearch and Kibana)
  • 51. Browser and Beyond @ redBus PART 2

Notas do Editor

  1. This is the speaker notes
  2. This is the speaker notes
  3. This is the speaker notes
  4. this is speaker notes
  5. This is the speaker notes
  6. This is the speaker notes