Repository logo
 
No Thumbnail Available
Publication

Desenvolvimento Serverless: Soluções, Impacto e Futuro

Use this identifier to reference this record.
Name:Description:Size:Format: 
DM_PedroRocha_2021_MEI.pdf7.9 MBAdobe PDF Download
license (2).txt1.74 KBLicense Download

Abstract(s)

Os processos de implantação de software tradicionais, i.e baseados num modelo on-premises, com um conjunto de servidores mais ou menos estático e bem definido tem cada vez mais vindo a revelar-se problemático quer seja pela rápida obsolescência dos dispositivos, quer seja pelo aumento da necessidade de equipamentos quer seja pelos custos de manutenção, ou outros. Assim, para dar resposta a estes problemas, os processos de implantação tem evoluído e conduzido a novos modelos de serviço que visam então simplificar esta implantação. Deixou de ser necessário preparar e alocar espaço para máquinas físicas e equipamentos de rede, passando-se a alugar máquinas virtuais e a delegar a preocupação de gerir os recursos físicos que estas acarretam a uma outra entidade. Apesar desta evolução, as empresas continuam ainda a pensar e a despender tempo útil nos seus sistemas em termos de servidores, deixando por vezes para segundo plano o que é efetivamente mais relevante para si em termos operacionais: que as suas aplicações executem a lógica que é suposto e que os seus dados estejam seguros e corretos. Neste sentido, desde 2012, têm surgido estudos sobre o que significaria gerir sistemas e não servidores. A esta forma de trabalhar deu-se o nome de serverless, nome esse que não se deve ao facto de não existirem servidores mas sim ao facto de não se pensar tanto neles. Por outro lado, esta evolução nos processos de implantação também tem impactado diretamente a forma como o próprio software é desenvolvido de modo a suportar estes novos modelos e paradigmas (e.g serverless). Assim o principal objetivo desta dissertação é aferir este impacto e identificar e desenhar um conjunto de recomendações que devem ser adotadas no desenvolvimento de aplicações e respetivas arquiteturas com vista a eliminar ou minimizar as dificuldades que condicionam a adoção de serverless. De forma a aferir este impacto foi desenvolvido um caso de estudo, inserido no contexto de uma loja e-Commerce de artigos de arte, que permitiu identificar as diferenças existentes entre o desenvolvimento serverless e os métodos de desenvolvimento atuais como é o caso de desenvolvimento orientado a microserviços. Para além disso, os resultados obtidos na avaliação deste caso de estudo permitiram concluir que, quando aplicado em contextos específicos, o desenvolvimento serverless ainda que apresente um rendimento superior e melhores tempos de resposta quando exposto a cargas de utilização maiores quando comparado com arquiteturas atuais como é o caso de arquiteturas orientadas a microserviços esta diferença nos resultados ainda não é significativa, havendo espaço para evolução neste aspecto.
The traditional software deployment processes, i.e., based on an on-premises model, with a more or less static and well-defined set of servers, have been increasingly problematic, whether due to the rapid obsolescence of the devices, the increased need for equipment, or the maintenance costs, or others. Thus, in response to these problems, the deployment processes have evolved and led to new service models that aim to simplify this deployment. It is no longer necessary to prepare and allocate space for physical machines and network equipment, but to rent virtual machines and delegate the concern of managing the physical resources that these entail to another entity. Despite this evolution, companies still continue to think and spend time on their systems in terms of servers, sometimes leaving to the background what is actually more relevant to them in operational terms: that their applications run the logic they are supposed to and that their data is secure and correct. In this sense, since 2012, there have been studies about what it would mean to manage systems and not servers. This way of working has been called serverless, a name that is not due to the fact that there are no servers, but to the fact that we don’t think about them so much. On the other hand, this evolution in the deployment processes has also directly impacted the way the software itself is developed in order to support these new models and paradigms (e.g. serverless). The main goal of this thesis is to assess this impact and to identify and design a set of recommendations that should be adopted in the development of applications and respective architectures in order to eliminate or minimize the difficulties that condition the adoption of serverless. In order to assess this impact, a case study was developed, within the context of an art e-Commerce store, which allowed the identification of the existing differences between serverless development and current development methods, such as microservices oriented development. In addition, the results obtained in the evaluation of this case study allowed to conclude that, when applied in specific contexts, even though serverless development presents superior performance and better response times when exposed to greater use loads when compared to current architectures such as microservices-oriented architectures, the difference in results is still not significant, and there is room for evolution in this aspect.

Description

Keywords

Processo de desenvolvimento Nuvem Serverless E-Commerce Cloud Development Process

Citation

Research Projects

Organizational Units

Journal Issue

Publisher

CC License