Design pattern for scalability

Scalability is the ability of a system either to handle an increase in load without an impact on performance or that we can readily increase scaling on resource utilization for the available resources:

  • Avoid, a single point of failure
  • Scale, horizontally, not vertically
  • Move work away from your core service
  • Implementation of caching system
  • Keep, your cache up to date
  • Asynchronous system
  • Statelessness
  • Make, your system able to handle any failure

Scalability is one among many AWS WAF components. When scaling to handle load, you will find the preceding design principles in the following points. We usually see these in practical implementations in our real cloud and container worlds:

  • Scaling on CPU utilization: Monitoring the CPU utilization of your service then scaling up or scaling down, Kubernetes, AWS Elastic Container Service (ECS), Elastic Container Service for Kubernetes (EKS), or other cloud systems use similar approaches to scale client infrastructure as they collect this information from hypervisors and expose CPU utilization to external apps.
  • Scaling on memory utilization: Services can be scaled using memory monitoring, but AWS ECS, EKS, and Kubernetes don't have it as a default functionality, and you must write your own wrappers around it.
  • Scaling on a number of connection requests: You can scale your service by a number of connections because there are some systems such as proxy systems and load balancers that just forward clients requests to downstream microservices that require the capacity to handle a specific number of connections.
  • Scaling storage capacity: Scaling storage capacity or a filesystem is another requirement in a scalable system where you must scale your hard disk/file systems so that it can handle your requirements.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.178.133