{"id":2883,"date":"2022-09-02T10:26:30","date_gmt":"2022-09-02T03:26:30","guid":{"rendered":"http:\/\/international.binus.ac.id\/computer-science\/?p=2883"},"modified":"2022-09-02T10:26:30","modified_gmt":"2022-09-02T03:26:30","slug":"serverless-architectures","status":"publish","type":"post","link":"https:\/\/international.binus.ac.id\/computer-science\/2022\/09\/02\/serverless-architectures\/","title":{"rendered":"Serverless Architectures"},"content":{"rendered":"<p><i>Serverless architectures are application designs that incorporate third-party \u201cBackend as a Service\u201d (BaaS) services, and\/or that include custom code run in managed, ephemeral containers on a \u201cFunctions as a Service\u201d (FaaS) platform. By using these ideas, and related ones like single-page applications, such architectures remove much of the need for a traditional always-on server component. Serverless architectures may benefit from significantly reduced operational cost, complexity, and engineering lead time, at a cost of increased reliance on vendor dependencies and comparatively immature supporting services.<\/i><\/p>\n<h2>What is Serverless?<\/h2>\n<p>Like many trends in software, there\u2019s no one clear view of what Serverless is. For starters, it encompasses two different but overlapping areas:<\/p>\n<ol>\n<li>Serverless was first used to describe applications that significantly or fully incorporate third-party, cloud-hosted applications and services, to manage server-side logic and state. These are typically \u201crich client\u201d applications\u2014think single-page web apps, or mobile apps\u2014that use the vast ecosystem of cloud-accessible databases (e.g., Parse, Firebase), authentication services (e.g., Auth0, AWS Cognito), and so on. These types of services have been previously described as \u201c<a href=\"https:\/\/en.wikipedia.org\/wiki\/Mobile_backend_as_a_service\">(Mobile) Backend as a Service<\/a>&#8220;, and I use\u00a0<b>&#8220;BaaS&#8221;<\/b>\u00a0as shorthand in the rest of this article.<\/li>\n<li>Serverless can also mean applications where server-side logic is still written by the application developer, but, unlike traditional architectures, it\u2019s run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a third party. One way to think of this is \u201cFunctions as a Service\u201d or\u00a0<b>&#8220;FaaS&#8221;<\/b>. (Note: The\u00a0<a href=\"https:\/\/twitter.com\/marak\/status\/736357543598002176\">original source<\/a>\u00a0for this name\u2014a tweet by @marak\u2014is no longer publicly available.)\u00a0<a href=\"https:\/\/aws.amazon.com\/lambda\/\">AWS Lambda<\/a>\u00a0is one of the most popular implementations of a Functions-as-a-Service platform at present, but there are many others, too.<\/li>\n<\/ol>\n<p>More information: https:\/\/martinfowler.com\/articles\/serverless.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Serverless architectures are application designs that incorporate third-party \u201cBackend as a Service\u201d (BaaS) services, and\/or that include custom code run in managed, ephemeral containers on a \u201cFunctions as a Service\u201d (FaaS) platform. By using these ideas, and related ones like single-page applications, such architectures remove much of the need for a traditional always-on server component. [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[112],"tags":[],"class_list":["post-2883","post","type-post","status-publish","format-standard","hentry","category-article"],"_links":{"self":[{"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/posts\/2883"}],"collection":[{"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/comments?post=2883"}],"version-history":[{"count":1,"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/posts\/2883\/revisions"}],"predecessor-version":[{"id":2884,"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/posts\/2883\/revisions\/2884"}],"wp:attachment":[{"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/media?parent=2883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/categories?post=2883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/international.binus.ac.id\/computer-science\/wp-json\/wp\/v2\/tags?post=2883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}