SlideShare a Scribd company logo
Go, go, kubernetes
Building a Kubernetes Powered Central Go
Modules Repository
Let’s go on a trip through
history
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
A quick history of go
Go 1.0
First major
milestone as a
long term stable
release
2012 2015
Go 1.5
First release to no longer
use C (except for cgo)
Support for Vendoring
2017
Go 1.8
Introduction of Go
plugins
2018
Go 1.10
Changes to the
toolchain,
runtime, and libs
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Dependency Management…
One thing missing
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
“Tis impossible to be sure of anything
but Death and Taxes”
- Christopher Bullock
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Official Dependency
Management
No more GOPATH In one single tool
So, what are modules?
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
In software Immutable and repeatable are really important
The best way to guarantee issues is force push
Immutable dependencies
Who doesn’t remember left-pad with Node.js?
Lost Dependencies
Do you trust your colleagues? What about the rest of the Internet?
Trust
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
• Developer Advocate
• Passionate about Serverless,
Containers, and all things
Cloud
• I love dadjokes, cheesecake
and APIs
Who am i?
@LeonStigter
Leon Stigter, Developer Advocate
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Slides LinksComments Ratings
shownotes
https://jfrog.com/shownotes
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
What is gocenter actually?#1
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
What is gocenter actually?
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
How we got to kubernetes#2
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Why did we choose
kubernetes?
• Make use of a proven
orchestration platform
• Leverage out-of-the-
box features
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Where could you start?
• Look at tutorials
• Think about a local dev
environment
• Managed Kubernetes!
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Most mature
Kubernetes
offering
Easy to deploy
using existing
tools and
techniques
Lots of
troubleshooting
tools like
BigQuery and
StackDriver
Running on google cloud platform
Most mature
Kubernetes
offering
Easy to deploy
using existing
tools and
techniques
Lots of
troubleshooting
tools like
BigQuery and
StackDriver
Running on google cloud platform
@LeonStigter | jfrog.com/shownotes | gocenter.io
1. Codebase
2. Dependencies
3. Config
4. Backing services
5. Build, release, run
6. Processes
7. Port binding
8. Concurrency
9. Disposability
10. Dev/Prod parity
11. Logs
12. Admin processes
Who needs state anyway?
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
But we didn’t build everything ourselves
Dependencies@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
• Helm Charts are versioned
• Separate value files per
environment
• Having one of the co-
founders of Helm at our
company also doesn’t hurt
Deployments using helm
Config@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Some other best practices we learned while building
Limits & Labels Secrets Namespaces &
Clusters
Portbinding, Concurrency
& Disposability@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
How we built our infrastructure#3
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
We’re big on those pipelines and promotions concepts
CI
SERVER
Integration System Testing
If quality
requirments are hit
If quality
requirments are hit
If quality
requirments are hit
Staging
- Quality gates -
Production
1 2 3 4
*
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Number of clusters
currently running
5Dev/Prod Parity@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Discovery Notifier Processor
Running a few microservices
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Validator UI Backend UI
Running a few microservices
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
This is what our cluster looks like
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Load testing
• UI: 10K users with 100
requests per second
• Backend: Load 10K
modules… twice
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Chaos engineering for the poor
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Running at scale#4
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Node pools, cause even nodes have to relax?
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Deployments using helm
Build, release, run
https://hub.helm.sh
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Keeping a close eye on
container health
• FluentD
• Prometheus
• Grafana
Live Dashboard
Logs@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Our containers might get a little lonely
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
We keep in touch with our nodes
Kube-Slack Jenkins
Logs & Build, release, run
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Scaling on many levels
Run more microservices
Compute
Scaling based on queue depth
Messaging
What goes up must come
down… usually
Up and Down
Provision nodes when needed
Node
Concurrency@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
• https://jfrog.com/shownotes
• @JFrog
• @LeonStigter Q&A
Some ads and Q&A
@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
Thank you!
See you next time, at

More Related Content

PPTX
GitLab 8.6 - Release Webcast
PDF
Mobile development with JBoss Tools
PPTX
Android instant app
PDF
Fastlane on Android 介紹
PDF
Instant app Intro
PDF
Going Reactive with Spring 5 & Project Reactor
PPTX
DevOps for Hackathons: DevOps without the Ops
PPTX
I/O 2019 android updates
GitLab 8.6 - Release Webcast
Mobile development with JBoss Tools
Android instant app
Fastlane on Android 介紹
Instant app Intro
Going Reactive with Spring 5 & Project Reactor
DevOps for Hackathons: DevOps without the Ops
I/O 2019 android updates

What's hot (20)

PPTX
React Native
PPTX
Android Jetpack - What's new
ODP
Mobile Backend Development with Ktor
ODP
Making Juice With GitHub
PDF
Intro To Meteor (Las Vegas Ruby User Group Talk)
PPTX
Kotlin in industry
PPTX
Intro to meteor
PPTX
Kotlin for android 2019
PDF
Git branching
PDF
Autoscaling event driven apps
PDF
How We Use GitHub
PDF
Dev objective2015 lets git together
PPTX
Branching Your Way to Low-Code Perfection
PDF
Developer cloud roadmap keynote
PDF
Transporting Data at Warp Speed: How to Connect Spring Boot Apps Quickly, Pow...
PPTX
PyBCN 2020
PDF
オープンデータを使った モバイルアプリ開発入門
PDF
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
PPTX
Compose UI
PDF
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...
React Native
Android Jetpack - What's new
Mobile Backend Development with Ktor
Making Juice With GitHub
Intro To Meteor (Las Vegas Ruby User Group Talk)
Kotlin in industry
Intro to meteor
Kotlin for android 2019
Git branching
Autoscaling event driven apps
How We Use GitHub
Dev objective2015 lets git together
Branching Your Way to Low-Code Perfection
Developer cloud roadmap keynote
Transporting Data at Warp Speed: How to Connect Spring Boot Apps Quickly, Pow...
PyBCN 2020
オープンデータを使った モバイルアプリ開発入門
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Compose UI
Paco van Beckhoven - Keeping your head cool with a serverless voice controlle...
Ad

Similar to Building a Kubernetes Powered Central Go Modules Repository (20)

PDF
Kubernetes Architecture - beyond a black box - Part 1
PPTX
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
PDF
Kubernetes extensibility: crd & operators
PDF
Kubernetes extensibility: CRDs & Operators
PDF
Craig Box (Google) - The road to Kubernetes 1.0
PPTX
Highly available nodejs
PDF
Lunar Way and the Cloud Native "stack"
PDF
kubernetes_largescale_system_design_optimization
PDF
From CoreOS to Kubernetes and Concourse CI
PPTX
Kube cfg-mgmt
PDF
Kubernetes: The Next Research Platform
PDF
Kubernetes Multi-cluster without Federation - Kubecon EU 2018
PDF
DevOps in AWS with Kubernetes
PPTX
Introduction to Kubernetes
PDF
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
PPTX
Why kubernetes matters
PDF
Kubernetes: Learning from Zero to Production
PDF
Kubecon seattle 2018 workshop slides
PDF
KUDO - Kubernetes Operators, the easy way
PPTX
Introduction to Kubernetes
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes is Hard! Lessons Learned Taking Our Apps to Kubernetes by Eldad Assis
Kubernetes extensibility: crd & operators
Kubernetes extensibility: CRDs & Operators
Craig Box (Google) - The road to Kubernetes 1.0
Highly available nodejs
Lunar Way and the Cloud Native "stack"
kubernetes_largescale_system_design_optimization
From CoreOS to Kubernetes and Concourse CI
Kube cfg-mgmt
Kubernetes: The Next Research Platform
Kubernetes Multi-cluster without Federation - Kubecon EU 2018
DevOps in AWS with Kubernetes
Introduction to Kubernetes
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
Why kubernetes matters
Kubernetes: Learning from Zero to Production
Kubecon seattle 2018 workshop slides
KUDO - Kubernetes Operators, the easy way
Introduction to Kubernetes
Ad

More from Leon Stigter (20)

PDF
Thinking Stateful Serverless
PDF
Test driving event-driven apps on kubernetes with kind, tekton, and knative
PDF
Building Event-Driven Workflows with Knative and Tekton
PDF
Data Driven Decisions in DevOps
PDF
Every Talk Has To Be Unique @ DevRel Meetup
PPTX
Continuous Verification in a Serverless World
PDF
Continuous Verification in a Serverless World
PDF
Trusting Your Ingredients @DevOpsDays Columbus 2019
PDF
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
PDF
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
PDF
Trusting Your Ingredients - What Building Software And Cheesecake Have In Common
PDF
Refactoring to Go modules: why and how
PDF
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
PDF
Data Driven DevOps
PDF
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh
PDF
DevOps Theory vs. Practice: A Song of Ice and Tire Fire
PDF
The Art of Deploying Artifacts to Production With Confidence
PDF
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
PDF
Project Flogo: An Event-Driven Stack for the Enterprise
PDF
The Road to a Cloud-First Enterprise
Thinking Stateful Serverless
Test driving event-driven apps on kubernetes with kind, tekton, and knative
Building Event-Driven Workflows with Knative and Tekton
Data Driven Decisions in DevOps
Every Talk Has To Be Unique @ DevRel Meetup
Continuous Verification in a Serverless World
Continuous Verification in a Serverless World
Trusting Your Ingredients @DevOpsDays Columbus 2019
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Refactoring to Modules - Why, How and Everything Else I Can Fit In 45 Minutes…
Trusting Your Ingredients - What Building Software And Cheesecake Have In Common
Refactoring to Go modules: why and how
Persistence is futile (or is it?) - How to Manage, Version, and Promote Docke...
Data Driven DevOps
Where did my modules GO? Building and deploying Go Apps w/ GoCenter & Codefresh
DevOps Theory vs. Practice: A Song of Ice and Tire Fire
The Art of Deploying Artifacts to Production With Confidence
Project Flogo: Serverless Integration, Powered by Flogo and Lambda
Project Flogo: An Event-Driven Stack for the Enterprise
The Road to a Cloud-First Enterprise

Recently uploaded (20)

PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPT
Introduction Database Management System for Course Database
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Introduction to Artificial Intelligence
PDF
Nekopoi APK 2025 free lastest update
PDF
AI in Product Development-omnex systems
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Introduction Database Management System for Course Database
Which alternative to Crystal Reports is best for small or large businesses.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
Internet Downloader Manager (IDM) Crack 6.42 Build 41
ManageIQ - Sprint 268 Review - Slide Deck
ISO 45001 Occupational Health and Safety Management System
PTS Company Brochure 2025 (1).pdf.......
Design an Analysis of Algorithms II-SECS-1021-03
Digital Strategies for Manufacturing Companies
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo POS Development Services by CandidRoot Solutions
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How to Migrate SBCGlobal Email to Yahoo Easily
Odoo Companies in India – Driving Business Transformation.pdf
Introduction to Artificial Intelligence
Nekopoi APK 2025 free lastest update
AI in Product Development-omnex systems

Building a Kubernetes Powered Central Go Modules Repository

  • 1. Go, go, kubernetes Building a Kubernetes Powered Central Go Modules Repository
  • 2. Let’s go on a trip through history @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 3. A quick history of go Go 1.0 First major milestone as a long term stable release 2012 2015 Go 1.5 First release to no longer use C (except for cgo) Support for Vendoring 2017 Go 1.8 Introduction of Go plugins 2018 Go 1.10 Changes to the toolchain, runtime, and libs @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 4. Dependency Management… One thing missing @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 5. “Tis impossible to be sure of anything but Death and Taxes” - Christopher Bullock @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 6. Official Dependency Management No more GOPATH In one single tool So, what are modules? @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 7. In software Immutable and repeatable are really important The best way to guarantee issues is force push Immutable dependencies Who doesn’t remember left-pad with Node.js? Lost Dependencies Do you trust your colleagues? What about the rest of the Internet? Trust @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 8. • Developer Advocate • Passionate about Serverless, Containers, and all things Cloud • I love dadjokes, cheesecake and APIs Who am i? @LeonStigter Leon Stigter, Developer Advocate @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 10. What is gocenter actually?#1 @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 11. What is gocenter actually? @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 12. How we got to kubernetes#2 @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 13. Why did we choose kubernetes? • Make use of a proven orchestration platform • Leverage out-of-the- box features @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 14. Where could you start? • Look at tutorials • Think about a local dev environment • Managed Kubernetes! @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 15. Most mature Kubernetes offering Easy to deploy using existing tools and techniques Lots of troubleshooting tools like BigQuery and StackDriver Running on google cloud platform Most mature Kubernetes offering Easy to deploy using existing tools and techniques Lots of troubleshooting tools like BigQuery and StackDriver Running on google cloud platform @LeonStigter | jfrog.com/shownotes | gocenter.io
  • 16. 1. Codebase 2. Dependencies 3. Config 4. Backing services 5. Build, release, run 6. Processes 7. Port binding 8. Concurrency 9. Disposability 10. Dev/Prod parity 11. Logs 12. Admin processes Who needs state anyway? @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 17. But we didn’t build everything ourselves Dependencies@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 18. • Helm Charts are versioned • Separate value files per environment • Having one of the co- founders of Helm at our company also doesn’t hurt Deployments using helm Config@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 19. Some other best practices we learned while building Limits & Labels Secrets Namespaces & Clusters Portbinding, Concurrency & Disposability@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 20. How we built our infrastructure#3 @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 21. We’re big on those pipelines and promotions concepts CI SERVER Integration System Testing If quality requirments are hit If quality requirments are hit If quality requirments are hit Staging - Quality gates - Production 1 2 3 4 * @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 22. Number of clusters currently running 5Dev/Prod Parity@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 23. Discovery Notifier Processor Running a few microservices @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 24. Validator UI Backend UI Running a few microservices @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 25. This is what our cluster looks like @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 26. Load testing • UI: 10K users with 100 requests per second • Backend: Load 10K modules… twice @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 27. Chaos engineering for the poor @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 28. Running at scale#4 @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 29. Node pools, cause even nodes have to relax? @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 30. Deployments using helm Build, release, run https://hub.helm.sh @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 31. Keeping a close eye on container health • FluentD • Prometheus • Grafana Live Dashboard Logs@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 32. Our containers might get a little lonely @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 33. We keep in touch with our nodes Kube-Slack Jenkins Logs & Build, release, run @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 34. Scaling on many levels Run more microservices Compute Scaling based on queue depth Messaging What goes up must come down… usually Up and Down Provision nodes when needed Node Concurrency@JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 35. • https://jfrog.com/shownotes • @JFrog • @LeonStigter Q&A Some ads and Q&A @JFrog | @LeonStigter | jfrog.com/shownotes | #GoCenter
  • 36. Thank you! See you next time, at