Conclui: Um novo começo?
Todas as empresas, independentemente das suas origens, estão a transformar-se numa empresa digital. Esta transformação requer a entrega de APIs e serviços a serem consumidos por aplicações móveis, dispositivos na Internet das coisas (IoT), ou mesmo veículos e sistemas autónomos. A crescente criticidade desses sistemas significa que esses sistemas on-line devem ser construídos para redundância, tolerância a falhas e alta disponibilidade. Ao mesmo tempo, os requisitos do negócio requerem uma rápida Agile para desenvolver e implementar novo software, iterar em aplicações existentes ou experimentar novas interfaces de utilizador e APIs. A confluência desses requisitos levou a um aumento de ordem de grandeza no número de sistemas distribuídos que precisam ser construídos.
A tarefa de construir estes sistemas continua a ser demasiado difícil. O custo global de desenvolvimento, atualização e manutenção de um sistema deste tipo é demasiado elevado. Do mesmo modo, o conjunto de pessoas com as capacidades e competências para construir tais aplicações é demasiado pequeno para responder à necessidade crescente.
Historicamente, quando estas situações se apresentavam no desenvolvimento de software e na tecnologia, surgiam novas camadas de abstração e padrões de desenvolvimento de software para tornar a construção de software mais rápida, mais fácil e mais fiável. Isto aconteceu primeiro com o desenvolvimento dos primeiros compiladores e linguagens de programação. Mais ...