{"id":477313,"date":"2023-08-09T09:11:08","date_gmt":"2023-08-09T09:11:08","guid":{"rendered":""},"modified":"2023-09-05T11:14:30","modified_gmt":"2023-09-05T11:14:30","slug":"function-as-a-service-faas","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/pt\/wiki\/function-as-a-service-faas\/","title":{"rendered":"Fun\u00e7\u00e3o como servi\u00e7o (FaaS)"},"content":{"rendered":"<p>Fun\u00e7\u00e3o como servi\u00e7o (FaaS) representa uma categoria de servi\u00e7os de computa\u00e7\u00e3o em nuvem que fornece uma plataforma que permite aos clientes desenvolver, executar e gerenciar funcionalidades de aplicativos sem a complexidade de construir e manter a infraestrutura normalmente associada ao desenvolvimento e lan\u00e7amento de um aplicativo. Esse padr\u00e3o arquitet\u00f4nico \u00e9 comumente associado \u00e0 computa\u00e7\u00e3o sem servidor, onde os desenvolvedores podem se concentrar em escrever o c\u00f3digo de seus aplicativos e o provedor de nuvem gerencia o ambiente de execu\u00e7\u00e3o.<\/p>\n<h2>Rastreando a hist\u00f3ria e as origens da fun\u00e7\u00e3o como servi\u00e7o (FaaS)<\/h2>\n<p>O in\u00edcio da Fun\u00e7\u00e3o como Servi\u00e7o (FaaS) est\u00e1 fortemente ligado \u00e0 evolu\u00e7\u00e3o da computa\u00e7\u00e3o em nuvem. O nascimento da computa\u00e7\u00e3o em nuvem no in\u00edcio dos anos 2000 trouxe a Infraestrutura como Servi\u00e7o (IaaS) e a Plataforma como Servi\u00e7o (PaaS) para o centro das aten\u00e7\u00f5es. No entanto, os desenvolvedores ainda precisavam gerenciar servidores em ambos os modelos, embora menos com PaaS.<\/p>\n<p>O avan\u00e7o ocorreu em 2014, quando a Amazon Web Services (AWS) introduziu o AWS Lambda como a primeira plataforma FaaS. Ele eliminou totalmente a necessidade de os desenvolvedores se preocuparem com os servidores. O Lambda permitiu que os desenvolvedores executassem seu c\u00f3digo em resposta a eventos como altera\u00e7\u00f5es nos dados em um bucket do Amazon S3 ou atualiza\u00e7\u00f5es em uma tabela do Amazon DynamoDB. Isso marcou uma mudan\u00e7a revolucion\u00e1ria na forma como os aplicativos poderiam ser criados e entregues.<\/p>\n<h2>Aprofundando-se na fun\u00e7\u00e3o como servi\u00e7o (FaaS)<\/h2>\n<p>FaaS \u00e9 um m\u00e9todo sem servidor de execu\u00e7\u00e3o de pe\u00e7as modulares de c\u00f3digo no limite. Em vez de implantar um aplicativo ou servi\u00e7o inteiro, os desenvolvedores podem executar pequenas partes de fun\u00e7\u00f5es que executam uma tarefa \u00fanica e definida. Essas fun\u00e7\u00f5es s\u00e3o &#039;sem estado&#039; porque foram projetadas para durar pouco e serem executadas em um ambiente sem estado. O provedor de nuvem gerencia automaticamente os recursos necess\u00e1rios para execu\u00e7\u00e3o e escalabilidade.<\/p>\n<p>As fun\u00e7\u00f5es s\u00e3o acionadas por eventos como solicita\u00e7\u00f5es HTTP, opera\u00e7\u00f5es de banco de dados, filas, armazenamento e assim por diante. O provedor executa a fun\u00e7\u00e3o e retorna o resultado ap\u00f3s a conclus\u00e3o bem-sucedida. Uma caracter\u00edstica importante do FaaS \u00e9 que voc\u00ea paga apenas pelo tempo real de processamento da fun\u00e7\u00e3o e n\u00e3o pela infraestrutura subjacente.<\/p>\n<h2>Desvendando a estrutura interna e o mecanismo de funcionamento do FaaS<\/h2>\n<p>Num modelo FaaS, a l\u00f3gica da aplica\u00e7\u00e3o \u00e9 dividida em fun\u00e7\u00f5es separadas. Eles s\u00e3o gerenciados por uma plataforma subjacente e normalmente n\u00e3o t\u00eam estado. Ao receber um evento, a plataforma rapidamente libera recursos para executar a fun\u00e7\u00e3o, processa o evento e, em seguida, desliga os recursos quando o processamento \u00e9 conclu\u00eddo.<\/p>\n<ol>\n<li><strong>Gatilho de Evento<\/strong>: um evento como uma solicita\u00e7\u00e3o HTTP, um upload de arquivo ou uma opera\u00e7\u00e3o de banco de dados aciona a fun\u00e7\u00e3o.<\/li>\n<li><strong>Inicializa\u00e7\u00e3o de fun\u00e7\u00e3o<\/strong>: o provedor de nuvem prepara a fun\u00e7\u00e3o para execu\u00e7\u00e3o. Isso pode envolver iniciar um cont\u00eainer e carregar o c\u00f3digo de fun\u00e7\u00e3o nele.<\/li>\n<li><strong>Execu\u00e7\u00e3o<\/strong>: a fun\u00e7\u00e3o \u00e9 executada com os dados do evento fornecidos.<\/li>\n<li><strong>Resposta<\/strong>: a fun\u00e7\u00e3o processa os dados do evento e retorna um resultado. Tamb\u00e9m pode interagir com outros servi\u00e7os ou bases de dados como parte deste processamento.<\/li>\n<li><strong>Desligar<\/strong>: assim que a fun\u00e7\u00e3o terminar de ser executada, o provedor de nuvem encerrar\u00e1 os recursos usados para executar a fun\u00e7\u00e3o.<\/li>\n<\/ol>\n<h2>Principais recursos da fun\u00e7\u00e3o como servi\u00e7o (FaaS)<\/h2>\n<ul>\n<li><strong>Orientado por eventos<\/strong>: as fun\u00e7\u00f5es s\u00e3o executadas em resposta a eventos ou gatilhos.<\/li>\n<li><strong>Ap\u00e1trida<\/strong>: as fun\u00e7\u00f5es n\u00e3o ret\u00eam informa\u00e7\u00f5es entre as execu\u00e7\u00f5es.<\/li>\n<li><strong>Escal\u00e1vel<\/strong>: o provedor de nuvem gerencia automaticamente o dimensionamento da fun\u00e7\u00e3o.<\/li>\n<li><strong>De curta dura\u00e7\u00e3o<\/strong>: espera-se que as fun\u00e7\u00f5es sejam iniciadas rapidamente, executadas por um curto per\u00edodo e depois paradas.<\/li>\n<li><strong>Pague por uso<\/strong>: o pre\u00e7o \u00e9 baseado no tempo de computa\u00e7\u00e3o real usado pela fun\u00e7\u00e3o.<\/li>\n<\/ul>\n<h2>Diferentes tipos de fun\u00e7\u00e3o como servi\u00e7o (FaaS)<\/h2>\n<p>Embora o conceito b\u00e1sico de FaaS permane\u00e7a o mesmo, diferentes provedores de nuvem oferecem produtos FaaS ligeiramente diferentes. Alguns dos mais populares incluem:<\/p>\n<table>\n<thead>\n<tr>\n<th>Fornecedor<\/th>\n<th>Produto FaaS<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>AWS<\/td>\n<td>lambda<\/td>\n<\/tr>\n<tr>\n<td>Google Nuvem<\/td>\n<td>Fun\u00e7\u00f5es de nuvem<\/td>\n<\/tr>\n<tr>\n<td>Microsoft Azure<\/td>\n<td>Fun\u00e7\u00f5es do Azure<\/td>\n<\/tr>\n<tr>\n<td>IBM<\/td>\n<td>Fun\u00e7\u00f5es de nuvem<\/td>\n<\/tr>\n<tr>\n<td>Or\u00e1culo<\/td>\n<td>Projeto Fn<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Maneiras de usar a fun\u00e7\u00e3o como servi\u00e7o (FaaS), problemas e solu\u00e7\u00f5es<\/h2>\n<p>FaaS \u00e9 particularmente \u00fatil para aplica\u00e7\u00f5es que necessitam responder a informa\u00e7\u00f5es em tempo real ou solicita\u00e7\u00f5es espor\u00e1dicas. Por exemplo, pode ser usado para processamento de arquivos em tempo real, transforma\u00e7\u00e3o de dados ou processamento de fluxo de eventos. No entanto, existem desafios potenciais relacionados com limites de tempo de execu\u00e7\u00e3o, gest\u00e3o de estado, testes e depura\u00e7\u00e3o. As solu\u00e7\u00f5es incluem o design cuidadoso do c\u00f3digo de fun\u00e7\u00e3o para cumprir os limites de tempo de execu\u00e7\u00e3o e o uso de servi\u00e7os de nuvem adicionais para gerenciar o estado.<\/p>\n<h2>Compara\u00e7\u00e3o com conceitos semelhantes<\/h2>\n<table>\n<thead>\n<tr>\n<th>Conceito<\/th>\n<th>Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>FaaS<\/td>\n<td>Os desenvolvedores fornecem c\u00f3digo de fun\u00e7\u00e3o. A plataforma cuida automaticamente de toda a infraestrutura.<\/td>\n<\/tr>\n<tr>\n<td>IaaS<\/td>\n<td>Os desenvolvedores gerenciam os aplicativos, dados, tempo de execu\u00e7\u00e3o e middleware. O provedor lida com virtualiza\u00e7\u00e3o, servidores, armazenamento e rede.<\/td>\n<\/tr>\n<tr>\n<td>PaaS<\/td>\n<td>Os desenvolvedores gerenciam os aplicativos e dados. O provedor lida com tempo de execu\u00e7\u00e3o, middleware, sistema operacional, virtualiza\u00e7\u00e3o, servidores, armazenamento e rede.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectivas e tecnologias do futuro relacionadas ao FaaS<\/h2>\n<p>\u00c9 prov\u00e1vel que o FaaS continue evoluindo com o ecossistema sem servidor mais amplo. Os avan\u00e7os na computa\u00e7\u00e3o de borda podem fazer com que o FaaS se torne mais predominante na borda da rede, mais pr\u00f3ximo das fontes de dados. Al\u00e9m disso, poderemos ver mais ambientes h\u00edbridos sem servidor onde o FaaS \u00e9 usado em conjunto com outros modelos de computa\u00e7\u00e3o para diferentes partes de um aplicativo.<\/p>\n<h2>O papel dos servidores proxy na fun\u00e7\u00e3o como servi\u00e7o (FaaS)<\/h2>\n<p>Os servidores proxy podem desempenhar um papel no FaaS, agindo como intermedi\u00e1rios para solicita\u00e7\u00f5es de clientes que buscam recursos de outros servidores. Eles podem melhorar o desempenho, fornecer seguran\u00e7a e manter o anonimato. No contexto FaaS, um servidor proxy pode ser usado para lidar com solicita\u00e7\u00f5es que acionam fun\u00e7\u00f5es, oferecendo controle adicional, registro e recursos de modifica\u00e7\u00e3o.<\/p>\n<h2>Links Relacionados<\/h2>\n<ol>\n<li><a href=\"https:\/\/aws.amazon.com\/lambda\/\" target=\"_new\" rel=\"noopener nofollow\">AWS Lambda<\/a><\/li>\n<li><a href=\"https:\/\/cloud.google.com\/functions\" target=\"_new\" rel=\"noopener nofollow\">Fun\u00e7\u00f5es do Google Cloud<\/a><\/li>\n<li><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\" target=\"_new\" rel=\"noopener nofollow\">Fun\u00e7\u00f5es do Microsoft Azure<\/a><\/li>\n<li><a href=\"https:\/\/www.ibm.com\/cloud\/functions\" target=\"_new\" rel=\"noopener nofollow\">Fun\u00e7\u00f5es IBM Cloud<\/a><\/li>\n<li><a href=\"https:\/\/www.fnproject.io\/\" target=\"_new\" rel=\"noopener nofollow\">Projeto Oracle Fn<\/a><\/li>\n<\/ol>","protected":false},"featured_media":468453,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-477313","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>A Comprehensive Guide to Function as a Service (FaaS)<\/mark>","faq_items":[{"question":"What is Function as a Service (FaaS)?","answer":"<p>Function as a Service (FaaS) is a category of cloud computing services that provides a platform for developers to build, run, and manage applications without having to deal with the complexity of building and maintaining the underlying infrastructure. It's an integral part of serverless computing where the cloud provider manages the execution environment.<\/p>"},{"question":"When and where did Function as a Service (FaaS) originate?","answer":"<p>Function as a Service (FaaS) originated with the evolution of cloud computing, specifically with the introduction of AWS Lambda by Amazon Web Services in 2014. This was the first FaaS platform that allowed developers to run their code in response to events without the need to manage servers.<\/p>"},{"question":"How does Function as a Service (FaaS) work?","answer":"<p>FaaS operates by executing modular bits of code in response to certain triggers or events such as HTTP requests, database operations, or storage changes. The cloud provider manages the resources required for running and scaling these functions. The developers only need to focus on writing the code for these functions.<\/p>"},{"question":"What are the key features of Function as a Service (FaaS)?","answer":"<p>The key features of FaaS include its event-driven nature, statelessness, scalability, short-lived functions, and pay-per-use pricing model. These features eliminate the need for developers to manage servers or pay for idle compute time.<\/p>"},{"question":"What are the types of Function as a Service (FaaS)?","answer":"<p>Different cloud providers offer slightly different FaaS products. Some of the popular ones include AWS Lambda, Google Cloud Functions, Microsoft Azure Functions, IBM Cloud Functions, and Oracle Fn Project.<\/p>"},{"question":"How is Function as a Service (FaaS) used and what are its potential problems?","answer":"<p>FaaS is typically used for applications that need to respond to real-time information or sporadic requests. It can be used for real-time file processing, data transformation, or event stream processing. Potential challenges can arise related to execution time limits, state management, testing, and debugging.<\/p>"},{"question":"How does Function as a Service (FaaS) compare to other cloud computing models?","answer":"<p>In contrast to Infrastructure as a Service (IaaS) and Platform as a Service (PaaS), where developers have to manage certain aspects of the servers, FaaS provides a platform where developers only need to focus on writing the application's code. The cloud provider takes care of all the infrastructure management.<\/p>"},{"question":"What future developments can be expected in the field of Function as a Service (FaaS)?","answer":"<p>Advancements in FaaS are likely to occur alongside the evolution of the broader serverless ecosystem. This includes potential expansion in edge computing, leading to FaaS becoming more prevalent at the network's edge, and the development of more hybrid serverless environments.<\/p>"},{"question":"How can proxy servers be used with Function as a Service (FaaS)?","answer":"<p>Proxy servers can act as intermediaries for requests from clients seeking resources from other servers in a FaaS context. They can handle requests that trigger functions, offering additional control, logging, and modification capabilities while also improving performance, providing security, and maintaining anonymity.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki\/477313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki\/477313\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media\/468453"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media?parent=477313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}