{"id":33935,"date":"2019-10-31T21:55:27","date_gmt":"2019-10-31T18:55:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/serverless-po-stoechkam\/"},"modified":"2019-10-31T21:55:27","modified_gmt":"2019-10-31T18:55:27","slug":"serverless-po-stoechkam","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/serverless-po-stoechkam","title":{"rendered":"Serverless por partes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Serverless por partes\" src=\"\/wp-content\/uploads\/2019\/05\/cea6dc9da0a3a1b0241246cdf3eba900.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nServerless n\u00e3o significa aus\u00eancia f\u00edsica de servidores. N\u00e3o \u00e9 um \"assassino\" de cont\u00eaineres e n\u00e3o \u00e9 uma tend\u00eancia passageira. \u00c9 uma nova abordagem para a constru\u00e7\u00e3o de sistemas na nuvem. No artigo de hoje, discutiremos a arquitetura de aplicativos Serverless, ver como o provedor de servi\u00e7os Serverless e projetos de c\u00f3digo aberto desempenham seus pap\u00e9is. No final, abordaremos quest\u00f5es sobre a aplica\u00e7\u00e3o do Serverless.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nQuero escrever a parte de servidor de um aplicativo (mesmo que seja uma loja virtual). Pode ser um chat, um servi\u00e7o de publica\u00e7\u00e3o de conte\u00fado ou um balanceador de carga. De qualquer forma, haver\u00e1 muita dor de cabe\u00e7a: precisarei preparar a infraestrutura, definir as depend\u00eancias do aplicativo e pensar no sistema operacional do host. Depois, ser\u00e1 necess\u00e1rio atualizar pequenos componentes que n\u00e3o afetam o restante do mon\u00f3lito. E n\u00e3o vamos esquecer sobre escalabilidade sob carga.<\/p>\n<p>E se pegarmos cont\u00eaineres ef\u00eameros, onde as depend\u00eancias necess\u00e1rias j\u00e1 est\u00e3o pr\u00e9-instaladas e os cont\u00eaineres s\u00e3o isolados uns dos outros e do sistema operacional do host? Vamos dividir o mon\u00f3lito em microsservi\u00e7os, cada um dos quais pode ser atualizado e escalado independentemente dos outros. Colocando o c\u00f3digo em um desses cont\u00eaineres, poderei execut\u00e1-lo em qualquer infraestrutura. J\u00e1 \u00e9 uma melhora. <\/p>\n<p>E se n\u00e3o quero configurar cont\u00eaineres? N\u00e3o quero pensar em escalabilidade do aplicativo. N\u00e3o quero pagar por cont\u00eaineres em execu\u00e7\u00e3o que est\u00e3o ociosos quando a carga no servi\u00e7o \u00e9 m\u00ednima. Quero escrever c\u00f3digo. Focar na l\u00f3gica de neg\u00f3cios e lan\u00e7ar produtos no mercado a toda velocidade. <\/p>\n<p>Esses pensamentos me levaram \u00e0 computa\u00e7\u00e3o serverless. Serverless, neste caso, significa <em>n\u00e3o aus\u00eancia f\u00edsica de servidores, mas aus\u00eancia de dor de cabe\u00e7a com a gest\u00e3o da infraestrutura.<\/em><\/p>\n<p>A ideia \u00e9 que a l\u00f3gica do aplicativo seja dividida em fun\u00e7\u00f5es independentes. Elas t\u00eam uma estrutura orientada a eventos. Cada fun\u00e7\u00e3o executa uma \"microtarefa\". Tudo o que \u00e9 necess\u00e1rio do desenvolvedor \u00e9 carregar as fun\u00e7\u00f5es na console fornecida pelo provedor de nuvem e vincul\u00e1-las \u00e0s fontes de eventos. O c\u00f3digo ser\u00e1 executado sob demanda em um cont\u00eainer automaticamente preparado, e eu pagarei apenas pelo tempo de execu\u00e7\u00e3o. <\/p>\n<p>Vamos ver como ser\u00e1 o processo de desenvolvimento do aplicativo agora.<\/p>\n<h2>Do ponto de vista do desenvolvedor<\/h2>\n<p>\nAnteriormente, come\u00e7amos a falar sobre a aplica\u00e7\u00e3o para a loja online. Na abordagem tradicional, a l\u00f3gica principal do sistema \u00e9 executada por um aplicativo monol\u00edtico. E o servidor com o aplicativo est\u00e1 sempre ativo, mesmo quando n\u00e3o h\u00e1 carga.<\/p>\n<p><strong>Para migrar para o serverless, dividimos a aplica\u00e7\u00e3o em micros tarefas.<\/strong> Para cada uma delas, escrevemos uma fun\u00e7\u00e3o. As fun\u00e7\u00f5es s\u00e3o independentes entre si e n\u00e3o armazenam informa\u00e7\u00f5es sobre o estado (stateless). Elas podem at\u00e9 ser escritas em diferentes linguagens. Se uma delas \"falhar\", a aplica\u00e7\u00e3o como um todo n\u00e3o ser\u00e1 interrompida. A arquitetura da aplica\u00e7\u00e3o ficar\u00e1 assim:<\/p>\n<p><img decoding=\"async\" alt=\"Serverless por partes\" src=\"\/wp-content\/uploads\/2019\/05\/f62c5c08bbf587766198dbb807123273.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nA divis\u00e3o em fun\u00e7\u00f5es no Serverless \u00e9 semelhante ao trabalho com microsservi\u00e7os. Mas um microsservi\u00e7o pode executar v\u00e1rias tarefas, enquanto uma fun\u00e7\u00e3o, idealmente, deve executar uma \u00fanica. Vamos imaginar que h\u00e1 uma tarefa de coletar estat\u00edsticas e retornar conforme o pedido do usu\u00e1rio. Na abordagem de microsservi\u00e7os, essa tarefa \u00e9 realizada por um \u00fanico servi\u00e7o com dois pontos de entrada: para grava\u00e7\u00e3o e para leitura. Em computa\u00e7\u00e3o sem servidor, ser\u00e3o duas fun\u00e7\u00f5es distintas, n\u00e3o relacionadas entre si. O desenvolvedor economiza recursos computacionais, por exemplo, se as estat\u00edsticas s\u00e3o atualizadas com mais frequ\u00eancia do que s\u00e3o solicitadas. <\/p>\n<p>As fun\u00e7\u00f5es Serverless devem ser executadas em um curto espa\u00e7o de tempo (timeout), que \u00e9 definido pelo provedor de servi\u00e7os. Por exemplo, para a AWS, o timeout \u00e9 de 15 minutos. Portanto, fun\u00e7\u00f5es de longa dura\u00e7\u00e3o precisar\u00e3o ser ajustadas \u00e0s exig\u00eancias \u2014 isso \u00e9 o que torna o Serverless diferente de outras tecnologias populares hoje (contenedores e Platform as a Service).<\/p>\n<p><strong>A cada fun\u00e7\u00e3o, atribu\u00edmos um evento.<\/strong> Evento \u2013 \u00e9 um gatilho para a a\u00e7\u00e3o:<\/p>\n<p><strong>Evento<\/strong><br \/>\n<strong>A\u00e7\u00e3o que a fun\u00e7\u00e3o executa<\/strong><\/p>\n<p>Uma imagem do produto foi carregada no armazenamento<br \/>\nCompactar a imagem e descarregar no diret\u00f3rio<\/p>\n<p>O endere\u00e7o da loja f\u00edsica foi atualizado no banco de dados<br \/>\nAtualizar no mapa a nova localiza\u00e7\u00e3o<\/p>\n<p>O cliente paga pelo produto<br \/>\nIniciar o processamento do pagamento<\/p>\n<p>Eventos podem ser solicita\u00e7\u00f5es HTTP, dados em fluxo, filas de mensagens, e assim por diante. As fontes de eventos s\u00e3o altera\u00e7\u00f5es ou a apari\u00e7\u00e3o de dados. Al\u00e9m disso, fun\u00e7\u00f5es podem ser acionadas por um cron\u00f4metro.<\/p>\n<p>A arquitetura foi desenvolvida, e a aplica\u00e7\u00e3o quase se tornou serverless. Agora, seguimos para o provedor de servi\u00e7os.<\/p>\n<h2>Do lado do provedor<\/h2>\n<p>\nNormalmente, as computa\u00e7\u00f5es serverless s\u00e3o oferecidas por provedores de servi\u00e7os em nuvem. Eles t\u00eam diferentes nomes: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions. <\/p>\n<p>Vamos utilizar o servi\u00e7o atrav\u00e9s do console ou do painel do provedor. O c\u00f3digo das fun\u00e7\u00f5es pode ser carregado de uma das seguintes maneiras:<\/p>\n<ul>\n<li>escrever o c\u00f3digo em editores embutidos atrav\u00e9s do console web,<\/li>\n<li>carregar um arquivo zip com o c\u00f3digo,<\/li>\n<li>trabalhar com reposit\u00f3rios git p\u00fablicos ou privados.<\/li>\n<\/ul>\n<p>\nAqui tamb\u00e9m configuramos os eventos que acionam a fun\u00e7\u00e3o. O conjunto de eventos pode variar entre diferentes provedores.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless por partes\" src=\"\/wp-content\/uploads\/2019\/05\/98676fa23a9911aae5758ecdb2cd9a03.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>O provedor construiu e automatizou um sistema de Function as a Service (FaaS) em sua infraestrutura:<\/p>\n<ol>\n<li>O c\u00f3digo das fun\u00e7\u00f5es \u00e9 armazenado no lado do provedor.<\/li>\n<li>Quando um evento ocorre, cont\u00eaineres com o ambiente preparado s\u00e3o automaticamente implementados no servidor. Cada inst\u00e2ncia da fun\u00e7\u00e3o tem seu pr\u00f3prio cont\u00eainer isolado.<\/li>\n<li>Da loja, a fun\u00e7\u00e3o \u00e9 enviada para o cont\u00eainer, \u00e9 processada e retorna o resultado.<\/li>\n<li>O n\u00famero de eventos paralelos aumenta \u2015 portanto, o n\u00famero de cont\u00eaineres cresce. O sistema se escala automaticamente. Se os usu\u00e1rios n\u00e3o acessam a fun\u00e7\u00e3o, ela permanece inativa.<\/li>\n<li>O provedor define o tempo de inatividade dos cont\u00eaineres \u2015 se, durante esse per\u00edodo, as fun\u00e7\u00f5es n\u00e3o s\u00e3o acionadas no cont\u00eainer, ele \u00e9 encerrado.<\/li>\n<\/ol>\n<p>\nAssim, obtemos Serverless \u2018pronto para uso\u2019. Pagaremos pelo servi\u00e7o sob o modelo pay-as-you-go e apenas pelas fun\u00e7\u00f5es que s\u00e3o utilizadas, e somente pelo tempo em que foram utilizadas.<\/p>\n<p>Para apresentar o servi\u00e7o aos desenvolvedores, os provedores oferecem at\u00e9 12 meses de testes gratuitos, mas limitam o tempo total de computa\u00e7\u00e3o, o n\u00famero de solicita\u00e7\u00f5es por m\u00eas, a quantia em dinheiro ou os recursos consumidos.<\/p>\n<p>A principal vantagem de trabalhar com um provedor \u00e9 a possibilidade de n\u00e3o se preocupar com a infraestrutura (servidores, m\u00e1quinas virtuais, cont\u00eaineres). Por sua vez, o provedor pode implementar FaaS tanto com suas pr\u00f3prias solu\u00e7\u00f5es quanto com ferramentas open-source. Vamos discutir isso a seguir.<\/p>\n<h2>Do lado do open source<\/h2>\n<p>\nNos \u00faltimos dois anos, a comunidade open-source tem trabalhado ativamente em ferramentas Serverless. Entre os maiores jogadores do mercado que contribuem para o desenvolvimento de plataformas sem servidor est\u00e3o:<\/p>\n<ul>\n<li><strong>Google<\/strong> oferece aos desenvolvedores sua ferramenta open-source \u2015 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/knative\/\">Knative<\/a><\/noindex>. No seu desenvolvimento participaram IBM, RedHat, Pivotal e SAP;<\/li>\n<li><strong>IBM<\/strong> trabalhou na plataforma Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/openwhisk.apache.org\/\">OpenWhisk<\/a><\/noindex>, que depois se tornou um projeto da Apache Foundation;<\/li>\n<li><strong>Microsoft<\/strong> parte do c\u00f3digo da plataforma foi aberto <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\">Azure Functions<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nOs desenvolvimentos tamb\u00e9m est\u00e3o avan\u00e7ando na dire\u00e7\u00e3o de frameworks serverless. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubeless.io\/\">Kubeless<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/fission.io\/\">Fission<\/a><\/noindex> s\u00e3o implantados dentro de clusters Kubernetes pr\u00e9-configurados, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfaas.com\/\">OpenFaaS<\/a><\/noindex> funciona tanto com Kubernetes quanto com Docker Swarm. O framework atua como uma esp\u00e9cie de controlador - preparando, sob demanda, um ambiente de execu\u00e7\u00e3o dentro do cluster, e depois executando a fun\u00e7\u00e3o l\u00e1.<\/p>\n<p>Os frameworks oferecem flexibilidade para configurar a ferramenta \u00e0s suas necessidades. Por exemplo, em Kubeless, o desenvolvedor pode configurar o timeout da execu\u00e7\u00e3o da fun\u00e7\u00e3o (o valor padr\u00e3o \u00e9 de 180 segundos). O Fission, na tentativa de resolver o problema do cold start, sugere manter uma parte dos cont\u00eaineres sempre em execu\u00e7\u00e3o (embora isso acarretasse custos de recursos ociosos). J\u00e1 o OpenFaaS oferece uma variedade de gatilhos: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs, entre outros.<\/p>\n<p>As instru\u00e7\u00f5es para come\u00e7ar podem ser encontradas na documenta\u00e7\u00e3o oficial dos frameworks. Trabalhar com eles requer um pouco mais de habilidades do que trabalhar com um provedor - isso \u00e9, no m\u00ednimo, a capacidade de iniciar um cluster Kubernetes pela CLI. No m\u00e1ximo, incluir outros ferramentas open-source no trabalho (como, por exemplo, gerenciador de filas Kafka).<\/p>\n<p>Independentemente de como trabalhamos com Serverless - seja atrav\u00e9s de um provedor ou utilizando solu\u00e7\u00f5es open-source, teremos uma s\u00e9rie de vantagens e desvantagens do enfoque Serverless.<\/p>\n<h2>Do ponto de vista de vantagens e desvantagens<\/h2>\n<p>\nServerless desenvolve as ideias da infraestrutura em cont\u00eaineres e da abordagem de microservi\u00e7os, onde as equipes podem trabalhar em modo multil\u00edngue, sem se prender a uma \u00fanica plataforma. A constru\u00e7\u00e3o do sistema \u00e9 simplificada e a corre\u00e7\u00e3o de erros se torna mais f\u00e1cil. A arquitetura de micro-servi\u00e7os permite adicionar novas funcionalidades ao sistema muito mais rapidamente do que em uma aplica\u00e7\u00e3o monol\u00edtica.<\/p>\n<p><strong>Serverless reduz ainda mais o tempo de desenvolvimento,<\/strong> permitindo que o desenvolvedor se concentre exclusivamente na l\u00f3gica de neg\u00f3cios da aplica\u00e7\u00e3o e na escrita de c\u00f3digo. Como resultado, o tempo para o lan\u00e7amento das solu\u00e7\u00f5es no mercado \u00e9 encurtado.<\/p>\n<p><strong>Como b\u00f4nus, temos escalonamento autom\u00e1tico sob carga,<\/strong> e pagamos apenas pelos recursos utilizados e apenas durante o tempo em que s\u00e3o utilizados.<\/p>\n<p>Como qualquer tecnologia, Serverless tem desvantagens.<\/p>\n<p><em>Por exemplo, uma desvantagem pode ser o tempo de cold start (em m\u00e9dia at\u00e9 1 segundo para linguagens como JavaScript, Python, Go, Java, Ruby).<\/em><\/p>\n<p>Por um lado, na pr\u00e1tica, o tempo de inicializa\u00e7\u00e3o a frio depende de muitas vari\u00e1veis: a linguagem em que a fun\u00e7\u00e3o \u00e9 escrita, o n\u00famero de bibliotecas, o volume de c\u00f3digo, a comunica\u00e7\u00e3o com recursos adicionais (como bancos de dados ou servidores de autentica\u00e7\u00e3o). Como o desenvolvedor controla essas vari\u00e1veis, ele pode reduzir o tempo de inicializa\u00e7\u00e3o. Mas, por outro lado, o desenvolvedor n\u00e3o pode controlar o tempo de inicializa\u00e7\u00e3o do cont\u00eainer \u2014 isso depende do provedor.<\/p>\n<p>O in\u00edcio a frio pode se tornar \u2018quente\u2019 quando a fun\u00e7\u00e3o reutiliza um cont\u00eainer que foi iniciado por um evento anterior. Essa situa\u00e7\u00e3o ocorrer\u00e1 em tr\u00eas casos:<\/p>\n<ul>\n<li>se os clientes usam frequentemente o servi\u00e7o e aumenta o n\u00famero de chamadas \u00e0 fun\u00e7\u00e3o;<\/li>\n<li>se o provedor, a plataforma ou o framework permitem que parte dos cont\u00eaineres permane\u00e7am sempre ativos;<\/li>\n<li>se o desenvolvedor executa fun\u00e7\u00f5es por um cron\u00f4metro (digamos, a cada 3 minutos).<\/li>\n<\/ul>\n<p>\nPara muitas aplica\u00e7\u00f5es, o in\u00edcio a frio n\u00e3o \u00e9 um problema. Aqui \u00e9 preciso considerar o tipo e as tarefas do servi\u00e7o. Um atraso na inicializa\u00e7\u00e3o de um segundo nem sempre \u00e9 cr\u00edtico para uma aplica\u00e7\u00e3o empresarial, mas pode ser cr\u00edtico para servi\u00e7os m\u00e9dicos. Provavelmente, nesse caso, a abordagem sem servidor j\u00e1 n\u00e3o ser\u00e1 adequada.<\/p>\n<p><em>Outra desvantagem do Serverless \u00e9 o curto tempo de vida da fun\u00e7\u00e3o (timeout, pelo qual a fun\u00e7\u00e3o deve ser executada).<\/em><\/p>\n<p>Mas, se \u00e9 necess\u00e1rio lidar com tarefas de longa dura\u00e7\u00e3o, pode-se usar uma arquitetura h\u00edbrida \u2014 combinando o Serverless com outra tecnologia.<\/p>\n<p><em>Nem todos os sistemas poder\u00e3o operar sob o esquema Serverless.<\/em><\/p>\n<p>Algumas aplica\u00e7\u00f5es ainda armazenar\u00e3o dados e estados durante a execu\u00e7\u00e3o. Algumas arquiteturas permanecer\u00e3o monol\u00edticas, e algumas fun\u00e7\u00f5es ter\u00e3o longa dura\u00e7\u00e3o. No entanto (como aconteceu com tecnologias de nuvem e, posteriormente, com cont\u00eaineres), o Serverless \u00e9 uma tecnologia com um grande futuro.<\/p>\n<p>Nesse sentido, gostaria de fazer uma transi\u00e7\u00e3o suave para a quest\u00e3o da aplica\u00e7\u00e3o da abordagem Serverless.<\/p>\n<h2>Do ponto de vista da aplica\u00e7\u00e3o<\/h2>\n<p>\nEm 2018, a porcentagem de uso do Serverless <noindex><a rel=\"nofollow\" href=\"https:\/\/media.flexera.com\/documents\/rightscale-2019-state-of-the-cloud-report-from-flexera.pdf\">aumentou em um e meio vezes<\/a><\/noindex>. Entre as empresas que j\u00e1 implementaram a tecnologia em seus servi\u00e7os, est\u00e3o gigantes do mercado como Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. \u00c9 preciso entender que o Serverless n\u00e3o \u00e9 uma panaceia, mas uma ferramenta para resolver um determinado conjunto de tarefas:<\/p>\n<ul>\n<li><strong>Reduzir o tempo ocioso dos recursos.<\/strong> N\u00e3o \u00e9 necess\u00e1rio manter uma m\u00e1quina virtual para servi\u00e7os que t\u00eam pouca demanda.<\/li>\n<li><strong>Processar dados \"em tempo real\".<\/strong> Comprimir imagens, remover fundo, alterar a codifica\u00e7\u00e3o de v\u00eddeos, trabalhar com sensores IoT, realizar opera\u00e7\u00f5es matem\u00e1ticas.\n<\/li>\n<li><strong>\"Unir\" outros servi\u00e7os.<\/strong> Reposit\u00f3rio Git com programas internos, chatbot no Slack integrado ao Jira e ao calend\u00e1rio.<\/li>\n<li><strong>Balancear carga.<\/strong> Aqui vamos parar um pouco mais detalhadamente.<\/li>\n<\/ul>\n<p>\nSuponha que existe um servi\u00e7o que recebe 50 visitantes. Para ele, existe uma m\u00e1quina virtual com hardware fraco. Periodicamente, a carga sobre o servi\u00e7o aumenta v\u00e1rias vezes. Nesse caso, o hardware fraco n\u00e3o consegue lidar.<\/p>\n<p>\u00c9 poss\u00edvel incluir um balanceador no sistema, que distribuir\u00e1 a carga, por exemplo, entre tr\u00eas m\u00e1quinas virtuais. Neste momento, n\u00e3o conseguimos prever a carga com precis\u00e3o, ent\u00e3o mantemos uma quantidade de recursos ativos \"de reserva\". E pagamos mais pelocios. <\/p>\n<p>Nessa situa\u00e7\u00e3o, podemos otimizar o sistema atrav\u00e9s de uma abordagem h\u00edbrida: deixamos uma m\u00e1quina virtual atr\u00e1s do balanceador de carga e colocamos um link para um Endpoint Serverless com fun\u00e7\u00f5es. Se a carga exceder o limite, o balanceador inicia inst\u00e2ncias de fun\u00e7\u00f5es que lidam com parte dos pedidos.<\/p>\n<p><img decoding=\"async\" alt=\"Serverless por partes\" src=\"\/wp-content\/uploads\/2019\/05\/79262c19faba29a4639a05e3097f7914.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDessa forma, o Serverless pode ser usado em situa\u00e7\u00f5es em que \u00e9 necess\u00e1rio processar um grande n\u00famero de solicita\u00e7\u00f5es, mas n\u00e3o com frequ\u00eancia. Nesse caso, iniciar v\u00e1rias fun\u00e7\u00f5es por 15 minutos \u00e9 mais econ\u00f4mico do que manter uma m\u00e1quina virtual ou servidor constantemente ativo.<\/p>\n<p>Apesar de todas as vantagens da computa\u00e7\u00e3o serverless, antes de implementar, \u00e9 importante avaliar a l\u00f3gica do aplicativo e entender quais tarefas o Serverless pode resolver em cada caso espec\u00edfico. <\/p>\n<h2>Serverless e Selectel<\/h2>\n<p>\nNa Selectel j\u00e1 <noindex><a rel=\"nofollow\" href=\"https:\/\/kb.selectel.ru\/42078178.html?utm_source=habr.com&amp;amp;utm_medium=referral&amp;amp;utm_campaign=Functions_Serverless_Article_170519\">simplificamos o trabalho com Kubernetes<\/a><\/noindex> atrav\u00e9s do nosso painel de controle. Agora estamos construindo nossa pr\u00f3pria plataforma FaaS. Queremos que os desenvolvedores possam resolver suas tarefas usando Serverless atrav\u00e9s de uma interface conveniente e flex\u00edvel.<\/p>\n<p>Se voc\u00ea tem ideias sobre como deve ser a plataforma FaaS ideal e como gostaria de usar Serverless em seus projetos, compartilhe-as nos coment\u00e1rios. Levaremos suas sugest\u00f5es em considera\u00e7\u00e3o ao desenvolver a plataforma.<br \/>\n\u00a0<br \/>\nMateriais utilizados no artigo:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.rightscale.com\/lp\/state-of-the-cloud\">A porcentagem de uso de Serverless aumentou em 1,5 vezes (relat\u00f3rio completo da RightScale)<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mikhail.io\/serverless\/coldstarts\/aws\/\">Como o tempo de inicializa\u00e7\u00e3o a frio depende da linguagem da aplica\u00e7\u00e3o<\/a><\/noindex><\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/selectel\/blog\/452266\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u00ab\u0443\u0431\u0438\u0439\u0446\u0430\u00bb \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u043d\u0435 \u043c\u0438\u043c\u043e\u043b\u0435\u0442\u043d\u044b\u0439 \u0442\u0440\u0435\u043d\u0434. \u042d\u0442\u043e \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c \u0432 \u043e\u0431\u043b\u0430\u043a\u0435. \u0412 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043a\u043e\u0441\u043d\u0435\u043c\u0441\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Serverless-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u0438\u0433\u0440\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 Serverless-\u0443\u0441\u043b\u0443\u0433\u0438 \u0438 open-source \u043f\u0440\u043e\u0435\u043a\u0442\u044b. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f Serverless. \u042f \u0445\u043e\u0447\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0434\u0430 \u0445\u043e\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430). [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25594,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33935","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Serverless \u043f\u043e \u0441\u0442\u043e\u0435\u0447\u043a\u0430\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/serverless-po-stoechkam\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:55:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:55:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Serverless em t\u00f3picos | ProHoster","description":"Serverless n\u00e3o se trata da aus\u00eancia f\u00edsica de servidores.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/serverless-po-stoechkam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Serverless \u043f\u043e \u0441\u0442\u043e\u0435\u0447\u043a\u0430\u043c | ProHoster","og:description":"Serverless \u2015 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/serverless-po-stoechkam","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:55:27+00:00","article:modified_time":"2019-10-31T18:55:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33935","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 17:17:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:31:21","updated":"2026-01-21 17:17:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/33935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=33935"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/33935\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/25594"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=33935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=33935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=33935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}