Using container-based virtualization on web apps production environment: dipcode development cycle

Abstract

Dissertação de mestrado integrado em Engenharia InformáticaWith the fast evolution of the internet over the last years, the top priority on software development has shifted from what? to when?. Reduced time-to-market is now the competitive edge that all companies strive for. The usage of container-based virtualization technologies keep the multiple environments where a development team works similar enough, that their work is made easier when devel oping and testing new features, which in turn results in a significantly faster delivery. The nature of this tecnhology also brings numerous advantages when it comes to management, monitoring and maintaining resources, allowing for an ease of adjustment, based on the client needs. Throughout this dissertation is presented an extended base of knowledge about container technologies, especially Docker, as well as what are the basic techniques to use when building an application inside such infrastructure, from the writing of the Dockerfile to the adaptation of the multiple pipelines responsible to deploy the application.Com a rápida evolução da internet nos últimos anos, a prioridade máxima no desenvolvi-mento de software transformou-se de "o quê?" para "quando?". Disponibilizar rapidamente uma aplicação no mercado é agora a vantagem competitiva que todas as empresas ambi-cionam ter. A utilização de tecnologias de virtualização através de containers uniformizam os vários ambientes em que a equipa de desenvolvimento opera, facilitando assim o seu trabalho no que diz respeito à adição e teste de novas funcionalidades, o que resulta numa entrega significativamente mais rápida. A natureza desta tecnologia trás inúmeras vantagens à gestão, monitorização e manutenção de recursos, permitindo facilmente aumentar ou reduzir os mesmos baseado nas necessidades dos seus clientes. Nesta dissertação é apresentada uma extensa base de conhecimento sobre as tecnologias de containerização, em especial o Docker, bem como quais as técnicas base a utilizar quando se pretende construir uma aplicação com uma infraestrutura deste tipo, desde a escrita do Dockerfile, até à adaptação das várias pipelines responsáveis por disponibilizar a aplicação em ambiente de produção

    Similar works