DevSecOps

DevSecOps

Os ciclos de vida dos softwares tradicionais separam o desenvolvimento e as operações, exigindo vários processos manuais e uma forma de interação entre equipes que inibe a velocidade de entrega.

O DevSecOps acelera o ciclo de desenvolvimento para novos recursos e melhorias, ampliando o papel da equipe Ágil para o ciclo de vida completo do software e usando a automação para acelerar processos. O DevSecOps traz preocupações de operações e segurança para o início do ciclo de vida, dando às equipes mais responsabilidade e propriedade sobre uma operação bem-sucedida do software.

No planejamento, os engenheiros determinam o projeto daquilo que está sendo construído e criam uma imagem do processo de desenvolvimento de ponta a ponta, incluindo como será testado, protegido e implantado.

As ferramentas são empregadas para organizar as atividades de cada membro da equipe e o backlog em tempo real.

Processo de codificação

Embora o processo de codificação não mude muito, ele está fortemente ligado a uma cadeia de ferramentas – ou seja, uma série de ferramentas selecionadas que fornecem automação ao longo do ciclo de vida. A cadeia de ferramentas gerencia processos contínuos de integração e implantação contínua.

O DevSecOps promove uma mentalidade de codificação diferente, pedindo aos engenheiros que pensem sobre como o código será realizado na produção — por exemplo, incluindo considerações de desempenho, segurança e manutenção durante a fase de desenvolvimento.

No ciclo de vida tradicional, a construção é geralmente semi-automatizada; em DevSecOps, a compilação é totalmente automatizada e dá início a muitas outras etapas através da cadeia de ferramentas.

A Integração do software e execução de testes de integração de chaves são feitos de forma precoce e frequente, o que permite que as equipes detectem problemas mais cedo, reduzindo consideravelmente seu custo e melhorando a velocidade de entrega.

Os testes são automatizados na maior medida possível, ocorrendo em muitos momentos ao longo do ciclo de vida, e não no final do ciclo de desenvolvimento. Os testes automatizados são então reutilizáveis para futuras peças de código. A mentalidade de teste difere do ciclo de vida tradicional porque os desenvolvedores estão pensando em critérios de teste que precisam passar antes de começar a trabalhar, muitas vezes empregando metodologias como o desenvolvimento orientado por testes.

No DevSecOps, a segurança está incorporada no ciclo de vida. As metas de segurança são identificadas durante o planejamento; durante a codificação, são empregadas práticas seguras de codificação; durante a compilação/teste, as equipes verificam possíveis vulnerabilidades.

Após a implantação, a segurança continua monitorando possíveis incidentes. São estabelecidos guard-rails de segurança e testes automatizados, garantindo a capacidade de implantar um código seguro com velocidade.

Uma das principais vantagens do DevSecOps é que ele permite uma implantação de código muito mais rápida e automatizada para vários ambientes, levando em conta as diferenças de configuração.

Essa vantagem de velocidade é ainda mais pronunciada em uma arquitetura moderna de microsserviços, em oposição a uma monolítica. É claro que você precisa de um lugar para implantar, então o DevSecOps geralmente requer a capacidade de configurar ambientes sob demanda.

Após a implantação, o monitoramento é uma responsabilidade compartilhada entre desenvolvedores e a equipe do DevSecOps, ao contrário do ciclo de vida tradicional, que tem uma maior separação entre desenvolvimento e operações.

Como os desenvolvedores têm uma participação compartilhada na estabilidade e desempenho de sua aplicação, a qualidade do produto resultante geralmente é maior.

 

Novos modelos de fornecedores para serviços de TI

Muitas empresas aproveitam o mercado global de serviços de TI para acessar grandes pools de talentos tecnológicos. Algumas dependem de provedores de serviços de TI para mais de 50% de sua força de trabalho em tecnologia, mas os líderes reconhecem a importância estratégica da tecnologia e favorecem cada vez mais proporções altas de talentos tecnológicos internos.

Porém, apesar dessa tendência, os fornecedores externos continuam oferecendo vantagens: eles ajudam as empresas a acessar uma gama mais ampla de talentos, reduzindo custos e fornecendo capacidade flexível.

Com as equipes ágeis, as organizações têm a oportunidade de melhorar a eficácia desses serviços de TI usando um modelo de contratação mais adequado para operar.

Ao reter provedores de serviços de TI, a maioria das organizações geralmente segue um dos três modelos de contratação: aumento de pessoal, projetos de entrega fixa ou serviços gerenciados.

Embora cada um desses modelos ainda possa ser útil em determinadas circunstâncias, a capacidade gerenciada é uma alternativa que melhor se alinha aos princípios ágeis, como a valorização da colaboração do cliente sobre a negociação de contratos.

Modelo de capacidade gerenciada

Em um modelo de capacidade gerenciada, o fornecedor disponibiliza um pool persistente de talentos, tipicamente na forma de equipes ágeis que possuem as habilidades e experiências interfuncionais necessárias.

O cliente define prioridades para as equipes e garante que um gerente interno de produto tenha responsabilidade pelos resultados, não pelo fornecedor.

Isso é importante porque o gerente de produto tem a confiança da organização e uma compreensão mais profunda das trocas.

Um modelo de capacidade gerenciada também é mais flexível, pois o gerente de produto mantém o controle sobre o escopo do trabalho. Se surgirem alterações, não há necessidade de alterar o contrato.

O modelo também tem vantagens para os provedores de serviços de TI: elimina o tempo e o custo de responder a solicitações incrementais e pedidos de alteração.

O gerente de produto do cliente mantém a responsabilidade por escopo, prioridades e resultados, ao mesmo tempo em que estabelece expectativas claras para o provedor de serviços de TI.

Para garantir que esses arranjos de capacidade gerenciada sejam produtivos, os contratos normalmente limitam a rotatividade dos membros da equipe e permitem que os clientes saiam do contrato se estiverem decepcionados com a eficácia de suas equipes de fornecedores.

 

Continue lendo

Excelente Lugar Para Trabalhar

Estamos extremamente felizes e desejamos expressar nosso sincero agradecimento a todos os membros de nossa equipe, suas percepções foram fundamentais para conquistarmos a certificação Great

Organizando nossos projetos

Antes de começarmos a “pensar microsserviços”, precisamos compreender dois princípios importantes: o primeiro chamado “Lei de Conway”; e o segundo, “Lei de Conway Reversa”. A

Dimensionamento Agile

A definição de dimensionamento Agile é criar uma empresa Ágil. Visamos criar sistemas de negócios ágeis, transformando a burocracia corporativa e a inovação em parceiros