DEVOPS

SHIFT LEFT – SHIFT RIGHT

Os workloads deixam de ser estáticos (baseados em  software e o hardware) e tornam-se dinâmicos.  E isto é feito com a construção de novos modelos de trabalho e automação, incluindo: novas formas de desenvolvimento de aplicações, novas formas de conexão baseado em ips dinâmicos, novas formas de provisionamento e novas formas de segurança embarcada baseada na identidade máquinas, serviços e aplicações.

DevOps - SHIFT LEFT / SHIFT RIGHT

DevOps é uma metodologia de desenvolvimento de software que utiliza a cultura, automação e design para integrar desenvolvedores infraestrutura de TI, isto é: “desenvolvimento” e “operações”.

Muitas empresas liberam novas versões de software com grande periodicidade, e, para conseguir a agilidade necessária para colocar as aplicações em produção, é imprescindível considerar as orientações DevOps. O DevOps inclui segurança, maneiras colaborativas de trabalhar, análise de dados e muitas outras práticas e conceitos.

Essa metodologia ficou conhecida como implementação contínua ou entrega contínua porque, ao padronizar ambientes de desenvolvimento, também auxilia as empresas no gerenciamento do lançamento de novas versões, além de controlar e de documentar, e facilitar a operação.

Esta nova metodologia, também trás inerente a ela, uma nova arquitetura técnica de processamento de dados (workload),  feita para funcionar na cloud  (public, private, hybrid), desacoplada da infraestrutura, baseada em microservices e orchestrada por updateability, scaling and resilience.

À medida que mais equipes abraçam os desafios da entrega contínua e DevOps,  aparece um novo conceito importante, sobre  “shift-left” ou “mudar para a esquerda” e  “shift-right” ou “mudar para a direita”.

E então, quer bater um papo e compartilhar nossos casos de uso?

  1. User request access to Cloud Console Using IIQ Web Interface.
  2. After evaluating the access IIQ send the required data to Terraform for provisioning.
  3. Terraform ask for ephemeral credentials to Vault in order to provision the required modifications.
  4. Vault creates ephemeral credentials to Terraform on the desired Cloud Providers and send back to Terraform for use. After that Vault destroy the credentials.
  5. Terraform provision the access modifications and give back IIQ any relevant data, such as passwords or access keys.
  6. IIQ give back the access data to user using any pre defined business workflow that the company needs (most commnonly email to manager or user mailbox)
  7. From time to time Terraform perform a Import from the Cloud Provider in order to find rogue/orphan accounts. This data is sent back to IIQ for processing.
  8. From time to time IIQ creates an Access Certification to check if those access reported back from Terraform should still exist.

Projetos no modelo  “cascata” em meados da década de 1980, parecia ser bem razoável na época,  começar com uma análise completa do sistema a ser construído, descobrindo o que os clientes queriam.  Com o advento de um mundo de software muito mais competitivo e dinâmico,  com o surgimento das abordagens de desenvolvimento ágil.

Começamos a dividir os recursos em pedaços gerenciáveis. Toda a equipe de entrega trabalha  em estreita colaboração com os clientes para entender o que eles queriam e entregavam de forma incremental e iterativa. Começamos a aprender várias maneiras de criar qualidade em nossos produtos ao abraçarmos as práticas e princípios do Agile e DevOps.

Quando as pessoas dizem “mudar para a esquerda”, iniciamos cada novo recurso perguntando por que queremos construí-lo e depois como planejamos testá-lo. Testamos as novas idéias! Neste contexto, automação de todas as tarefas de desenvolvimento, provisionamento e mesmo segurança embarcada no processo, agilizam a entrega destes primeiros releases.

Dentre os principais domínimos da mudança para esquerda, buscamos principalmente a higienização dos serviços, isto é: RBAC, Minimal OS, Compliance Checks, Vulnerability scanning, Compliant configuration e Approved base images

Ao “mudar para a direita”,  estamos dando um foco maior na Ops do DevOps; eles vão monitorar, observar, analisar dados de log e “testar em produção”. O DevOps chamou nossa atenção para a necessidade de continuar testando mesmo quando as novas alterações são implantadas na produção.

À medida que aprendemos com os dados sobre o uso da produção, usamos esse feedback para orientar as alterações subseqüentes. E aqui, buscamos contenção e prevenção , isto é:  Image acceptance, Run with least privileges, Network controls, Container immutability, Application context authorization e Immediate incident response