É engraçado quando pensamos em qual peça fundamental é responsável por resolver um problema.
Um exercício interessante é pensar como a humanidade conseguiu evoluir e conquistar o planeta. Isso só foi possível pela nossa capacidade de abstrair. A abstração possibilitou o surgimento de especializações e, assim, fomos progredindo.
Tá, eu sei que os dinossauros conquistaram o planeta e não sabiam abstrair, mas é um pouco diferente essa situação.
Voltando à minha mente doentia. Quando usamos boas abstrações, temos uma chance absurdamente alta de resolver o problema. Eu já cansei de ver soluções em busca de um problema pra resolver e já até me peguei usando recursos da linguagem pra resolver um problema só porque eu queria usar esse recurso.
O mundo tá cheio de boas abstrações como o V-Mail, que basicamente era uma fotografia das cartas que eram enviadas durante a Segunda Guerra. Infelizmente não faltam exemplos de abstrações que se provaram não ser eficientes pra resolver o problema a que se propuseram.
O Kubernetes, por exemplo, é uma baita abstração de um orquestrador. Um colega meu uma vez criou um player de música simples pra demonstrar como ele poderia ser usado pra orquestrar outras coisas que não fossem pods.
O JSF era uma abstração super interessante que infelizmente não pegou. Talvez pela forma complexa com que ele modelava a web naquela época, talvez pelo surgimento de frameworks action-based mais intuitivos e prazerosos de se usar. Me lembro de ter lido um tópico muito legal no GUJ sobre isso no tempo em que cloud só era termo técnico pra meterologistas.
Enfim, o ponto que quero chegar é: sempre pense nas abstrações antes de resolver um problema. A arquitetura de microserviços é um exemplo bem atual disso. No final das contas ela basicamente serve pra escalar pessoas e não código. É fundamentalmente um sistema distribuído e essa abstração está longe de resolver a maioria dos problemas em que é colocada à prova.
Pra variar, eu falo um pouco mais sobre isso no episódio novo do meu podcast. A quem interessar essa reflexão:
https://www.backpackcloud.com/right-in-the-middle/2021/07/28/look-ma-no-microservices.html
PS: Parece até que to usando a Taverna pra promover o podcast, na realidade eu não tenho saco pra isso, mas sempre acompanho o Kiko, desde os tempos de glória do GUJ, e sinto que aqui é um lugar legal pra jogar essas ideias no ar. No Twitter, LinkedIn e afins eu só posto o link mesmo. Aqui eu me sinto à vontade pra escrever alguma coisa sobre.
Abraços!