Modern enterprise applications are evolving rapidly towards cloud-native architectures, with containers and Kubernetes forming the backbone of scalable and resilient software systems. SAP Kyma provides a powerful platform for SAP developers to deploy, manage, and scale containerized microservices using Kubernetes, all while integrating tightly with SAP solutions.
In this article, we explore how to deploy containers on Kubernetes using SAP Kyma and examine the tools, best practices, and use cases that make Kyma a strategic choice for SAP-centric organizations.
SAP Kyma is an open-source runtime based on Kubernetes that allows developers to extend SAP applications with microservices and serverless functions. Kyma is designed to integrate with:
It comes with built-in features like:
Containers package an application and its dependencies into a single, lightweight unit that can run anywhere. In Kyma, containers are the foundation for deploying scalable microservices.
Benefits include:
Deploying a containerized application in SAP Kyma involves the following steps:
Create a Dockerfile:
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]
Then, build and push:
docker build -t <your-registry>/my-app:latest .
docker push <your-registry>/my-app:latest
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: <your-registry>/my-app:latest
ports:
- containerPort: 3000
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 3000
apiVersion: gateway.kyma-project.io/v1beta1
kind: APIRule
metadata:
name: my-app-rule
spec:
gateway: kyma-gateway.kyma-system.svc.cluster.local
host: my-app.kyma.example.com
rules:
- accessStrategies:
- handler: noop
methods: ["GET", "POST"]
path: /.*
service:
name: my-app-service
port: 80
You can apply these resources using:
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
kubectl apply -f apirule.yaml
Or use the Kyma Console UI to manage deployments visually.
SAP Kyma provides built-in tools for monitoring your containers:
These tools are integrated and accessible from the Kyma Console.
Use Liveness and Readiness Probes
Ensure health checks are defined to enable proper pod lifecycle management.
Externalize Configuration with ConfigMaps and Secrets
Avoid hardcoding credentials or configuration inside containers.
Use Horizontal Pod Autoscaling
Scale containers based on CPU/memory usage or custom metrics.
Use API Rules Wisely
Restrict public access to services and implement appropriate security mechanisms like OAuth2 or JWT.
Integrate CI/CD Pipelines
Automate container build, test, and deployment using tools like Jenkins, GitHub Actions, or Azure DevOps.
Extending SAP S/4HANA with Microservices
Deploy business logic or integrations via containerized services.
IoT Data Processing
Deploy services to collect and process telemetry data in real time.
Custom APIs and Connectors
Build APIs that integrate non-SAP systems with SAP environments.
Machine Learning Inference Services
Serve ML models via REST APIs within SAP’s enterprise ecosystem.
Deploying containers in SAP Kyma enables organizations to embrace modern cloud-native architectures while leveraging the full power of Kubernetes. With seamless integration into SAP systems, developers can build scalable, maintainable, and future-proof solutions that align with enterprise IT strategies.
Whether you're extending SAP applications, integrating third-party APIs, or building entirely new services, Kyma provides the flexibility and tooling you need to deploy with confidence.