Looking back from building the tech stack of 5 startups and giving back to the community (1/17)

Jonathan Chevalier
4 min readOct 19, 2023

--

Over the past few years, I’ve been very fortunate to participate and contribute to the creation of many technologies, from their inception to their production release.

While some have failed, others have achieved very fast and remarkable success. Despite exhibiting significant differences, they all shared a common trait: open-source technologies.

CNCF landscape

As a developer, I owe everything to the community.

This is why I have dedicated the past few weeks creating a Medium series where I will be sharing and explaining every step involved in creating a technology from the ground up using open source technologies. It will be engineered around 5 core principles: security, resiliency, elasticity, observability and automation.

Table of Contents

  1. Learning from building the tech stacks of 5 startups and giving back to the community (1/17)
  2. Buy your first DNS and create a GCP organization (2/17)
  3. Terraforming GCP folders and Organization policies (3/17)
  4. Terraforming GCP projects (4/17)
  5. Terraforming shared VPC (host & services), NAT, GCP private service access and firewall rules (5/17)
  6. Terraforming DNS and IAP configurations (no VPN needed!) (6/17)
  7. Terraforming a bastion host using IAP and a (private) Kubernetes cluster with Cilium (7/17)
  8. Deploying an infra stack with ArgoCD Image Updater, Cert Manager, External DNS, External Secrets Operator, Ingress-Nginx Controller, Keycloak and RabbitMQ using a self-managed ArgoCD (8/17)
  9. Production considerations for running the infra stack (9/17)
  10. A Comprehensive guide to Spring Boot 3.2 with Java 21, Virtual Threads, Spring Security, PostgreSQL, Flyway, Caching, Micrometer, Opentelemetry, JUnit 5, RabbitMQ, Keycloak Integration, and More! (10/17)
  11. Production considerations for running PostgreSQL and Debezium (11/17)
  12. Building an automatic CI/CD using Git flow with GitHub Actions, Buildpack and Artifact Registry (12/17)
  13. Create your own open-source observability platform using ArgoCD, Prometheus, AlertManager, OpenTelemetry and Tempo (13/17)
  14. Deploying Grafana dashboards for ArgoCD, Spring Boot, Cert Manager, Nginx Ingress Controller, Keycloak, RabbitMQ, Tempo and Opentelemetry (14/17)
  15. Deploying Prometheus Rules for Cert Manager, Kubernetes container, Kubernetes, PostgreSQL, Prometheus, Tempo, Spring Boot API […] (15/17)
  16. OLAP where should we start ? Data Lake ? BigQuery ? Clickhouse ? (16/17)
  17. Don’t fall into the microservice trap (17/17)

[…]

My main objective over this pretty extensive series is to give you as much production feedback as possible and help you find the right balance between infra administration x time & $$.

Be like Picsou

I would obviously not recommend to start with all this stack at once. It will give you a great overview on what is possible to achieve with open source technologies.

As a startup, try to follow those principles:

  • Start as simple as possible, a containerized platform like Cloud Run and a managed database can get you pretty far.
  • Focus on delivering value to your client as fast as possible.
  • Fail fast. Faster iterations mean faster market fit.
  • Do not spend (too much) time and effort outside your product. Focus and efficiency is key.
  • Be user-centric.
  • Limit your test to the strict necessary. Most of the features might never exist.
  • Always ask yourself what is the problem you’re trying to solve and how your client might benefit from it.
  • Do not try to think like Spotify or Netflix, you probably don’t need microservices or BFFs.
  • Do not fall for the last trend.
  • Try to innovate conscientiously, VC money has dried (except if you're into AI :D).

Context is key! Keep It Simple Stupid!

As your product and technology mature, try to differentiate between what is great and what is necessary. Every layer you add will have an exponential cost.

The most important mantra every developer should follow

I hope you can learn something from this series :).

If you have any questions or suggestions, please, feel free to reach me on LinkedIn!

As I am reading hundreds of technical articles per week, I am also thinking of creating a newsletter mostly focused on spring ecosystem, security, infrastructure, platform, observability, identity, GCP, database (oltp & olap) […]. If it might interest you, please comment below!

--

--

Jonathan Chevalier

Obsessed with DevOps & SREing. Most of my technical work is done around IAC, Security, Infra, Observability, Reactive prog., Data intensive applications [...]