Scaling and Lifecycle

Scaling and Lifecycle Management

Scaling and lifecycle management are crucial aspects of managing modern applications and services. These practices ensure that your applications can handle varying loads and maintain a high level of availability.

  • Scaling involves adjusting the number of instances or resources allocated to an application based on factors like user demand, workload, and performance metrics.
  • Lifecycle management encompasses the stages an application goes through, from deployment to updates and retiring.

In this documentation, we'll explore various scaling strategies and lifecycle management techniques that empower you to efficiently manage your applications' performance, availability, and reliability.

Replicas and Pods

In containerized environments such as Kubernetes, replicas and pods play pivotal roles in orchestrating application availability and scalability.

A pod represents the smallest unit of deployment in Kubernetes. It encapsulates one or more tightly coupled containers that share the same network namespace and storage.

Replicas refer to multiple simultaneous instances of a pod. In other words, if you set the replica count to 3, there will be three pods (instances) of your service running concurrently.

Handling Demand

More replicas allocate more pods to manage incoming traffic, distributing the workload and improving responsiveness during spikes. Scaling by adjusting replicas aligns your application's capacity with varying traffic.

Setting Replicas for an Application

  • Via the User Interface (UI)
  • Via the Python SDK

Via the User Interface (UI)

To configure the number of replicas your service should have via the UI, follow these steps:

  1. In the Deployment Form locate the Show advanced fields toggle button at the very bottom.
  1. Now you will be able to the Replicas Section
  1. Enter the desired number of replicas for your application.

By specifying the number of replicas, you're instructing the platform to create and maintain the specified number of pod instances to ensure performance, availability, and workload distribution.

Via the Python SDK

To programmatically set the number of replicas for an application using the Python SDK, you can use the following code snippet:

...

service = Service(
    ...
  	replicas=1
  	...
)

...

By utilizing the SDK, you can automate the process of configuring replicas, making it easier to manage and scale your applications.