Production Best Practices for Spring Boot on OpenShift

Complete production readiness guide for deploying Spring Boot applications on OpenShift. Learn enterprise architecture, security, scalability, observability, CI/CD, GitOps, disaster recovery, cost optimization, and production deployment checklist.


Introduction

Building a Spring Boot application is only the beginning.

The real challenge is running that application reliably in Production.

A production environment must handle:

  • Millions of users
  • High traffic spikes
  • Infrastructure failures
  • Security attacks
  • Continuous deployments
  • Zero-downtime upgrades
  • Disaster recovery
  • Regulatory compliance
  • Performance optimization
  • Cost efficiency

Enterprise organizations such as Amazon, Netflix, IBM, Red Hat, USAA, American Express, and Google follow strict production standards before deploying applications.

This article combines everything covered in the previous 49 articles into a single Production Readiness Guide.


Learning Objectives

By the end of this article, you will understand:

  • Production Architecture
  • Security Checklist
  • Networking Best Practices
  • Deployment Best Practices
  • Health Checks
  • Auto Scaling
  • High Availability
  • Monitoring & Logging
  • Disaster Recovery
  • GitOps
  • CI/CD
  • Cost Optimization
  • Production Readiness Checklist

Enterprise Production Architecture

flowchart TD
    A[Internet]

    B[DNS]

    C[OpenShift Router]

    D[API Gateway]

    E[Customer Service]
    F[Payment Service]
    G[Order Service]
    H[Notification Service]

    I[(PostgreSQL)]
    J[(Redis)]
    K[Kafka]

    L[Prometheus]
    M[Grafana]
    N[Loki]
    O[Jaeger]

    P[Argo CD]

    A --> B
    B --> C
    C --> D

    D --> E
    D --> F
    D --> G
    D --> H

    E --> I
    F --> J
    G --> K

    E --> L
    E --> N
    E --> O

    P --> E
    P --> F
    P --> G

Production Readiness Pillars

Area Goal
Security Protect workloads
Availability Eliminate downtime
Scalability Handle traffic growth
Observability Detect problems quickly
Reliability Recover automatically
Automation Reduce manual effort
Disaster Recovery Restore services after failures
Cost Optimization Use resources efficiently

Production Deployment Flow

flowchart LR
    A[Developer]
    B[GitHub]
    C[Tekton Pipeline]
    D[Container Registry]
    E[Helm Chart]
    F[Argo CD]
    G[OpenShift Production]

    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G

Production Checklist

Application Design

  • Stateless Spring Boot services
  • Twelve-Factor App principles
  • Externalized configuration
  • One microservice per business capability
  • Database per service
  • API-first design

Container Best Practices

Use:

  • Multi-stage Docker builds
  • Distroless or UBI images
  • Non-root containers
  • Small image sizes
  • Image scanning before deployment

Security Architecture

flowchart LR
    A[Internet]
    B[WAF]
    C[OpenShift Router]
    D[API Gateway]
    E[Spring Boot Services]

    A --> B
    B --> C
    C --> D
    D --> E

Security Checklist

  • TLS everywhere
  • OAuth2 / OIDC authentication
  • JWT authorization
  • RBAC
  • NetworkPolicies
  • Security Context Constraints
  • Secrets in Kubernetes Secrets
  • Image vulnerability scanning
  • Least-privilege Service Accounts

Configuration Management

Store configuration using:

  • ConfigMaps
  • Secrets

Never:

  • Hardcode passwords
  • Store API keys in Git
  • Embed environment-specific values in code

High Availability

flowchart LR
    A[OpenShift Service]

    B[Pod 1]
    C[Pod 2]
    D[Pod 3]

    A --> B
    A --> C
    A --> D

Recommendations:

  • Minimum 3 replicas
  • Pod Anti-Affinity
  • Pod Disruption Budget
  • Multi-zone deployment

Health Checks

Enable:

  • Startup Probe
  • Readiness Probe
  • Liveness Probe

Spring Boot:

/actuator/health

/actuator/health/liveness

/actuator/health/readiness

Auto Scaling

flowchart LR
    A[Traffic]
    B[HPA]
    C[Pods]

    A --> B
    B --> C

Configure:

  • CPU requests
  • Memory requests
  • HPA
  • Cluster Autoscaler

Observability

flowchart LR
    A[Spring Boot]

    B[Logs]

    C[Metrics]

    D[Traces]

    E[Operations Dashboard]

    A --> B
    A --> C
    A --> D

    B --> E
    C --> E
    D --> E

Stack:

  • Spring Boot Actuator
  • Micrometer
  • Prometheus
  • Grafana
  • Loki
  • Jaeger

Logging Best Practices

  • Log to stdout
  • JSON logging
  • Correlation IDs
  • Never log passwords
  • Never log JWT tokens
  • INFO in production
  • DEBUG only during troubleshooting

Monitoring Best Practices

Monitor:

  • CPU
  • Memory
  • JVM Heap
  • Garbage Collection
  • Thread Count
  • HTTP Latency
  • Error Rate
  • Database Pool
  • Kafka Consumer Lag

Networking Best Practices

  • Use Routes for external traffic
  • Services for internal communication
  • NetworkPolicies
  • mTLS (Service Mesh)
  • API Gateway

Deployment Best Practices

Use:

  • Rolling Updates
  • Blue-Green Deployment
  • Canary Releases
  • GitOps
  • Automated Rollback

Never deploy directly to production.


CI/CD Pipeline

flowchart LR
    A[Git Commit]
    B[Tekton]
    C[Test]
    D[Build Image]
    E[Scan Image]
    F[Helm]
    G[Argo CD]
    H[Production]

    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G
    G --> H

Disaster Recovery

Maintain backups of:

  • etcd
  • Databases
  • Persistent Volumes
  • Git repositories
  • Container registry
  • Helm charts

Test disaster recovery regularly.


Cost Optimization

  • Right-size CPU and memory
  • Remove unused PVCs
  • Remove unused images
  • Enable autoscaling
  • Monitor utilization
  • Adopt FinOps practices

Production Readiness Checklist

Category Status
Docker Image Optimized
Health Probes Configured
Resource Requests & Limits
ConfigMaps & Secrets
TLS Enabled
HPA Configured
Logging Enabled
Monitoring Enabled
Distributed Tracing
GitOps Deployment
Disaster Recovery Plan
Backup Strategy
Security Scan Passed
Load Testing Completed
Production Approval

Enterprise Deployment Lifecycle

flowchart LR
    A[Develop]
    B[Test]
    C[Build]
    D[Scan]
    E[Deploy]
    F[Monitor]
    G[Optimize]

    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G

Common Production Mistakes

❌ Running a single Pod

❌ No health probes

❌ Hardcoded credentials

❌ No resource limits

❌ No monitoring

❌ No centralized logging

❌ No backups

❌ No GitOps

❌ No security scanning

❌ No load testing


Production Best Practices Summary

  • Design stateless Spring Boot applications.
  • Use ConfigMaps and Secrets for configuration.
  • Enable Startup, Readiness, and Liveness probes.
  • Configure CPU and memory requests and limits.
  • Use Horizontal Pod Autoscaler and Cluster Autoscaler.
  • Implement centralized logging, metrics, and distributed tracing.
  • Secure applications with TLS, OAuth2, RBAC, and NetworkPolicies.
  • Adopt GitOps with Helm and Argo CD.
  • Perform regular backups and disaster recovery drills.
  • Continuously monitor, optimize, and review production deployments.

Final Learning Roadmap

flowchart LR
    A[OpenShift Fundamentals]
    B[Deploy Spring Boot]
    C[Networking]
    D[Configuration]
    E[Security]
    F[CI/CD]
    G[Observability]
    H[Scalability]
    I[High Availability]
    J[Disaster Recovery]
    K[Production Ready]

    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G
    G --> H
    H --> I
    I --> J
    J --> K

Interview Questions

  1. What are the key characteristics of a production-ready Spring Boot application on OpenShift?
  2. Why should applications be stateless?
  3. What is the purpose of health probes?
  4. How do HPA and Cluster Autoscaler work together?
  5. Why are ConfigMaps and Secrets important?
  6. What observability tools should every production platform include?
  7. What is the role of GitOps in production deployments?
  8. How do you achieve zero-downtime deployments?
  9. What should be included in a disaster recovery strategy?
  10. What is your production readiness checklist before a release?

Congratulations! 🎉

You have completed the CodeWithVenu – OpenShift for Spring Boot Developers & Architects learning path.

Across these 50 articles, you've learned:

  • OpenShift Fundamentals
  • Kubernetes Concepts
  • Spring Boot Deployments
  • Networking
  • Security
  • Storage
  • Configuration
  • CI/CD
  • GitOps
  • Monitoring
  • Logging
  • Distributed Tracing
  • High Availability
  • Autoscaling
  • Disaster Recovery
  • Production Best Practices

You now have a complete roadmap for designing, building, deploying, operating, and scaling enterprise-grade Spring Boot applications on OpenShift.

The next logical learning path is Enterprise Kubernetes & Platform Engineering, covering advanced topics such as Operators, Service Mesh, Multi-Cluster Management, AI workloads on Kubernetes, Platform Engineering, and Internal Developer Platforms (IDPs).