CAPI: uma abordagem de desenvolvimento usando tecnologias serverless
tcc
RESUMO: Nos últimos anos, a computação em nuvem se transformou em uma tecnologia amplamente usada para impulsionar empresas. Hoje, grande parte das empresas usam alguma solução neste formato e continuam a abraçar a migração para ele, afim de melhorar a elasticidade, eficiência e inovação. Os motivos para essa migração são diversos, como falta de condições para construir infraestrutura própria para hospedagem da solução e altos custos devido a crescente evolução desta tecnologia. Começar a trabalhar em nuvem é uma tarefa complicada, atualmente, existe pouca mão de obra qualificada, e mesmo para quem tem interesse não se encontra muitos materiais que abordam a complexidade de um contexto onde os seguintes conceitos como infraestrutura como código, funções lambda, pipeline, banco de dados, \textit{"Application Program Interface"}(API), são apresentados juntos, o que torna a difícil compreensão de como esses conceitos se relacionam. Para auxiliar com isso, neste trabalho, serão apresentados tais conceitos, como eles se relacionam e como utilizá-los por meio da construção de uma api de jogos(Gamer API), com funções de criar, atualizar, etc. Visando simplificar e reduzir custos, essa API utiliza recursos que usam o modelo \textit{serverless}, pois com ele em vez de pensar em aplicativos como coleções de servidores, os desenvolvedores definem aplicativos com um conjunto de funções e com acesso a banco de dados comum a todos. Assim, em tese desenvolvedores não precisam se preocupar com fatores como o gerenciamento de servidores, instalação de sistema operacional, manutenção de servidor, etc. Dessa forma, eles podem se preocupar somente com a funcionalidade, ou seja, em resolver o problema. A implementação da Gamer Api destacou boas práticas de desenvolvimento de software, como integração contínua, testes automatizados, arquitetura escalável e processo de análise e projeto. Com isso, foi demonstrado a facilidade de replicação e manutenção da infraestrutura e foi possível construir uma API só com tecnologias serverless, na qual será utilizada recursos sob demanda, o que ajuda a economizar custos, fornece alta disponibilidade e facilita replicação. É claro que ainda existe muita coisa a evoluir nesse modelo como mais opções de bancos para se trabalhar, mas é algo que se mostra bem promissor pela flexibilidade. Palavras-chave: Serverless, AWS, Nuvem, Infraestrutura.
ABSTRACT: In recent years, cloud computing has developed into a widely used technology to boost companies. Today, most companies use some solution in the cloud and continue to embrace cloud migration in order to improve elasticity, efficiency and innovation. The reasons for this migration are diverse, as a lack of conditions to build its own infrastructure to host the solution and high costs due to the increasing evolution of this technology. Start working in the cloud is a complicated task, currently, there is little skilled labor, and even for those who are interested, there are not many materials where concepts such as infrastructure like code, lambda functions, pipeline, database, "Application Program Interface" (API), are presented together, which makes understanding how these concepts relate to each other difficult. To help with this, in this work, such concepts will be presented, how they relate and how to use them by building an api of games(Gamer API), with functions to create, update, etc. In order to simplify and reduce costs, this API uses resources that use the serverless model, because with it instead of thinking of applications as collections of servers, developers define applications with a set of roles and with common database access everyone, so developers don’t have to worry about things like managing servers, operating system installation, server maintenance, etc. In this way, they can only care about functionality, that is, solving the problem. The implementation of Gamer API highlighted good software development practices, such as continuous integration, automated testing, scalable architecture, and analysis and design. This demonstrated the ease of replication and maintenance of the infrastructure and it was possible to build an API only with technologies serverless, in which resources will be used on demand, which helps to save costs, provides high availability and facilitates replication. It is clear still there is a lot to evolve in this model such as more database options for to work with, but it is something that is very promising for its flexibility.
- Engenharias643
Redes Sociais