Application Fundamentals for Platform Engineers
Learn how the apps you run actually work: HTTP and REST, reverse proxies, databases, config, and health checks, seen from the platform side.
What You'll Learn
Understanding Why Platform Engineers Need Application Knowledge
You are joining acme-shop's platform team.
Understanding HTTP Requests, Responses, and Status Codes
Every call between a browser, a service, a health check, or a webhook is HTTP.
Understanding REST APIs and Statelessness
REST is a set of conventions for designing APIs so they are predictable. It is not a protocol or a tool. Even the Kubernetes API server is a REST API.
Understanding Reverse Proxies with Nginx
A reverse proxy sits between clients and your applications.
Understanding Ingress and the Gateway API
In Kubernetes, the shared reverse proxy at the edge of the cluster is configured through an Ingress or, increasingly, the Gateway API.
Understanding Databases, Connection Pools, and Redis
Every application stores data somewhere. As the person running it, you need to know how it connects, and how that connection fails.
Skills You'll Master
Curriculum Index13 topics
Understanding Why Platform Engineers Need Application Knowledge
You are joining acme-shop's platform team.
Understanding HTTP Requests, Responses, and Status Codes
Every call between a browser, a service, a health check, or a webhook is HTTP.
Understanding REST APIs and Statelessness
REST is a set of conventions for designing APIs so they are predictable. It is not a protocol or a tool.
Understanding Reverse Proxies with Nginx
A reverse proxy sits between clients and your applications.
Understanding Ingress and the Gateway API
In Kubernetes, the shared reverse proxy at the edge of the cluster is configured through an Ingress or, increasingly...
Understanding Databases, Connection Pools, and Redis
Every application stores data somewhere. As the person running it, you need to know how it connects, and how that...
Understanding Configuration with Environment Variables
Configuration is something you will set in every deployment and pipeline.
Understanding Health Checks and Probes
Probes are how Kubernetes decides whether a pod is alive and whether it should receive traffic.
Understanding Monoliths and Microservices
The architecture of an application decides what you have to operate. You will hear these two terms constantly.
Debugging a 502 Bad Gateway
A 502 from the proxy means it received your request but could not get a valid answer from the application.
Building the Hands-On Lab: Run cart-service on Kubernetes
📌 Remember: This lab runs entirely on your laptop in the platform-lab kind cluster and costs nothing.
Quick Reference and Common Mistakes
Quick reference Common mistakes Checking dependencies in the liveness probe is a classic mistake.
What You Built and What Comes Next
You learned how HTTP, REST, reverse proxies, databases, configuration, and probes fit together.
Career Impact
Roles that use the skills in this module.
DevOps Engineer
Site Reliability Engineer
Platform Engineer
Next Modules
Related Guides
Practice on the Coding Sheet
Not a software engineer sheet. Every problem comes from real DevOps, SRE, Platform and Cloud interviews, from your first script to a system you build yourself.
Open the Coding SheetFrequently Asked Questions
No. You do not need to build applications, but you do need to understand how they behave: how they talk over HTTP, read configuration, connect to databases, and report health. That knowledge lets you run and debug them reliably.
It means a proxy such as Nginx received your request but could not get a valid answer from the application behind it. The cause is almost always the application or the Service wiring, such as a crashed pod, no ready pods, or a wrong selector, not Nginx itself.
A liveness probe asks whether the process is still working, and a failure restarts the container. A readiness probe asks whether the pod can serve traffic right now, and a failure only removes the pod from the Service until it recovers.
It keeps passwords and environment-specific values out of the code. The same container image can then run in development, staging, and production, with only the injected configuration changing.