Technology Overview
The main offering from the Internal Developer Platform (IDP) team is to bring a container to life in a context. You build a container, and we orchestrate it in Kubernetes based on your configuration.
We strictly follow GitOps principles, meaning every change is stored as a commit.
Deployment & Scaling
- Supports multiple deployment and scaling strategies
- All updates respect GitOps (i.e., changes are triggered by commits to your team’s configuration repository in GitHub)
- Continuous delivery for Kubernetes using Argo CD
- Access to multiple environments (called namespaces in our terminology)
Container Lifecycle Support
- Actions to assist in pushing containers to storage (e.g., ECR)
- A system for auto-updating deployments based on:
- Tag matching
- Semantic Versioning (SemVer)
Access and Security
- Access is integrated with your JPPOL work account
- Services can be exposed:
- Publicly or internally
- As load-balanced HTTP services using nginx
- Transparent secret storage via AWS Secrets Manager
Storage Solutions
We offer a range of storage options:
- Mounted container storage backed by persistent EBS volumes
- Object storage via S3
- NoSQL support with DynamoDB
- Scalable relational databases via PostgreSQL on AWS Aurora V2
Eventing & Workflows
- Event-driven workflows via Argo Events
- Workflow orchestration with Argo Workflows
Observability
- Observability powered by Grafana with Prometheus for metrics and Loki for log aggregation
- All console logs are automatically collected
Philosophy
We aim to support:
- Simple workloads out-of-the-box
- Complex setups with multiple independent services inside a cluster
- Architecture advice during planning and migration
- Continuous support after onboarding
Our goal is always to enable you to run everything as self-service.
How IDP Works: Architecture & Tools Behind the Platform
