Smiles - Controlando os deploy em produção com AWS e Slack


A Smiles apresentou a necessidade de que, todo e qualquer deploy que fosse realizado em seu ambiente produtivo, fosse devidamente aprovado por algum responsável adicional, que não o seu executor, para fins de maior controle e governança do ambiente.

Para isso foi necessário o desenvolvimento de um mecanismo de fácil manutenção e simples de operar, foi aí que desenvolvemos um sistema usando API Gateway, Lambda e com banco em DynamoDB, enviando mensagem no Slack do cliente com opções de aprovação de execuções.

Cliente

​A Smiles é um dos maiores programas de fidelidade do Brasil, com 16 milhões de participantes em março de 2019. Criado há 25 anos como programa de relacionamento da Varig, foi posteriormente adquirido pela GOL e em 2013 se tornou uma empresa independente, com a captação de R$ 1,1 bilhão com oferta pública inicial (IPO).

O programa de fidelidade é conhecido pela inovação e pioneirismo com o lançamento produtos e serviços lançados desde 2013, como Clube Smiles, Viaje Fácil e Conta Família. A companhia também tem a maior validade de milhas do mercado, que vão de 3 a 10 anos, de acordo com a categoria do cliente.

Desafio

O escopo do projeto foi a criação de um sistema de controle de alterações em produção com aprovações simples e rápido, contemplando os requisitos abaixo:

  1. Infra as Code.
  2. Immutable Configuration.
  3. Serverless
  4. Slack como interface.

    O projeto foi muito interessante por se tratar de integrações com produtos de mensageria e utilização de solução serverless.

    Solução

    ​O provisionamento da infra-estrutura foi desenvolvido com AWS CloudFormation.
    O API Gateway foi desenvolvido usando OpenAPI 3.0.
    Os Lambdas foram desenvolvidos em Python, o que facilitaria a integração com o Slack.

Todos os scripts de deploy, já desenvolvidos e instalados no Rundeck, foram alterados para receber o novo step de autorização de execução, que aguarda a confirmação ou negativa da execução feita pelo Slack. Veja abaixo um exemplo de mensagem:

Resultados

Com a entrega deste projeto, nenhuma execução em produção é feita sem a aprovação de uma das pessoas autorizadas no canal do Slack, trazendo maior controle com custo extremamente baixo.

Smiles - Infrastructure as Code usando AWS + Oracle Service Bus


Nós ajudamos a Smiles a automatizar todo o processo de gerenciamento da infraestrutura dos seus OSB usando Chef com AWS OpsWorks e AWS CloudFormation.

Cliente

​A Smiles é um dos maiores programas de fidelidade do Brasil, com 16 milhões de participantes em março de 2019. Criado há 25 anos como programa de relacionamento da Varig, foi posteriormente adquirido pela GOL e em 2013 se tornou uma empresa independente, com a captação de R$ 1,1 bilhão com oferta pública inicial (IPO).

O programa de fidelidade é conhecido pela inovação e pioneirismo com o lançamento produtos e serviços lançados desde 2013, como Clube Smiles, Viaje Fácil e Conta Família. A companhia também tem a maior validade de milhas do mercado, que vão de 3 a 10 anos, de acordo com a categoria do cliente.

Desafio

O escopo do projeto foi a migração de versão do produto Oracle Service Bus(OSB) para a versão 12.2.1.3, contemplando os requisitos abaixo:

  1. Infra as Code.
  2. Immutable Configuration.
  3. Auto Scaling em momento de maior troughput.
  4. Job no Rundeck para a criação do ambiente, onde qualquer analista de infra poderia lançar um ambiente.

O projeto foi desafiador devido à complexidade do produto e de precisarmos de um processo 100% automático, onde não poderiam ter intervenções humanas uma vez que o job no Rundeck fosse executado.

Solução

​O provisionamento da infra-estrutura foi desenvolvido com AWS CloudFormation.
A instalação e configuração do dominio OSB, foi efetuado via Chef, utilizando scripts WSLT como apoio.
O domínio OSB foi configurado utilizando Dynamic Cluster, para que fosse possivel fazer o auto scaling de forma dinamica e sem intervenção humana.

Utilizamos as seguintes ferramentas para atender os requisitos:

  1. Chef:
    • Recipes
    • Roles
    • Data bag
    • Environment
  2. WLST:
    • Dominio
    • Data Sources
    • JMS
    • Adapters
    • Realm
    • Coherence
    1. Rundeck
    • Jobs em Bash (automação da execução de CloudFormation)
  1. AWS:
    • OpsWorks
    • CloudFormation
    • EC2
    • Auto Scaling Group
    • Application Load Balancer
    • Route53
    • IAM

Resultados

Com a entrega deste projeto, toda a infra-estrutura de OSB agora é gerenciada via código, tendo benefícios como:

  • Redução no tempo de provisionamento de ambientes
  • Garantia de equalidade na configuração entre os ambientes
  • Auto-scaling para garantir resiliência em produção
  • Eliminação de falhas humanas no processo de provisionamento de ambientes
  • Redução de gastos com recursos humanos no provisionamento de ambientes

Hello, world!

A Enkel (https://enkel.com.br) é uma consultoria focada em serviços de cloud, devops, apm, AI e afins.

Liderada por profissionais com mais de 15 anos de mercado, trabalhando com os sistemas críticos das maiores empresas do Brasil e com o propósito de criar uma BULLETPROOF IT, a Enkel se insere no mercado trazendo inovação, comprometimento e conhecimento. Com uma visão 360, desde a arquitetura, passando por desenvolvimento até o suporte, se especializa em trazer soluções personalizadas e viáveis para cada cenário.

Entre em contato: contato@enkel.com.br