<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Saborni Bhattacharya</title>
    <description>The latest articles on DEV Community by Saborni Bhattacharya (@sab93).</description>
    <link>https://dev.to/sab93</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1961332%2Fa592ca8f-ebc3-4987-872b-04c8edcff929.png</url>
      <title>DEV Community: Saborni Bhattacharya</title>
      <link>https://dev.to/sab93</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sab93"/>
    <language>en</language>
    <item>
      <title>Proxy : Simplified</title>
      <dc:creator>Saborni Bhattacharya</dc:creator>
      <pubDate>Tue, 10 Sep 2024 14:39:50 +0000</pubDate>
      <link>https://dev.to/sab93/proxy-simplified-5if</link>
      <guid>https://dev.to/sab93/proxy-simplified-5if</guid>
      <description>&lt;p&gt;Let us imagine, you have written a letter for your dear beloved and you want to send it to them. However, you don't want anyone else to know that the letter has been written by you other than your beloved. So, you send this letter through the hands of one of your trusted friends.&lt;/p&gt;

&lt;p&gt;This trusted friend is known as "proxy".&lt;/p&gt;

&lt;p&gt;In this blog, we will discuss about what is "proxy" in scope of system design and what are the different types of proxy and their corresponding use cases.&lt;/p&gt;

&lt;p&gt;A typical client-server pattern comprises of a client that requests for resources to server.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0x71fvcj3g8h0b9z9lm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0x71fvcj3g8h0b9z9lm.png" alt="cs" width="800" height="216"&gt;&lt;/a&gt;&lt;br&gt;
A proxy is a software or hardware component that acts as an intermediator between a client and a server thereby protecting the direct connection between them.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgisxhy16u8tmz6uwf03k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgisxhy16u8tmz6uwf03k.png" alt="cps" width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Features of Proxy
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Client privacy&lt;/strong&gt; - The proxy conceals the client's IP address other identifying information, making the client's online activities more anonymous and private.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caching&lt;/strong&gt; - Proxies can cache frequently accessed content thereby reducing the load on the target server and improving response times for the client.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filtering and access control&lt;/strong&gt; - Proxies can be used to filter content, block certain websites, or control access to resources based on defined policies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security and monitoring&lt;/strong&gt; - Proxies can be used to monitor and log client activities, providing security and compliance benefits for organizations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol transformation&lt;/strong&gt; - Proxies can translate between different network protocols, allowing clients and servers using different protocols to communicate.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Types of Proxy
&lt;/h3&gt;

&lt;p&gt;There are two types of Proxy:&lt;/p&gt;
&lt;h4&gt;
  
  
  Forward Proxy
&lt;/h4&gt;

&lt;p&gt;Forward Proxy, also known as proxy server or web proxy, is a server that is located in-front of a group of clients. Once a request is received from clients, web proxy forwards the traffic over internet connectivity to the web servers.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3wpv3ed3r2xd4yysvcv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3wpv3ed3r2xd4yysvcv.png" alt="fwdp" width="800" height="358"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Pros&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Outbound access control.&lt;/li&gt;
&lt;li&gt;Caching frequently accessed resources.&lt;/li&gt;
&lt;li&gt;Monitoring and logging for outbound traffic.&lt;/li&gt;
&lt;li&gt;Anonymity and privacy of clients.&lt;/li&gt;
&lt;li&gt;Content filtering.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single point of failure.&lt;/li&gt;
&lt;li&gt;Performance overhead due to additional request processing.&lt;/li&gt;
&lt;li&gt;Complexity of the configuration.&lt;/li&gt;
&lt;li&gt;Limited security despite anonymity.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  Reverse Proxy
&lt;/h4&gt;

&lt;p&gt;Reverse Proxy is a server that sits in-front of the servers, intercepting the incoming client requests over internet or dedicated network. Once a request is received from clients, reverse proxy forwards the traffic to one of the web servers.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwf9ir84qvxs8occcqvfs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwf9ir84qvxs8occcqvfs.png" alt="revp" width="800" height="361"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Pros&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Load distribution to multiple servers.&lt;/li&gt;
&lt;li&gt;Protection to backend servers.&lt;/li&gt;
&lt;li&gt;Handling of SSL termination.&lt;/li&gt;
&lt;li&gt;Caching and compression.&lt;/li&gt;
&lt;li&gt;Centralized logging and monitoring.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single point of failure.&lt;/li&gt;
&lt;li&gt;Complexity of the setup.&lt;/li&gt;
&lt;li&gt;Potential bottleneck during high traffic.&lt;/li&gt;
&lt;li&gt;Latency due to additional hops.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Depending upon your use case, you need to select a specific type of proxy or both.&lt;/p&gt;
&lt;h3&gt;
  
  
  Load Balancer
&lt;/h3&gt;

&lt;p&gt;Load Balancer mainly helps us with distribution of incoming traffic to backend servers. It is also capable of scaling to handle any sudden burst of traffic.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8o2jg510di1syy8fmqe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff8o2jg510di1syy8fmqe.png" alt="LB" width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  How Load Balancers differ from Reverse proxy?
&lt;/h4&gt;

&lt;p&gt;The main use of Load Balancer is to distribute incoming traffic across two or more webservers serving identical functionality. In addition to load balancing capability, reverse proxy also has caching and security features. It is important to note that &lt;em&gt;reverse proxy can act as a load balancer while the reverse is not true&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;Hence, we have learnt about how a proxy works in between client and server groups. Also, how a forward proxy differs from a reverse proxy. Also, the difference between a Load Balancer and a Reverse proxy. &lt;br&gt;
In my upcoming blogs, I will explain how Load Balancing works.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;This is not endorsed by any org, all my opinions.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For more contents, follow this page and do subscribe to my YouTube channel -&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.youtube.com/@learnandexplorewithsab" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dYrjrcbE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://yt3.googleusercontent.com/UHlHV49bGFSvVkBm2RS3z_DQ1hU8iCad13w7xEWmOnaMRh2pQNXLH0CPNUH6bqhkyTxElOgltlo%3Ds900-c-k-c0x00ffffff-no-rj" height="800" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.youtube.com/@learnandexplorewithsab" rel="noopener noreferrer" class="c-link"&gt;
          Saborni Bhattacharya - YouTube
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          SA@Amazon || Not a tech buff but I love to make tech content to help others
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://res.cloudinary.com/practicaldev/image/fetch/s--BZbFf-te--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.youtube.com/s/desktop/08be27be/img/favicon.ico" width="16" height="16"&gt;
        youtube.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>proxy</category>
      <category>loadbalancer</category>
    </item>
    <item>
      <title>Scalability : Simplified</title>
      <dc:creator>Saborni Bhattacharya</dc:creator>
      <pubDate>Fri, 30 Aug 2024 20:25:56 +0000</pubDate>
      <link>https://dev.to/sab93/scalability-explained-4hbd</link>
      <guid>https://dev.to/sab93/scalability-explained-4hbd</guid>
      <description>&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt; - the term which you must have come across while developing and designing an application. However, I will explain what scalability is with a simple example.&lt;/p&gt;

&lt;p&gt;Let's consider that you run a small restaurant with only 4 staffs, capable to take up to 10 orders simultaneously. However, over a period of time, one particular dish became an overwhelming favorite, drawing more crowds, than usual, to your restaurant every evening. This is resulting in long queues in the waiting space as well as outside the restaurant gate. Moreover, the staffs are finding it difficult to manage.&lt;/p&gt;

&lt;p&gt;As the owner, what should you do to tackle this situation?...&lt;/p&gt;

&lt;p&gt;Definitely by the one or more of the following ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;hiring more staffs,&lt;/li&gt;
&lt;li&gt;increase the sitting capacity,&lt;/li&gt;
&lt;li&gt;extending the kitchen capacity,&lt;/li&gt;
&lt;li&gt;possibly, hire a manager to oversee all these.
etc. etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You will basically need to think about all the possible ways to scale your business model to cater this sudden surge of orders.&lt;/p&gt;

&lt;p&gt;Similarly, if you are maintaining a website or an application, depending upon the traffic it receives, you will need to ensure that your application scales to cater the incoming requests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Technical Definition
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt; denotes the ability of a system, application, or process to handle or its potential to handle an overwhelming amount of work.&lt;/p&gt;

&lt;p&gt;In software design, scalability means how well an application can adapt to an increasing workload, such as surge in user count, higher transaction volumes, or larger data sets, without compromising its performance, reliability, or user experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Scaling Variations
&lt;/h3&gt;

&lt;p&gt;There are two types of scaling:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vertical Scaling&lt;/strong&gt; - Scaling Up/Down&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Horizontal Scaling&lt;/strong&gt; - Scale Out/In&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, there is a concept termed as &lt;strong&gt;Diagonal Scaling&lt;/strong&gt;, which is basically a hybrid of Vertical Scaling and Horizontal Scaling. I have also discussed about another variation of scaling termed as Auto Scaling, used in Cloud platforms to scale applications.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. &lt;strong&gt;Vertical Scaling (Scaling Up)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6wrrw4kqf9celgus961.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6wrrw4kqf9celgus961.png" alt="ScaleUp" width="800" height="368"&gt;&lt;/a&gt;&lt;br&gt;
It denotes providing additional resources to a single server by increasing CPU power, memory (RAM), or storage capacity. &lt;br&gt;
Once the traffic has been catered and you want to bring your server back to normal by reducing the added capacity is termed is &lt;strong&gt;Scale Down&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy to implement and manage a single server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Limited by the capacity of a single machine.&lt;/li&gt;
&lt;li&gt;May lead to a single point of failure.&lt;/li&gt;
&lt;li&gt;Expensive due to the cost of high-end hardware.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Case:&lt;/strong&gt; &lt;br&gt;
Ideal for scenarios where applications with a smaller user base or where scaling requirements are moderate.&lt;/p&gt;
&lt;h4&gt;
  
  
  2. &lt;strong&gt;Horizontal Scaling (Scaling Out)&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9k5w2kj7iq2avxml69r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9k5w2kj7iq2avxml69r.png" alt="ScaleOut" width="800" height="392"&gt;&lt;/a&gt;&lt;br&gt;
It involves adding more servers to your fleet of resources. This denotes that instead of upgrading your machines, you are adding more identical machines to cater to the increased load. Now, once the traffic is reduced, if you reduce the number of active servers in your server pool back to the previous count, this is termed as &lt;strong&gt;Scale In&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wider scalability scope by infinitely adding more servers.&lt;/li&gt;
&lt;li&gt;Provides redundancy and high availability, as the failure of a single server doesn’t impact the entire system.&lt;/li&gt;
&lt;li&gt;Cost-effective for large-scale applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementation is complex as this requires a load balancing and distribution of data.&lt;/li&gt;
&lt;li&gt;May add to the latency due to network communication between servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Case:&lt;/strong&gt; &lt;br&gt;
Ideal for applications with a large and growing user base, or those requiring high availability and redundancy.&lt;/p&gt;
&lt;h4&gt;
  
  
  3. &lt;strong&gt;Diagonal Scaling&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdowfzkmvdal4ozp4rul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdowfzkmvdal4ozp4rul.png" alt="Image description" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Diagonal scaling is a hybrid approach that combines both vertical and horizontal scaling. Initially, you scale vertically by adding resources to a single server. When that server reaches its capacity, you scale horizontally by adding more servers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A flexible and cost-effective strategy.&lt;/li&gt;
&lt;li&gt;Allows you to maximize the capacity of individual servers in your pool before moving to a more distributed architecture.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The switching from vertical to horizontal scaling requires critical planning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Case:&lt;/strong&gt; &lt;br&gt;
Ideal for applications that start with moderate resource needs but are expected to grow significantly.&lt;/p&gt;
&lt;h4&gt;
  
  
  4. &lt;strong&gt;Auto Scaling&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This is a strategy mainly used in cloud environments, where resources are automatically scaled up or down based on real-time incoming traffic. &lt;a href="https://aws.amazon.com/autoscaling/" rel="noopener noreferrer"&gt;AWS Auto Scaling&lt;/a&gt; helps you scale your applications hosted in AWS platform with a seamless experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0uddqlqdkuh34wzr98eq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0uddqlqdkuh34wzr98eq.png" alt="Autoscaling" width="800" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Image Source: https://docs.aws.amazon.com/autoscaling/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Efficient management resources.&lt;/li&gt;
&lt;li&gt;Reduced costs by scaling down resources during low demand.&lt;/li&gt;
&lt;li&gt;Seamless user experience by handling traffic spikes automatically.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires monitoring and configuration to ensure it triggers at the right thresholds.&lt;/li&gt;
&lt;li&gt;Complex to set up and manage compared to manual scaling. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, with managed services provided by Cloud platforms the disadvantages can be easily overcome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Case:&lt;/strong&gt; &lt;br&gt;
Suitable for applications with highly variable traffic patterns, where demand can spike suddenly.&lt;/p&gt;
&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;In this blog, we have learned about Scalability and its importance. We also learned about different types of scalability, their advantages-disadvantages and use cases.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;This is not endorsed by any org, all my opinions.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For more contents, follow this page and follow my YouTube &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.youtube.com/@learnandexplorewithsab" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dYrjrcbE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://yt3.googleusercontent.com/UHlHV49bGFSvVkBm2RS3z_DQ1hU8iCad13w7xEWmOnaMRh2pQNXLH0CPNUH6bqhkyTxElOgltlo%3Ds900-c-k-c0x00ffffff-no-rj" height="800" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.youtube.com/@learnandexplorewithsab" rel="noopener noreferrer" class="c-link"&gt;
          Saborni Bhattacharya - YouTube
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          SA@Amazon || Not a tech buff but I love to make tech content to help others
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://res.cloudinary.com/practicaldev/image/fetch/s--BZbFf-te--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.youtube.com/s/desktop/08be27be/img/favicon.ico" width="16" height="16"&gt;
        youtube.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>designpatterns</category>
      <category>design</category>
      <category>designsystem</category>
    </item>
    <item>
      <title>Decoding Cloud Computing</title>
      <dc:creator>Saborni Bhattacharya</dc:creator>
      <pubDate>Wed, 28 Aug 2024 17:59:21 +0000</pubDate>
      <link>https://dev.to/sab93/decoding-cloud-computing-5cl9</link>
      <guid>https://dev.to/sab93/decoding-cloud-computing-5cl9</guid>
      <description>&lt;p&gt;Recently, I came across a viral clip of a prominent political figure of a first world nation, talking about cloud 'that exists above us'. I understood that still now there's a lot of misconception about 'Cloud' as if our data is stored somewhere in the sky.&lt;/p&gt;

&lt;p&gt;This is not uncommon. Many people still lack the proper understanding of what Cloud actually is and what do we mean by Cloud Computing. So, I believe a primer on the topic is imperative before I dive further in this blog series.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Cloud?
&lt;/h3&gt;

&lt;p&gt;Now lets imagine, we have a toy box at home where you store all your favorite toys. Now, let's assume that your toy collection has surpassed the capacity of the box that you have. Then you possibly lookout for a vast space where you can keep your toys safely. Whenever you want to play with your toys, you can simply fetch them, and they'll be brought to you right away, no matter where you are. Others can also keep their toys in the same space, however, they will remain separated from yours just as yours from theirs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs44065r7e1i2zzhpodvk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs44065r7e1i2zzhpodvk.png" alt="Toy Box" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Image source: Google&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now lets call that the special toy box as "The Cloud" and lets imagine these toys as pictures, games, applications or even whole websites! Now lets define what "Cloud computing" is. It means using a big toy box, to store our data and access them from any device (your tablet or iPhone) anywhere, without any worries of provisioning and maintaining this big toy box.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1w3vr9258fq84q1vdp8k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1w3vr9258fq84q1vdp8k.png" alt="Cloud Tech" width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Image source: Google&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud Computing
&lt;/h3&gt;

&lt;p&gt;Now, when the definition is clear, lets move ahead with the technical definition of the term - Cloud Computing as defined by &lt;a href="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf" rel="noopener noreferrer"&gt;National Institute of Standards and Technology (NIST)&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In simple term, cloud computing means that someone else provides you with the network, storage, and other resources you need to run your apps or store data. You can get as much as you need quickly, with very little effort on your part.&lt;/p&gt;

&lt;p&gt;As per NIST standards, a cloud model is composed of &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;5 essential characteristics.&lt;/li&gt;
&lt;li&gt;3 service models.&lt;/li&gt;
&lt;li&gt;4 deployment models.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Essential Characteristics
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd98oi5iz3hpbr76ipoww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd98oi5iz3hpbr76ipoww.png" alt="Essential Characteristics" width="800" height="551"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;On-demand self-service:&lt;/strong&gt; Users can automatically provision computing resources as needed without human intervention.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Broad network access:&lt;/strong&gt; Cloud services are accessible over the network using standard devices like phones, tablets, and laptops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource pooling:&lt;/strong&gt; Cloud providers pool computing resources to serve multiple users, dynamically allocating them based on demand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rapid elasticity:&lt;/strong&gt; Cloud resources can be quickly scaled up or down to meet changing demand, appearing unlimited to the user.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measured service:&lt;/strong&gt; Cloud systems automatically track and optimize resource use, providing transparency for both providers and consumers.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Service Model
&lt;/h3&gt;

&lt;p&gt;In a typical on prem environment, stakeholders own everything from Networking to Application. However, this ownership can vary depending upon the type of model you prefer to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffx5iego4oty3j7zk9dii.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffx5iego4oty3j7zk9dii.png" alt="Models" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;IaaS: Infrastructure as a Service&lt;/strong&gt;: - From Networking to Virtualization, the provider is the owner whereas you only the Operating System, any middle-ware, runtime, data and the application.
Examples - AWS, Azure, Digital Ocean, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PaaS: Platform as a Service&lt;/strong&gt;: Here, you deploy and manage your own applications on the cloud platform provided. Examples - AWS Elastic Beanstalk, Heroku, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SaaS: Software as a Service&lt;/strong&gt;: The user use applications on the cloud without managing the underlying infrastructure. This means the entire infrastructure along with the data and everything is owned by the provider. A certain specific dataset that belongs to you is owned.
Examples - Gmail, Dropbox, Salesforce, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Deployment Models
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foyawim60zs3m63poqop4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foyawim60zs3m63poqop4.png" alt="Dep Models" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Private cloud&lt;/strong&gt;: This cloud infrastructure is exclusively used by one organization. It is managed on or off-site, by the organization or a concerned third party.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Community cloud&lt;/strong&gt;: A cloud infrastructure which is shared by organizations with common interests, managed by one or more of them or a third party, on or off-site.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Public cloud&lt;/strong&gt;: A cloud infrastructure is available to the general public, managed by various organizations, and located at the provider’s site. Example - AWS, Azure, GCP, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hybrid cloud&lt;/strong&gt;: A combination of different cloud types (private, community, or public) that work together for flexibility and resource sharing.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Benefits
&lt;/h3&gt;

&lt;p&gt;We have understood the definition and important models, let us now understand the benefits of Cloud Computing. Top benefits of cloud computing includes -&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Variable expenses&lt;/strong&gt;: Bear the expenses of the computing resources you only use, instead of bearing upfront costs in data centers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Economies of scale&lt;/strong&gt;: Cloud providers offer lower costs by aggregating usage across many customers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Capacity flexibility&lt;/strong&gt;: Access exactly the capacity you need without guessing, and scale up or down as needed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Speed and agility&lt;/strong&gt;: Rapid provisioning of IT resources, enhanced organizational agility and reduced development time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Focus on business&lt;/strong&gt;: Allows users to focus on their core business rather than wasting efforts on in-house data centers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Global reach&lt;/strong&gt;: Deploy applications worldwide within minutes, providing the best customer experiences with minimal latency.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You may read more over &lt;a href="https://docs.aws.amazon.com/whitepapers/latest/aws-overview/six-advantages-of-cloud-computing.html" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use cases of cloud computing
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Storage&lt;/strong&gt;: Secure storage and access to large volumes of data from anywhere anytime.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Disaster Recovery&lt;/strong&gt;: Complete DR management can be implemented using cloud computing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web Hosting&lt;/strong&gt;: Host and manage your websites with scalable cloud resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Software Development&lt;/strong&gt;: Streamline the development, testing, and deployment of applications using cloud services and tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Big Data Analytics&lt;/strong&gt;: Perform complex data analysis using scalable cloud computing power.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Machine Learning&lt;/strong&gt;: Train and deploy AI models using cloud computing power.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Backup Solutions&lt;/strong&gt;: Automatically back up important data to safeguard against loss.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And many more...&lt;/p&gt;

&lt;p&gt;Now, that we have learnt many things about the topic, you can start your learning journey by creating an account with any of the available Cloud services. I personally prefer AWS as you can learn a lot with AWS Free Tier which is ideal for new users to try and test out their products. Here is the &lt;a href="https://aws.amazon.com/free/?gclid=CjwKCAjwlbu2BhA3EiwA3yXyuwvcm8mT7T409rbXRnFsF7LdtK7k7JWuGl6Xb9BomDK_oTUC6uKhfRoCitUQAvD_BwE&amp;amp;trk=ce1f55b8-6da8-4aa2-af36-3f11e9a449ae&amp;amp;sc_channel=ps&amp;amp;ef_id=CjwKCAjwlbu2BhA3EiwA3yXyuwvcm8mT7T409rbXRnFsF7LdtK7k7JWuGl6Xb9BomDK_oTUC6uKhfRoCitUQAvD_BwE:G:s&amp;amp;s_kwcid=AL!4422!3!433803620870!e!!g!!aws%20account!9762827897!98496538463&amp;amp;all-free-tier.sort-by=item.additionalFields.SortRank&amp;amp;all-free-tier.sort-order=asc&amp;amp;awsf.Free%20Tier%20Types=*all&amp;amp;awsf.Free%20Tier%20Categories=*all" rel="noopener noreferrer"&gt;link&lt;/a&gt; for your reference.&lt;/p&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;So, we learned about what Cloud really is and what do we mean by Cloud computation. We also learned about different types of service models and deployment models of cloud along with the benefits and use cases of cloud computing.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;This is not endorsed by any org, all my opinions.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For more contents, follow this page and follow my YouTube &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.youtube.com/@learnandexplorewithsab" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--dYrjrcbE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://yt3.googleusercontent.com/UHlHV49bGFSvVkBm2RS3z_DQ1hU8iCad13w7xEWmOnaMRh2pQNXLH0CPNUH6bqhkyTxElOgltlo%3Ds900-c-k-c0x00ffffff-no-rj" height="800" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.youtube.com/@learnandexplorewithsab" rel="noopener noreferrer" class="c-link"&gt;
          Saborni Bhattacharya - YouTube
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          SA@Amazon || Not a tech buff but I love to make tech content to help others
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ghe535db--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.youtube.com/s/desktop/4151fd0f/img/favicon.ico" width="16" height="16"&gt;
        youtube.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>cloud</category>
      <category>aws</category>
      <category>cloudcomputing</category>
    </item>
  </channel>
</rss>
