No post anterior eu falei sobre Open Application Model (OAM) o que me leva a falar de CNAB comparando-o com OAM.
Sobre uma perspectiva de empacotamento e nascendo um pouco antes do OAM, a Docker, HashiCorp, e Bitnami criaram a CNAB – Cloud Native Application Bundle (que agora conta também com Pivotal, Intel e Datadog), uma especificação destinada ao empacotamento e distribuição de aplicações. Ao contrario do que eu mesmo imaginava, quando li sobre o lançamento da OAM no post no Microsoft Open Source blog dia 16, o OAM tem muito potencial para trabalhar lado-a-lado com o CNAB. Resolvi trazer esse assunto à tona aqui, acreditando que se tratava de um concorrente que não havia abordado ainda, embora estivesse na lista. Mas não, essa capacidade de colaboração é explícita no FAQ do OAM como mostro no tópico abaixo.
Como o OAM se compara ao CNAB? (Tradução do FAQ)
CNAB (Cloud Native Application Bundles) é um formato para empacotar e distribuir aplicações distribuídas, incluindo aplicações criados usando o OAM. Por sua vez, o OAM não define ou prescreve um formato de empacotamento. Mas funciona bem com o CNAB (assim como com o Helm). Ao direcionar mais de uma implementação do OAM, os desenvolvedores podem achar o CNAB um ajuste de empacotamento melhor que o Helm.
Curiosidades
No bundle que vemos em github.com/deislabs/cnab-spec/blob/master/101-bundle-json.md vemos algumas coisas interessantes:
- Freqüência de Backups
- Certificados
- Configurações especificas de Kubernetes
- Suporte a Docker e OCI (open container initiative)
- Informações muito detalhadas sobre autor, incluindo cidade, estado, endereço.
- Hotspots de configuração para eventos de install, upgrade, uninistall.
Conclusão
Esse modelo oferece um rico metadado para expressar como empacotar uma aplicação, com ponteiros bem definidos para imagens específicas, suportando não somente docker como OCI, de forma extensível, expressando ações e scripts para serem executados durante instalação, upgrade e desisntalação. Conta com um rico metadado a respeito do autor.
Pelo tipo de especificação, não me admiraria daqui a algum tempo, encontrar informações de distribuição, como detalhes de licenciamento, permissões e restrições por país, como acontece com o standard DDEX.
0 comentários