Skip to main content

Scalability Vs Elasticity

SCALABILITY - ability of a system to increase the workload on its current hardware resources (scale up);
ELASTICITY - ability of a system to increase the workload on its current and additional (dynamically added on demand) hardware resources (scale out);


Scalability: "Increasing" the capacity to meet the "increasing" workload.
Elasticity: "Increasing or reducing" the capacity to meet the "increasing or reducing" workload.

Scalability: In a scaling environment, the available resources may exceed to meet the "future demands".
Elasticity: In the elastic environment, the available resources match the "current demands" as closely as possible.

Scalability: Scalability adapts only to the "workload increase" by "provisioning" the resources in an "incremental" manner.
Elasticity: Elasticity adapts to both the "workload increase" as well as "workload decrease" by "provisioning and deprovisioning" resources in an "autonomic" manner.

Scalability: Increasing workload is served with increasing the power of a single computer resource or with increasing the power by a group of computer resources.
Elasticity: Varying workload is served with dynamic variations in the use of computer resources.

Scalability: Scalability enables a corporate to meet expected demands for services with "long-term, strategic needs".
Elasticity: Elasticity enables a corporate to meet unexpected changes in the demand for services with "short-term, tactical needs".

Scalability: It is "increasing" the capacity to serve an environment where workload is increasing.
This scalability could be "Scaling Up" or "Scaling Out".
(Example:
Scaling Up - increasing the ability of an individual server
Scaling out - increasing the ability by adding multiple servers to the individual server.)
Elasticity: It is the ability to "scale up or scale down" the capacity to serve at will.

Scalability: To use a simile, "scaling up" is an individual increasing her power to meet the increasing demands, and "scaling out" is building a team to meet the increasing demands.
Elasticity: To use a simile, a film actor increasing or reducing her body weight to meet differing needs of the film industry.

Comments

Popular posts from this blog

K8s External Secrets integration between AWS EKS and Secrets Manager(SM) using IAM Role.

What is K8s External Secrets and how it will make your life easier? Before saying about External Secrets we will say about k8s secrets and how it will work. In k8s secrets we will create key value pairs of the secrets and set this as either pod env variables or mount them as volumes to pods. For more details about k8s secrets you can check my blog http://jinojoseph.blogspot.com/2020/08/k8s-secrets-explained.html   So in this case if developers wants to change the ENV variables , then we have to edit the k8s manifest yaml file, then we have to apply the new files to the deployment. This is a tiresome process and also chances of applying to the wrong context is high if you have multiple k8s clusters for dev / stage and Prod deployments. So in-order to make this easy , we can add all the secrets that is needed in the deployment, in the AWS Secret Manager and with the help of External secrets we can fetch and create those secrets in the k8s cluster. So what is K8s external Secret? It i...

Setting /etc/hosts entries during the initial deployment of an Application using k8s yaml file

Some times we have to enter specific hosts file entries to the container running inside the POD of a kubernetes deployment during the initial deployment stage itself. If these entries are not in place, the application env variables mentioned in the yaml file , as hostnames , will not resolve to the IP address and the application will not start properly. So to make sure the /etc/hosts file entries are already there after the spin up of the POD you can add the below entries in your yaml file. cat > api-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: spec:   template:     metadata:     spec:       volumes:       containers:       - image: registryserver.jinojoseph.com:5000/jinojosephimage:v1.13         lifecycle:           postStart:             exec:               command:...

LXC Containers and How it differs from VMs and Docker Containers?

VM vs LXC ########## The main difference between the VMs and Containers is that virtual machines require their own kernel instance to run while  containers  share the same kernel. In other words,  containers  are virtualization at operating-system-level whereas  VMs  are virtualization at the hardware level. In virtual Machines each Guest OS will have its own Operating System and kernel. But in the case of LXC Containers the Guest OS will share the same OS of its Host machine. LXC vs Docker ############# LXC is a container technology that gives us the lightweight Linux containers and Docker is single application virtualisation which is based on top of the containerd Run time engine.. Thus even though based on container utilisation they may sound similar but they are completely different when it comes to usage. Unlike the lightweight LXC containers, docker does not tend to behave lightweight VM’s. Single application restriction of the docker is strictly by t...