Governação desde a conceção
Qualquer linguagem, qualquer nuvem: porque continuamos agnósticos
Porque trabalha a Croo com as linguagens e nuvens que a organização já usa, ou opera ela própria a aplicação, e porque se decide o alojamento na conceção.
Da equipa · Arquitetura · · 4 min de leitura

Uma das primeiras perguntas que ouvimos é que tecnologia utilizamos. É uma pergunta justa, e a nossa resposta pode parecer evasiva à primeira vista: utilizamos a que encaixa. Trabalhamos nas linguagens e nas frameworks em que uma organização já se apoia, implementamos na nuvem que ela escolheu ou num alojamento que nós próprios gerimos, e continuamos a operar o que construímos.
Não é um slogan. É uma posição de conceção, e tem consequências na forma como as aplicações são moldadas, governadas e mantidas. Este artigo explica o raciocínio.
Agnóstico não quer dizer indiferente
Ser agnóstico não quer dizer não ter opinião. Os nossos arquitetos têm convicções fortes sobre o que torna um sistema sustentável, seguro e agradável de alterar. O que evitamos é partir de uma tecnologia favorita e encaixar a organização nela.
Cada escolha tecnológica troca um conjunto de restrições por outro. O equilíbrio certo depende da organização, não do fornecedor. Uma escolha excelente para um cliente pode ser um problema para o seguinte, porque as pessoas, os sistemas e as obrigações em torno da aplicação são diferentes.
As restrições que decidem
Quando moldamos uma aplicação, a tecnologia decorre de um punhado de perguntas específicas da organização.
- Quem vai conviver com ela? Se uma equipa interna vai manter partes do sistema, as linguagens que ela conhece importam mais do que as que nós preferimos.
- Com o que tem de comunicar? Uma aplicação raramente está isolada. O ERP, o CRM, o fornecedor de identidade e as ferramentas de relatórios já existentes determinam o que se integra de forma limpa.
- Onde podem ficar os dados? A legislação de privacidade, os contratos e as políticas internas podem decidir que regiões e que fornecedores são aceitáveis antes de qualquer preferência técnica entrar na conversa.
- Como vai ser operada? A monitorização, as cópias de segurança, as atualizações e a resposta a incidentes têm de se ajustar às pessoas e aos processos que vão assegurá-las, de dia e de noite.
- Como sairia? Todos os sistemas deveriam ter uma saída credível: para outro fornecedor, para outra equipa ou de regresso à própria organização.
Estas perguntas são feitas cedo, e as respostas ficam registadas com o resto da conceção. Não ficam para o fim, quando alterá-las sai caro.
Onde é executada é uma decisão de conceção
O alojamento é muitas vezes tratado como um pormenor operacional, resolvido depois de a aplicação estar construída. Nós tratamo-lo como parte da conceção. Uma aplicação pode ser executada na nuvem da própria organização, no seu próprio centro de dados ou numa infraestrutura gerida pela Croo. Cada opção traz responsabilidades diferentes em matéria de segurança, disponibilidade e custo, e a escolha cabe à organização.
Para que essa escolha seja real, o ambiente de destino é descrito na configuração, em vez de ficar entranhado no código. Um registo simplificado, apenas ilustrativo, tem este aspeto:
# O local onde o portal de compras é executado fica registado com a sua conceção.
application: purchasing-portal
packaging: container
environments:
- name: acceptance
hosting: client-cloud
data-residency: canada
- name: production
hosting: client-cloud
data-residency: canada
fallback:
hosting: croo-managed
reason: continua disponível se a equipa de plataforma mudar de rumo
O valor não está no formato do ficheiro. Está na disciplina: a aplicação não pressupõe onde vive, por isso movê-la é um projeto deliberado, e não uma reescrita.
Manter a porta de saída aberta
A dependência de um fornecedor raramente resulta de uma única decisão. Acumula-se em pequenas conveniências: um serviço proprietário aqui, um script sem documentação ali. Ser agnóstico significa resistir a essa acumulação em nome do cliente.
Na prática, isso traduz-se em alguns hábitos.
- Empacotamento portável. As aplicações são empacotadas para funcionar da mesma forma em qualquer ambiente que suporte contentores normalizados, para que a organização não fique presa ao ambiente de execução de um único fornecedor.
- Infraestrutura descrita como código. Os ambientes são criados a partir de definições revistas, e não montados à mão, para poderem ser recriados noutro lugar.
- Dados abertos. A organização pode exportar os seus dados em formatos documentados, a qualquer momento, sem a nossa ajuda.
- Documentação que viaja. As decisões, a arquitetura e os procedimentos de operação vivem no registo partilhado, para que outra equipa possa assumir o trabalho.
Nada disto impede a utilização do melhor serviço que um fornecedor oferece. Significa saber, e deixar por escrito, quanto essa escolha custaria se as circunstâncias mudassem.
O que ser agnóstico exige de nós
Trabalhar com várias linguagens e nuvens é mais difícil do que especializar-se numa só. Exige amplitude na equipa e disciplina na forma de guardar o conhecimento.
Há duas coisas que tornam isto sustentável. A primeira é a memória partilhada da Factory: padrões, decisões e lições de uma tecnologia ficam registados de forma que o trabalho seguinte os possa aproveitar. A segunda é a produção assistida por IA, que reduz o esforço de trabalhar com uma framework menos conhecida ou de ler código desconhecido. O discernimento sobre arquitetura, segurança e cedências continua nas mãos de pessoas seniores que respondem por ele.
Governação desde a conceção
Escolher onde uma aplicação é executada é também uma decisão de governação. A residência dos dados, o controlo de acessos, a encriptação, as cópias de segurança e o tratamento de dados pessoais são definidos na mesma conversa que a tecnologia, e registados com ela.
É por isso que colocamos este tema na governação desde a conceção. Uma organização deveria poder dizer, a qualquer momento, onde são executadas as suas aplicações, quem lhes pode aceder, porque é que essas escolhas foram feitas e como as poderia alterar. Ser agnóstico é a nossa forma de manter essas respostas nas mãos da organização.
Em resumo
Não vendemos um conjunto fechado de tecnologias. Construímos aplicações empresariais nas linguagens e nas nuvens que servem a organização, ou operamo-las nós próprios quando essa é a melhor resposta. As restrições decidem, as escolhas ficam registadas e a porta de saída continua aberta.

