Contexto
A engenharia de software tem padrões de design de software (por exemplo, GoF ), que descrevem soluções para problemas comuns de codificação - geralmente no nível do código; da mesma forma, existem padrões de arquitetura (por exemplo, Fowler ) que lidam com a arquitetura do sistema em geral (embora estes lidem com considerações fora do código puro, eles geralmente parecem se concentrar mais em questões de engenharia de software do que em questões de infraestrutura).
Também notei que provedores de plataforma como a Microsoft estão lançando " padrões de design de nuvem ".
A infraestrutura como código (IoC) é uma complicação adicional em que considerações de nível de software/codificação começam a se tornar relevantes.
Pergunta(s) específica(s)
No reino da Infraestrutura, padrões orientados à infraestrutura são mesmo uma coisa? Se sim, há alguma coleção relativamente definitiva deles que seja amplamente compreendida pela comunidade de infraestrutura? Ou você apenas 'pega emprestado' padrões de arquitetura de sistema?
Aliás, supondo que a resposta acima seja, em termos gerais, "sim", os padrões de infraestrutura de nuvem são vistos como parte ou extensão desses padrões, ou são vistos como um conjunto separado?
Para sua informação
Sou um arquiteto de soluções que vem de um background de desenvolvimento de software, não de infraestrutura. Quando digo "infraestrutura", estou me referindo a coisas como redes, servidores físicos e virtuais e sua arquitetura de implantação, planejamento de capacidade e volume, segurança de servidor e rede, e assim por diante - basicamente qualquer coisa em que um arquiteto de "software" possa confiar, mas não arquitetar explicitamente a si mesmo.
Atualização - Definições
Só para esclarecer para quem estiver lendo isso mais tarde:
" Padrões " é um termo amplo , que não é específico de uma disciplina...
Em engenharia de software, um padrão de design de software é uma solução específica (muito parecida com uma receita) para um problema comum de nível de código. Esses tipos de padrão geralmente são agnósticos em tecnologia, mas podem ser específicos para um paradigma de linguagem de programação (por exemplo, Orientado a Objetos vs. uma alternativa).
Padrões de Arquitetura (de Sistema/Aplicativo) abrangem problemas comuns de arquitetura e design em nível de sistema, incluindo: estrutura de componentes internos, funções e responsabilidades em nível de componente, aspectos transversais como autenticação e autorização, tratamento de erros e observabilidade, persistência de dados.