Capítulo 2: Aplicação OCI PIZZA
2.1 Overengineering
Decidi abordar o tema sobre Overengineering logo no início do capítulo, pois é importante esclarecer que parte do que será apresentado ao longo do livro é, de fato, um exemplo de Overengineering.
Overengineering é um termo utilizado para descrever a prática de criar um produto ou sistema com mais complexidade ou recursos do que o necessário, muitas vezes resultando em desperdício de tempo e dinheiro.
Ao longo dos capítulos deste livro, o Overengineering se tornará mais evidente, especialmente ao abordarmos a transição da Arquitetura Monolítica para uma Arquitetura de Microsserviços. Em uma aplicação real e simples como a OCI PIZZA, uma Arquitetura Monolítica é, de fato, a melhor escolha.
Por fim, é importante lembrar que o objetivo deste livro é explorar as práticas e os conceitos relacionados ao termo Cloud Native, utilizando uma aplicação real como exemplo, além de demonstrar como utilizar os serviços em nuvem oferecidos pelo OCI. Assim, em determinados momentos, abordaremos soluções mais complexas e que não são necessárias para o problema que a aplicação OCI PIZZA busca resolver, mas que ajudam a ilustrar algumas práticas na implementação de aplicações Cloud Native no OCI.
A dica que fica é: para uma aplicação do mundo real, é importante mantê-la o mais simples possível.