SlideShare a Scribd company logo
1 of 24
Download to read offline
0
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 0
Cloud-native Gerrit
Luca Milanesio
Gerrit Code Review Maintainer
1
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 1
About GerritForge
Founded in
the UK
HQ in London with
presence in Europe and
the USA (GerritForge Inc.)
Committed to
OpenSource
and to Gerrit
Code Review
since 2009
2
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 2
GerritForge’s mission
Our 2021 goal is:
Cloud-native Gerrit
3
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 3
Cloud-native: agenda
• What cloud-native means
• Roadmap to cloud-native Gerrit
• Benefits
• Risks
• Pitfalls
• Demo
• Are you going cloud-native?
• Q&A
4
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 4
Cloud-native: what is that?
Cloud native computing is an approach in software
development that utilizes cloud computing to "build and run
scalable applications in modern, dynamic environments
such as public, private, and hybrid clouds". Technologies
such as containers, microservices, serverless functions
and immutable infrastructure, deployed via declarative
code are common elements of this architectural style.
Source: https://en.wikipedia.org/wiki/Cloud_native_computing
5
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 5
Cloud-native: is that good or bad for Gerrit?
Scalability
Elasticity
Geo-distribution
CDN
Low-latency
Disposable Infra
Easier B2B
No physical infra
Lack of CPU / Mem
Limited throughput
Host instability
Storage is expensive
6
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 6
Gerrit Code Review the road to the cloud
7
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 7
Stage-0 : componentization
2015
8
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 8
Stage-1 : HA and zero-downtime
2016
9
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 9
Stage-2 : Gerrit on NoteDb
2018
10
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 10
Stage-3 : K8s-Gerrit w/ Gardener (by SAP)
2018
11
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 11
Stage-4 : Gerrit multi-site
2019
12
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 12
Stage-5 : AWS-Gerrit – immutable and scalable
2020
13
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 13
Gerrit Events
Stage-6 : Gerrit goes with Serverless integrations
2021
Global ref-db
DNS and load
balancing
Observability & Alerts
14
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 14
Cloud-native Gerrit : benefits
Business focus
1. Common solutions to common problems
DNS Geolocation policies, Load-balancing, Logs collection,
Alerts and Monitoring, Elastic scalability
2. Skills availability
AWS and Google Cloud knowledge is widespread
3. Company and industry standards
X.509 and DNS management, Security and Hardening
15
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 15
Cloud-native Gerrit : risks
16
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 16
Cloud-native Gerrit : risks
Some of the recent Cloud and CDN failures
8 Jun 2021
1 Apr 2021
25 Nov 2020
14 Dec 2020
17
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 17
Cloud-native Gerrit : risks
Losing control
1. Understand the technologies you use
Team upskill, read logs, troubleshoot common problems
2. Multi-cloud
Put a DR site on a different cloud, prevent global disaster
3. Allow fallbacks
Design for soft-failures and fallbacks of any dependent service
18
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 18
Cloud-native Gerrit : pitfalls
1. Cloud is NOT necessarily cheaper than on-prem infrastructure
(see https://a16z.com/2021/05/27/cost-of-cloud-paradox-market-cap-cloud-lifecycle-scale-growth-repatriation-optimization/)
2. Do not oversize the instance types
Better having *more* smaller and cheaper instances
3. Optimize cache vs. I/O throughput
Memory is way cheaper than disk throughput in the Cloud
(see EFS pricing at https://aws.amazon.com/efs/pricing/)
4. Use more than one availability zone, *always*
Entire availability zones *may* and *do fail*
5. Ban Git/SSH, Gerrit SSH commands, SSH/stream-events
SSH is stateful, difficult to trace, redirect, scale-up: *DO NOT USE IT*
6. Use auto-scaling for Gerrit read-only replicas
19
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 19
Real-life cloud-native Gerrit multi-site / AWS
Gerrit daemon
events-broker
libModule
global-refdb
libModule
replication
plugin
pull-replication
plugin
dynamodb-refdb
plugin
events-kinesis
plugin
websession-broker
plugin
Metrics-reporter-cloudwatch
plugin
healthcheck
plugin
20
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 20
Real-life cloud-native Gerrit multi-site / AWS
DEMO
21
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 21
Gerrit multi-site with GCloud Pub/Sub events
DEMO
22
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 22
Q&A: are you planning to go cloud-native?
Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
23
Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 23
Wants to know more?
GerritForge.com/contact

More Related Content

What's hot

Git- Fast version control system
Git- Fast version control systemGit- Fast version control system
Git- Fast version control system
Akhil Bansal
 

What's hot (20)

Jenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelinesJenkins plugin for Gerrit Code Review pipelines
Jenkins plugin for Gerrit Code Review pipelines
 
Diffy gets enterprise grade
Diffy gets enterprise gradeDiffy gets enterprise grade
Diffy gets enterprise grade
 
From shipping rpms to helm charts - Lessons learned and best practices
From shipping rpms to helm charts - Lessons learned and best practicesFrom shipping rpms to helm charts - Lessons learned and best practices
From shipping rpms to helm charts - Lessons learned and best practices
 
SW360 Update Tooling Telco
SW360 Update Tooling TelcoSW360 Update Tooling Telco
SW360 Update Tooling Telco
 
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
12th Meeting OpenChain Reference Tooling Work Group - 25th March - Slides
 
Git- Fast version control system
Git- Fast version control systemGit- Fast version control system
Git- Fast version control system
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
 
Git - Boost Your DEV Team Speed and Productivity
Git - Boost Your DEV Team Speed and ProductivityGit - Boost Your DEV Team Speed and Productivity
Git - Boost Your DEV Team Speed and Productivity
 
Containers and Kubernetes without limits
Containers and Kubernetes without limitsContainers and Kubernetes without limits
Containers and Kubernetes without limits
 
Putting data science to work
Putting data science to workPutting data science to work
Putting data science to work
 
[HCM-August 13] Tech Talk on Git: Use Git to Boost Your Dev Team's Speed and ...
[HCM-August 13] Tech Talk on Git: Use Git to Boost Your Dev Team's Speed and ...[HCM-August 13] Tech Talk on Git: Use Git to Boost Your Dev Team's Speed and ...
[HCM-August 13] Tech Talk on Git: Use Git to Boost Your Dev Team's Speed and ...
 
So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?
 
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesioGeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
GeeCon Prague 2018: @SpringCloud @Docker @kubernetesio
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
GitOps w/argocd
GitOps w/argocdGitOps w/argocd
GitOps w/argocd
 
Whether you should migrate to git
Whether you should migrate to gitWhether you should migrate to git
Whether you should migrate to git
 
Thomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLabThomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLab
 
From Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet ProtocolFrom Copycat Codelets to an AI Market Internet Protocol
From Copycat Codelets to an AI Market Internet Protocol
 
CNCF: Cross-cloud CI v1.0.0 Dashboard Release 2018-01-26
CNCF: Cross-cloud CI v1.0.0 Dashboard Release 2018-01-26CNCF: Cross-cloud CI v1.0.0 Dashboard Release 2018-01-26
CNCF: Cross-cloud CI v1.0.0 Dashboard Release 2018-01-26
 

Similar to Cloud-native Gerrit Code Review

Similar to Cloud-native Gerrit Code Review (20)

Service Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaS
Service Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaSService Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaS
Service Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaS
 
Http Services in Rust on Containers
Http Services in Rust on ContainersHttp Services in Rust on Containers
Http Services in Rust on Containers
 
The rise of microservices
The rise of microservicesThe rise of microservices
The rise of microservices
 
Flux is incubating + the road ahead
Flux is incubating + the road aheadFlux is incubating + the road ahead
Flux is incubating + the road ahead
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
 
Daimler’s Community Approach to TAS Platform Monitoring
Daimler’s Community Approach to TAS Platform MonitoringDaimler’s Community Approach to TAS Platform Monitoring
Daimler’s Community Approach to TAS Platform Monitoring
 
Kubernetes Cheatsheet
Kubernetes CheatsheetKubernetes Cheatsheet
Kubernetes Cheatsheet
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
Enterprise Cloud Native is the New Normal
Enterprise Cloud Native is the New NormalEnterprise Cloud Native is the New Normal
Enterprise Cloud Native is the New Normal
 
Go for Operations
Go for OperationsGo for Operations
Go for Operations
 
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using TendermintDeploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
 
Die große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeDie große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-Hitparade
 
CodiLime Tech Talk - Wojciech Urbański: Cloud Native
CodiLime Tech Talk - Wojciech Urbański: Cloud NativeCodiLime Tech Talk - Wojciech Urbański: Cloud Native
CodiLime Tech Talk - Wojciech Urbański: Cloud Native
 
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
 
2022: 6 Cloud-Native App Development Trends to Transform Your Business
2022: 6 Cloud-Native App Development Trends to Transform Your Business2022: 6 Cloud-Native App Development Trends to Transform Your Business
2022: 6 Cloud-Native App Development Trends to Transform Your Business
 
A Hitchhiker's Guide to Enterprise Microservices with Go
A Hitchhiker's Guide to Enterprise Microservices with GoA Hitchhiker's Guide to Enterprise Microservices with Go
A Hitchhiker's Guide to Enterprise Microservices with Go
 
Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond
Disruptive Technology Trends - Cloud, Mobile, IoT and BeyondDisruptive Technology Trends - Cloud, Mobile, IoT and Beyond
Disruptive Technology Trends - Cloud, Mobile, IoT and Beyond
 
Kubernetes für Workstations Edge und IoT Devices
Kubernetes für Workstations Edge und IoT DevicesKubernetes für Workstations Edge und IoT Devices
Kubernetes für Workstations Edge und IoT Devices
 
GIDS_what does_cloud-native_mean_anyway?
GIDS_what does_cloud-native_mean_anyway?GIDS_what does_cloud-native_mean_anyway?
GIDS_what does_cloud-native_mean_anyway?
 

More from Luca Milanesio

More from Luca Milanesio (20)

Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3Gerrit Code Review v3.2 and v3.3
Gerrit Code Review v3.2 and v3.3
 
ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3ChronicleMap non-blocking cache for Gerrit v3.3
ChronicleMap non-blocking cache for Gerrit v3.3
 
Gerrit User Summit 2018 - Keynote
Gerrit User Summit 2018 - Keynote Gerrit User Summit 2018 - Keynote
Gerrit User Summit 2018 - Keynote
 
Gerrit User Summit 2017 Keynote
Gerrit User Summit 2017 KeynoteGerrit User Summit 2017 Keynote
Gerrit User Summit 2017 Keynote
 
How to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issuesHow to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issues
 
Jenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle TimeJenkins Pipeline on your Local Box to Reduce Cycle Time
Jenkins Pipeline on your Local Box to Reduce Cycle Time
 
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code ReviewJenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code Review
 
Stable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code ReviewStable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code Review
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review Analytics
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review Upgrade
 
Speed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData AnalyticsSpeed up Continuous Delivery with BigData Analytics
Speed up Continuous Delivery with BigData Analytics
 
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsDevoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
 
Gerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerGerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and Docker
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, future
 
Gerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-deliveryGerrit jenkins-big data-continuous-delivery
Gerrit jenkins-big data-continuous-delivery
 
Is TDD dead or alive?
Is TDD dead or alive?Is TDD dead or alive?
Is TDD dead or alive?
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
Gerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyGerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and Groovy
 
Jenkins User Conference - Continuous Delivery on Mobile
Jenkins User Conference - Continuous Delivery on MobileJenkins User Conference - Continuous Delivery on Mobile
Jenkins User Conference - Continuous Delivery on Mobile
 
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForgeMobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
Mobile Application Lifecycle with Jekins, Trello and CollabNet TeamForge
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Cloud-native Gerrit Code Review

  • 1. 0 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 0 Cloud-native Gerrit Luca Milanesio Gerrit Code Review Maintainer
  • 2. 1 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 1 About GerritForge Founded in the UK HQ in London with presence in Europe and the USA (GerritForge Inc.) Committed to OpenSource and to Gerrit Code Review since 2009
  • 3. 2 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 2 GerritForge’s mission Our 2021 goal is: Cloud-native Gerrit
  • 4. 3 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 3 Cloud-native: agenda • What cloud-native means • Roadmap to cloud-native Gerrit • Benefits • Risks • Pitfalls • Demo • Are you going cloud-native? • Q&A
  • 5. 4 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 4 Cloud-native: what is that? Cloud native computing is an approach in software development that utilizes cloud computing to "build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds". Technologies such as containers, microservices, serverless functions and immutable infrastructure, deployed via declarative code are common elements of this architectural style. Source: https://en.wikipedia.org/wiki/Cloud_native_computing
  • 6. 5 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 5 Cloud-native: is that good or bad for Gerrit? Scalability Elasticity Geo-distribution CDN Low-latency Disposable Infra Easier B2B No physical infra Lack of CPU / Mem Limited throughput Host instability Storage is expensive
  • 7. 6 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 6 Gerrit Code Review the road to the cloud
  • 8. 7 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 7 Stage-0 : componentization 2015
  • 9. 8 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 8 Stage-1 : HA and zero-downtime 2016
  • 10. 9 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 9 Stage-2 : Gerrit on NoteDb 2018
  • 11. 10 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 10 Stage-3 : K8s-Gerrit w/ Gardener (by SAP) 2018
  • 12. 11 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 11 Stage-4 : Gerrit multi-site 2019
  • 13. 12 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 12 Stage-5 : AWS-Gerrit – immutable and scalable 2020
  • 14. 13 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 13 Gerrit Events Stage-6 : Gerrit goes with Serverless integrations 2021 Global ref-db DNS and load balancing Observability & Alerts
  • 15. 14 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 14 Cloud-native Gerrit : benefits Business focus 1. Common solutions to common problems DNS Geolocation policies, Load-balancing, Logs collection, Alerts and Monitoring, Elastic scalability 2. Skills availability AWS and Google Cloud knowledge is widespread 3. Company and industry standards X.509 and DNS management, Security and Hardening
  • 16. 15 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 15 Cloud-native Gerrit : risks
  • 17. 16 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 16 Cloud-native Gerrit : risks Some of the recent Cloud and CDN failures 8 Jun 2021 1 Apr 2021 25 Nov 2020 14 Dec 2020
  • 18. 17 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 17 Cloud-native Gerrit : risks Losing control 1. Understand the technologies you use Team upskill, read logs, troubleshoot common problems 2. Multi-cloud Put a DR site on a different cloud, prevent global disaster 3. Allow fallbacks Design for soft-failures and fallbacks of any dependent service
  • 19. 18 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 18 Cloud-native Gerrit : pitfalls 1. Cloud is NOT necessarily cheaper than on-prem infrastructure (see https://a16z.com/2021/05/27/cost-of-cloud-paradox-market-cap-cloud-lifecycle-scale-growth-repatriation-optimization/) 2. Do not oversize the instance types Better having *more* smaller and cheaper instances 3. Optimize cache vs. I/O throughput Memory is way cheaper than disk throughput in the Cloud (see EFS pricing at https://aws.amazon.com/efs/pricing/) 4. Use more than one availability zone, *always* Entire availability zones *may* and *do fail* 5. Ban Git/SSH, Gerrit SSH commands, SSH/stream-events SSH is stateful, difficult to trace, redirect, scale-up: *DO NOT USE IT* 6. Use auto-scaling for Gerrit read-only replicas
  • 20. 19 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 19 Real-life cloud-native Gerrit multi-site / AWS Gerrit daemon events-broker libModule global-refdb libModule replication plugin pull-replication plugin dynamodb-refdb plugin events-kinesis plugin websession-broker plugin Metrics-reporter-cloudwatch plugin healthcheck plugin
  • 21. 20 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 20 Real-life cloud-native Gerrit multi-site / AWS DEMO
  • 22. 21 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 21 Gerrit multi-site with GCloud Pub/Sub events DEMO
  • 23. 22 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 22 Q&A: are you planning to go cloud-native? Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
  • 24. 23 Virtual Gerrit Contributors Summit 2021 – On-line GerritForge.com 23 Wants to know more? GerritForge.com/contact