{"id":306,"date":"2019-06-26T20:01:33","date_gmt":"2019-06-26T23:01:33","guid":{"rendered":"https:\/\/virgilalmeida.com.br\/redes\/?p=306"},"modified":"2019-06-26T20:17:52","modified_gmt":"2019-06-26T23:17:52","slug":"a-revolucao-serverless","status":"publish","type":"post","link":"https:\/\/virgilalmeida.com.br\/redes\/2019\/06\/26\/a-revolucao-serverless\/","title":{"rendered":"A revolu\u00e7\u00e3o Serverless"},"content":{"rendered":"\n<h2>Resumo<\/h2>\n\n\n\n<p>O modelo de arquitetura <em>Serverless<\/em> (Do ingl\u00eas &#8220;sem servidor&#8221;) \u00e9 a base de servi\u00e7os conhecidos como <em>Backend as a Service<\/em> (BaaS) e<em> Function as a Service (FaaS)<\/em>. O termo Serverless pode soar muito estranho para pessoas que n\u00e3o o conhecem mas que t\u00eam viv\u00eancia com os modelos de arquitetura j\u00e1 existentes, isso porqu\u00ea o servidor de aplica\u00e7\u00e3o \u00e9 uma parte fundamental em praticamente em todos os modelos de sistemas distribu\u00eddos j\u00e1 existentes. A verdade \u00e9 que ainda h\u00e1 sim um servidor por tr\u00e1s de tudo, mas toda a gest\u00e3o deste \u00e9 repassada para terceiros, incumbindo a empresa que deseja ter um servi\u00e7o no ar apenas de desenvolver o c\u00f3digo fonte e fornec\u00ea-lo para ser executado pela plataforma que prov\u00e9m o servi\u00e7o.  <\/p>\n\n\n\n<h2>Sistemas Distribu\u00eddos<\/h2>\n\n\n\n<p>Um sistema distribu\u00eddo consiste de diversos computadores independentes entre si, inclusive podendo estar em locais distantes uns dos outros, ligados atrav\u00e9s de uma rede que se apresentam aos usu\u00e1rios como um sistema \u00fanico e coerente.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" width=\"720\" height=\"540\" src=\"https:\/\/virgilalmeida.com.br\/redes\/wp-content\/uploads\/2019\/06\/dist.jpg\" alt=\"\" class=\"wp-image-312\" srcset=\"https:\/\/virgilalmeida.com.br\/redes\/wp-content\/uploads\/2019\/06\/dist.jpg 720w, https:\/\/virgilalmeida.com.br\/redes\/wp-content\/uploads\/2019\/06\/dist-300x225.jpg 300w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><figcaption>Representa\u00e7\u00e3o ilustrativa de um sistema distribu\u00eddo<\/figcaption><\/figure>\n\n\n\n<p>Sistemas distribu\u00eddos est\u00e3o por toda parte no cotidiano de todos, um exemplo simples \u00e9 um website. P\u00e1ginas da web se apresentam para os usu\u00e1rios como um lugar endere\u00e7avel onde os usu\u00e1rios podem ir a fim de consumir um servi\u00e7o ou de obter informa\u00e7\u00f5es, mas por tr\u00e1s desse endere\u00e7o existe uma rede enorme de computadores que se organizam para que aquela p\u00e1gina possa chegar no computador de cada usu\u00e1rio com seguran\u00e7a e os dados corretos. Um dos principais computadores que permitem isto \u00e9 o Servidor daquele site, \u00e9 para ele que comumente todas as requisi\u00e7\u00f5es s\u00e3o endere\u00e7adas, e dele que partem todas as respostas aos clientes, sendo que sem ele dificilmente \u00e9 poss\u00edvel haver uma troca de dados. <\/p>\n\n\n\n<h2>Serverless<\/h2>\n\n\n\n<p>Se o servidor de aplica\u00e7\u00e3o \u00e9 a parte mais importante dos sistemas distribu\u00eddos ent\u00e3o como \u00e9 poss\u00edvel que uma arquitetura que se auto-intitula &#8220;sem servidor&#8221; funcione? Bem, a quest\u00e3o \u00e9 que por mais que o nome indique que n\u00e3o haja um servidor a verdade \u00e9 que h\u00e1 sim um, a diferen\u00e7a existe \u00e9 na forma em que este servidor \u00e9 gerenciado. Como falei anteriormente o servidor de aplica\u00e7\u00e3o \u00e9 uma das partes mais importantes de servi\u00e7os distribu\u00eddos, por causa disso se h\u00e1 algum problema ou ent\u00e3o um fluxo de dados muito grande de forma repentina, \u00e9 poss\u00edvel que o servi\u00e7o saia do ar.<\/p>\n\n\n\n<p>Como ent\u00e3o \u00e9 que os administradores de sistema mant\u00e9m os servidores rodando independente do qu\u00ea aconte\u00e7a? Atrav\u00e9s de um trabalho \u00e1rduo de monitoramento, prote\u00e7\u00e3o e constante melhoria dos servidores, garantindo que independente do fluxo de dados que entra no servi\u00e7o o servidor de aplica\u00e7\u00e3o seja capaz se manter &#8220;de p\u00e9&#8221; e processando tudo. A quest\u00e3o \u00e9 que todo esse processo demanda uma equipe dedicada e equipamentos de ponta, o que custa muito dinheiro e tempo.<\/p>\n\n\n\n<p>A grande sacada dos servi\u00e7os que fornecem um produto Serverless \u00e9 que eles abstraem dos seus clientes, empresas que t\u00eam sistemas e que querem mant\u00ea-los no ar a qualquer custo, toda essa dor de cabe\u00e7a de ger\u00eancia dos servidores, facilitando a vida dos seus clientes e reduzindo drasticamente os custos de fazer isto, al\u00e9m de garantir resultados muito bons.<\/p>\n\n\n\n<h2>Os diferentes tipos de servi\u00e7os Serverless<\/h2>\n\n\n\n<p>Serverless \u00e9 um conceito bastante vago, uma vez que define apenas que a gest\u00e3o dos servidores seja feita por terceiros, mas para entender como isso \u00e9 feito na pr\u00e1tica \u00e9 necess\u00e1rio explorar alguns tipos de servi\u00e7o Serverless que existem no mercado.<\/p>\n\n\n\n<p><em><strong>Backend as a Service<\/strong><\/em><strong> (BaaS)<\/strong>: Servi\u00e7os BaaS s\u00e3o servi\u00e7os que recebem dos clientes uma base de c\u00f3digo que pode ser de uma ou v\u00e1rias aplica\u00e7\u00f5es e os executa na sua infraestrutura pr\u00f3pria, oferecendo servi\u00e7os como escalabilidade autom\u00e1tica, que permite com que os servidores se adaptem ao fluxo de informa\u00e7\u00f5es demandado deles e possuam mais ou menos poder computacional e diversas medidas de prote\u00e7\u00e3o contra ataques como DOS ou DDOS entre outras atividades maliciosas que podem acontecer com servi\u00e7os expostos \u00e0 rede.<\/p>\n\n\n\n<p><em><strong> Function as a Service (FaaS)<\/strong><\/em>: Servi\u00e7os FaaS v\u00e3o um passo \u00e0 frente dos BaaS, possibilitando ao cliente subir apenas pequenos trechos de c\u00f3digo, encapsulados em fun\u00e7\u00f5es, que s\u00e3o executados de maneira reativa e sob demanda, a partir de diversos tipos de eventos que podem acontecer em um sistema como o <em>upload<\/em> de arquivos, mudan\u00e7as no banco de dados ou at\u00e9 requisi\u00e7\u00f5es HTTP(S), tornando extremamente f\u00e1cil granularizar sistemas a fim de obter melhores performances, mantendo as garantias de escalabilidade e seguran\u00e7a presentes nos servi\u00e7os BaaS.<\/p>\n\n\n\n<h2>Conclus\u00e3o<\/h2>\n\n\n\n<p>Podemos concluir que ao que parece o conceito de Serverless veio para ficar, a partir dos produtos que v\u00eam facilitando e muito a vida das pessoas encarregadas de manter os diversos servi\u00e7os digitais que acessamos diariamente,garantindo uma web mais segura e confi\u00e1vel para todos, al\u00e9m de reduzir os custos de todo esse trabalho.<\/p>\n\n\n\n<h2>Perguntas Relacionadas<\/h2>\n\n\n\n<p>1 &#8211; O servidor de aplica\u00e7\u00e3o \u00e9 extremamente importante para os sistemas distribu\u00eddos mas n\u00e3o \u00e9 o \u00fanico envolvido, quais s\u00e3o outros dois servidores que s\u00e3o cruciais para manter um site web?<\/p>\n\n\n\n<p>2 &#8211; Qual a import\u00e2ncia de escalar um servidor de acordo com o tr\u00e1fego que ele recebe e quais os riscos de n\u00e3o fazer isto?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Resumo O modelo de arquitetura Serverless (Do ingl\u00eas &#8220;sem servidor&#8221;) \u00e9 a base de servi\u00e7os conhecidos como Backend as a Service (BaaS) e Function as a Service (FaaS). O termo Serverless pode soar muito estranho para pessoas que n\u00e3o o conhecem mas que t\u00eam viv\u00eancia com os modelos de arquitetura j\u00e1 existentes, isso porqu\u00ea o &hellip; <a href=\"https:\/\/virgilalmeida.com.br\/redes\/2019\/06\/26\/a-revolucao-serverless\/\" class=\"more-link\">Continue lendo<span class=\"screen-reader-text\"> &#8220;A revolu\u00e7\u00e3o Serverless&#8221;<\/span><\/a><\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/posts\/306"}],"collection":[{"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/comments?post=306"}],"version-history":[{"count":4,"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/posts\/306\/revisions"}],"predecessor-version":[{"id":316,"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/posts\/306\/revisions\/316"}],"wp:attachment":[{"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/media?parent=306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/categories?post=306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virgilalmeida.com.br\/redes\/wp-json\/wp\/v2\/tags?post=306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}