Skip to content

About

Cloud-native API design patterns in six languages

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Cloud-Native Design Patterns

A chaptered guide to designing cloud-native APIs — patterns, anti-patterns, and runnable examples — with every code sample shown in Spring Boot, Quarkus, .NET, Python, C++, and Go behind one set of language tabs. It is the companion site to the Designing Cloud-Native APIs deck series; the decks themselves live in lgtm-presentation/.

Live site: https://patterncatalyst.github.io/cloud-native-design-patterns/

What's inside

  • A setup guide, 13 chapters, 19 deep-dive appendices (A–S), and a glossary — covering REST, gRPC, GraphQL, WebSockets, event-driven architecture, schemas and versioning, observability, resilience, and the patterns that tie them together.
  • Six languages, one set of tabs — every code sample appears in Spring Boot, Quarkus, .NET, Python, C++, and Go, in that order, with no build plugin (the tabs are plain HTML + JS and work on GitHub Pages).
  • Paired diagrams — every figure ships as a themed name.svg plus an editable name.excalidraw source under assets/diagrams/.
  • A companion deck series — eight Red Hat-branded decks in lgtm-presentation/: one per language (Python, Spring Boot, Quarkus, .NET, Go, C++) and two policy decks, each edited in place with the toolkit in scripts/ and mirrored as Markdown text copies under lgtm-presentation/text/, which CI checks.

The running example

The whole guide builds one system — order, payment, inventory, notification, and shipping services exchanging the order.placed fact — on infrastructure you can run yourself: Docker Engine locally and plain Kubernetes in production (no managed cloud), with Kafka (Strimzi), PostgreSQL (CloudNativePG), Apicurio (schema registry), Istio, KEDA, Debezium, and the Grafana LGTM observability stack.

Run locally

bundle install
bundle exec jekyll serve --baseurl ""

Then open http://localhost:4000.

Run the examples

The examples run on Docker Engine with the Compose plugin on Fedora or RHEL. See examples/PREREQUISITES.md for the install steps, then:

cd examples/01-cloud-native-principles/python
docker compose up -d --build --wait
cd .. && ./verify.sh
cd python && docker compose down -v

Repository layout

Path What it holds
_parts/ the five Parts that form the homepage cards
_docs/ the setup guide, chapters, appendices A–S, and the glossary
_includes/codetabs.html + assets/js/codetabs.js the multi-language code tabs (no plugin)
assets/diagrams/ paired name.svg + name.excalidraw figures
lgtm-presentation/ the eight decks (six language decks, two policy decks), their text copies in text/, the edit files in edits/, and the BUILD.md record
_plans/ internal planning notes

Deploy

Push to GitHub and set Settings → Pages → Source: GitHub Actions once. The workflow in .github/workflows/pages.yml builds the site on every push and deploys from main.


Open source · Apache 2.0

About

Cloud-native API design patterns in six languages

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages