{"id":80525,"date":"2021-12-22T04:18:21","date_gmt":"2021-12-22T09:48:21","guid":{"rendered":"https:\/\/www.whizlabs.com\/blog\/?p=80525"},"modified":"2022-01-06T23:23:54","modified_gmt":"2022-01-07T04:53:54","slug":"serverless-architectures-with-aws","status":"publish","type":"post","link":"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/","title":{"rendered":"Serverless Architectures with AWS"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Any application that you create or use is multi-tiered because there exists the User Interface, the Business Logic, and the Database. Today we use microservices, which means you don\u2019t develop a monolithic application. Whenever you create an application, you break it down into multiple pieces and code for individual pieces. Its major advantage is that even when the application is executing, you can make an update.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">But how do we build Serverless Architecture with AWS?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Whizlabs, on 2nd December 2021, conducted a Webinar on \u201c<\/span><b>Serverless Architectures with AWS\u201d <\/b><span style=\"font-weight: 400;\">with <\/span><a href=\"https:\/\/www.linkedin.com\/in\/ACoAABnKowoBWqmBeXTUSNsMp1aq3aF2qboSK8c\/?lipi=urn%3Ali%3Apage%3Ad_flagship3_company_admin%3BLzsDXQfMSIK2OA2iUbF3zw%3D%3D\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Mr. Bharath S<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Bharath is a Cloud\/DevOps Engineer at AMM offering for Deloitte, helping clients to adopt and accelerate their Cloud Journey. He is also helping them in <\/span><span style=\"font-weight: 400;\">the <\/span><span style=\"font-weight: 400;\">digital transformation of their workloads and environment, and making them cloud-native ready. His areas of expertise are Cloud Product Management, Digital Transformation, Cloud Migration &amp; Modernization, and end-to-end Digital Transformation.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The main objective of this session is to help developers leverage the Amazon Gateway and AWS Lambda, and other services to reduce the development and operational cycles required to create and manage multi-tier applications.<\/span><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ea7e02;color:#ea7e02\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ea7e02;color:#ea7e02\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#Three_Tier_Architecture_Overview\" >Three Tier Architecture Overview<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#Serverless_Logic_Tier\" >Serverless Logic Tier:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#What_is_AWS_Lambda\" >What is AWS Lambda?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#Lambda_Architecture_Pattern_inside_a_VPC\" >Lambda Architecture Pattern inside a VPC<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#Amazon_API_Gateway\" >Amazon API Gateway<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#API_Authorization\" >API Authorization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#Presentation_Layer\" >Presentation Layer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.whizlabs.com\/blog\/serverless-architectures-with-aws\/#Sample_Architectural_Patterns\" >Sample Architectural Patterns<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Three_Tier_Architecture_Overview\"><\/span><b>Three Tier Architecture Overview<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h2><b><img decoding=\"async\" class=\" wp-image-80528 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Three-Tier-Architecture-Overview-300x107.jpeg\" alt=\"Three Tier Architecture Overview\" width=\"793\" height=\"283\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Three-Tier-Architecture-Overview-300x107.jpeg 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Three-Tier-Architecture-Overview-1024x366.jpeg 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Three-Tier-Architecture-Overview-768x274.jpeg 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Three-Tier-Architecture-Overview-640x229.jpeg 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Three-Tier-Architecture-Overview-681x243.jpeg 681w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Three-Tier-Architecture-Overview.jpeg 1120w\" sizes=\"(max-width: 793px) 100vw, 793px\" \/><br \/>\n<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Any application built is generally multi-layer or n tier. The most popular application formulation pattern is:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Presentation Tier: <\/b><span style=\"font-weight: 400;\">This is the component of the application that directly interacts with the user. For example- Web Page, Mobile app Ui, and more.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">When we go to a web page, there exists a clickable button containing a function that gets executed when you click on it.<\/span><\/p>\n<ul>\n<li aria-level=\"1\"><b>Logic Tier:<\/b><span style=\"font-weight: 400;\"> This tier is the brain of the application. It contains the code required to translate user actions into application functionality, for instance, CRUD Database Operations, Data Processing, etc.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Data Tier:<\/b><span style=\"font-weight: 400;\"> This tier refers to the Storage Media, i.e. Database, Object Storage, Cache, File System, etc. Object storage is a place where you save audio, video, or structured data. Caching is used to reduce latency.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">For example, the application is in the US and the customer is in Japan, due to distance the latency will increase but with the help of cache, only the first user will face the delay and the rest of the users can use the cached copy, resulting in reduced latency.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Serverless_Logic_Tier\"><\/span><b>Serverless Logic Tier:<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">This is the place where the Amazon API Gateway and AWS Lambda are most impactful as compared to the traditional server-based application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The features of these two servers allow us to build a serverless application that is highly available, has low latency, and is scalable and secure.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In a traditional model, the application would require thousands of servers. However, by leveraging Amazon API Gateway and AWS Lambda, you do not have to take the responsibility of server management.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Why is this concept the future of computing?<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You do not have to worry about choosing the Operating System.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Reduces the risk of overpricing due to overprovisioning.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Reduces the risk of performance due to underprovisioning.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">API Gateway is the mechanism to deploy, monitor, and secure the API.<\/span><\/p>\n<p><b>API: <\/b><span style=\"font-weight: 400;\">API stands for Application Programming Interface. It allows two software to talk to each other. Each API exposes its endpoints as URL, through that URL you can interact. It also supports improved API performance via Caching and Content Delivery.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_is_AWS_Lambda\"><\/span><b>What is AWS Lambda?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" class=\" wp-image-80531 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/AWS-Lambda--300x149.jpg\" alt=\"AWS Lambda\" width=\"626\" height=\"311\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/AWS-Lambda--300x149.jpg 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/AWS-Lambda-.jpg 488w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">AWS Lambda is a serverless compute service that allows you to run arbitrary code functions in any of the supported languages. For example, Node.js, Python, Ruby, JAVA, Go, .Net, and their versions. Amazon nowadays is adding a lot of Javascript Framework languages to write these arbitrary functions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Read our detailed blog on <\/span><a href=\"https:\/\/www.whizlabs.com\/blog\/what-is-aws-lambda\/\"><span style=\"font-weight: 400;\">What is AWS Lambda<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Function: A function is a piece of code that does an action without provisioning, managing, or scaling servers. For instance, if you need an image to be uploaded, you have to write a function.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Popular use cases of AWS Lambda revolve around event-driven data processing workflows, such as processing the files in S3.<\/span><b> AWS Lambda gets triggered through an event, which could be manual or automated.<\/b><\/p>\n<p><span style=\"font-weight: 400;\">When used in conjunction with API Gateway, AWS Lambda performs the function of a web server. It executes the code and responds to the client\u2019s HTTP request. Amazon API Gateway acts as the front door for the logic tier and AWS Lambda executes the application code. This could be through an HTTP request or an event that you have created on the Cloud.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">AWS Lambda requires you to write code functions called <\/span><b>Handlers<\/b><span style=\"font-weight: 400;\">, a terminology coined by AWS, which will execute when triggered by an event. The event might be an HTTP request or a manual or automated event that is created by integrating the various servers of AWS. To use AWS Lambda with Amazon API Gateway, you can configure API Gateway to trigger handler functions, when an HTTP request to your API is made.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In a serverless multi-tier architecture, each of the APIs that you create in Amazon API Gateway will integrate with Lambda. So, when you create APIs, they will give you an HTTPS endpoint, which is a URL, so as soon as you trigger the HTTP request, the Lambda gets generated that executes the business logic.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lambda_Architecture_Pattern_inside_a_VPC\"><\/span><b>Lambda Architecture Pattern inside a VPC<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" class=\" wp-image-80529 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Lambda-Architecture-Pattern-300x140.jpeg\" alt=\"\" width=\"602\" height=\"281\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Lambda-Architecture-Pattern-300x140.jpeg 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Lambda-Architecture-Pattern-640x299.jpeg 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Lambda-Architecture-Pattern-681x318.jpeg 681w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Lambda-Architecture-Pattern.jpeg 758w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">The user sends an HTTP request to the API Gateway. The HTTP request will act as an event for AWS Lambda to allow it to execute the process. Normally, when you deploy a Lambda function, it is executed as per the permissions defined by its assigned IM role and is able to reach the internet-facing endpoints. As the core of the logic tier, this lambda is a component directly integrated with the data tier. If the data tier contains sensitive business or user information, then it becomes necessary to ensure that the data tier is not exposed to the open internet, and is completely isolated, that is why we put the data tier completely inside the private VPC. For a lambda function to be able to access resources that you cannot expose publicly like your private database instance, you can place the lambda function inside the private VPC, so that the lambda function could be accessed from a database instance.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Amazon_API_Gateway\"><\/span><b>Amazon API Gateway<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Clients, that is, the presentation tier integrate with the APIs exposed via API Gateway using standard HTTP requests.<\/span><\/p>\n<p><b>Features of the Amazon API Gateway:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Integration with AWS Lambda<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Proxy Integrations<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Non-Proxy Integrations<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Stable API performance across regions<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Reduced overhead with built-in-features<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Prioritized API Security<\/span><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"API_Authorization\"><\/span><b>API Authorization<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">There exist three general methods to add authorization to an API in Amazon API Gateway:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>IAM roles and policies:<\/b><span style=\"font-weight: 400;\"> Here we create roles and policies to make sure that we narrow down the access and it&#8217;s being properly executed.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Amazon Cognito User Pools:<\/b><span style=\"font-weight: 400;\"> Here, clients sign in via Amazon Cognito User Pools and obtain tokens.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Custom Authoriser: <\/b><span style=\"font-weight: 400;\">Defines a Lambda function that implements a custom authorisation scheme that uses a token strategy.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Serverless and Non-Serverless <\/span><b>Data Layer<\/b><span style=\"font-weight: 400;\"> options that can be integrated with Amazon API Gateway and Lambda:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Serverless Data Storage Options<\/span><\/li>\n<\/ul>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon S3<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon Aurora<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon DynamoDB<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon Timestream<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon Quantum Ledger Database(Amazon QLDB)<\/span><\/li>\n<\/ol>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Non-Serverless Data Storage Options<\/span><\/li>\n<\/ul>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon RDS<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon Redshift<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon ElastiCache<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon Neptune<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon DocumentDB<\/span><\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Presentation_Layer\"><\/span><b>Presentation Layer<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The presentation layer is responsible for interacting with the logic tier via the API Gateway REST endpoints exposed over the internet.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Any HTTPS capable client or device can communicate with these endpoints, giving the presentation layer the flexibility to take multiple forms like desktop applications, mobile apps, Web Pages, and so on.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Depending on the requirements, the presentation layer may use the following AWS Serverless offerings:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon Cognito<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Amazon S3 with Amazon CloudFront<\/span><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Sample_Architectural_Patterns\"><\/span><b>Sample Architectural Patterns<\/b><b><\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><b>Mobile Backend<img decoding=\"async\" class=\" wp-image-80527 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Mobile-Backend-300x158.jpeg\" alt=\"\" width=\"611\" height=\"322\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Mobile-Backend-300x158.jpeg 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Mobile-Backend-768x405.jpeg 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Mobile-Backend-796x420.jpeg 796w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Mobile-Backend-640x337.jpeg 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Mobile-Backend-681x359.jpeg 681w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Mobile-Backend.jpeg 842w\" sizes=\"(max-width: 611px) 100vw, 611px\" \/><\/b><b>Single Page Application<img decoding=\"async\" class=\" wp-image-80530 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Single-Page-Application-300x173.jpeg\" alt=\"\" width=\"613\" height=\"353\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Single-Page-Application-300x173.jpeg 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Single-Page-Application-768x442.jpeg 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Single-Page-Application-729x420.jpeg 729w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Single-Page-Application-640x368.jpeg 640w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Single-Page-Application-681x392.jpeg 681w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Single-Page-Application.jpeg 858w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/><\/b><b>Microservices with Lambda<img decoding=\"async\" class=\" wp-image-80533 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Microservices-with-Lambda-300x178.png\" alt=\"Microservices with Lambda\" width=\"612\" height=\"363\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Microservices-with-Lambda-300x178.png 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Microservices-with-Lambda.png 512w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/><\/b><\/h4>\n<h4><b>Serverless Case Studies<img decoding=\"async\" class=\" wp-image-80532 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Case-Studies-300x109.jpeg\" alt=\"Serverless Case Studies\" width=\"661\" height=\"240\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Case-Studies-300x109.jpeg 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Case-Studies.jpeg 372w\" sizes=\"(max-width: 661px) 100vw, 661px\" \/><\/b><\/h4>\n<p><span style=\"font-weight: 400;\">The Coca-Cola Company: This company has used serverless architecture and have reduced their cost by 70%. As per the traditional server system, the vending machines used to have an integrated communication system with the Coca-Cola company headquarters, and that is how they know if a particular machine is low on beverages.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">But now, by using the serverless architecture, they have been able to reduce their cost from $4500 per year to $1300 per year.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To learn more about this interesting cost-saving that happened in the Coca-Cola company and get a hands-on experience in serverless architecture, please watch the complete webinar recording Where Mr. Bharath S explains everything in detail, by following the below link:<\/span><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=DjdyUqIdIzg\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">https:\/\/www.youtube.com\/watch?v=DjdyUqIdIzg<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Any application that you create or use is multi-tiered because there exists the User Interface, the Business Logic, and the Database. Today we use microservices, which means you don\u2019t develop a monolithic application. Whenever you create an application, you break it down into multiple pieces and code for individual pieces. Its major advantage is that even when the application is executing, you can make an update.\u00a0 But how do we build Serverless Architecture with AWS? Whizlabs, on 2nd December 2021, conducted a Webinar on \u201cServerless Architectures with AWS\u201d with Mr. Bharath S. Bharath is a Cloud\/DevOps Engineer at AMM offering [&hellip;]<\/p>\n","protected":false},"author":359,"featured_media":80526,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4,10,29],"tags":[3034,4789],"class_list":["post-80525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws-certifications","category-cloud-computing-certifications","category-webinar","tag-serverless-architecture","tag-serverless-architecture-case-studies"],"uagb_featured_image_src":{"full":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",560,315,false],"thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS-150x150.jpeg",150,150,true],"medium":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS-300x169.jpeg",300,169,true],"medium_large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",560,315,false],"large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",560,315,false],"1536x1536":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",560,315,false],"2048x2048":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",560,315,false],"profile_24":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",24,14,false],"profile_48":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",48,27,false],"profile_96":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",96,54,false],"profile_150":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",150,84,false],"profile_300":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",300,169,false],"tptn_thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS-250x250.jpeg",250,250,true],"web-stories-poster-portrait":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",560,315,false],"web-stories-publisher-logo":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",96,54,false],"web-stories-thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2021\/12\/Serverless-Arcjitecture-with-AWS.jpeg",150,84,false]},"uagb_author_info":{"display_name":"Abilesh Premkumar","author_link":"https:\/\/www.whizlabs.com\/blog\/author\/abilesh\/"},"uagb_comment_info":1,"uagb_excerpt":"Any application that you create or use is multi-tiered because there exists the User Interface, the Business Logic, and the Database. Today we use microservices, which means you don\u2019t develop a monolithic application. Whenever you create an application, you break it down into multiple pieces and code for individual pieces. Its major advantage is that&hellip;","_links":{"self":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/80525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/users\/359"}],"replies":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/comments?post=80525"}],"version-history":[{"count":1,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/80525\/revisions"}],"predecessor-version":[{"id":80535,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/80525\/revisions\/80535"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media\/80526"}],"wp:attachment":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media?parent=80525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/categories?post=80525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/tags?post=80525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}