O AWS CodeDeploy é um serviço que automatiza implantações de aplicativos em diversos serviços de computação, incluindo o Amazon EC2, o AWS Fargate, o AWS Lambda e instâncias no local. O CodeDeploy automatiza completamente as implantações de aplicativos, eliminando a necessidade de operações manuais. O CodeDeploy protege seu aplicativo contra tempo de inatividades durante implementações através de atualizações constantes e monitoramento da saúde da implementação. O CodeDeploy oferece controle centralizado das suas implementações por meio do Console de Gerenciamento da AWS, ILC, SDKs ou APIs, permitindo que você lance, controle e monitore suas implementações. Você pode ver o progresso da implantação até o nível de eventos de configuração individuais. O CodeDeploy monitora e armazena o histórico recente de suas implementações, para que você possa investigar o cronograma e o histórico de alterações das implementações passadas.
O AWS CodeDeploy é independente quanto à plataforma e à linguagem e funciona com qualquer aplicativo, portanto, você pode reutilizar seu código de configuração. Você também pode integrar facilmente as implantações de aplicativos com o processo de entrega de software ou com uma cadeia de ferramentas de entrega contínua usando as APIs do CodeDeploy.
Implantações de instância automatizadas
Implantações repetíveis
Você pode repetir facilmente a implantação de um aplicativo em diferentes grupos de instâncias com o AWS CodeDeploy. O CodeDeploy usa um modelo de instalação baseado em arquivo e comando que permite implantar qualquer aplicativo e reutilizar o código de configuração existente. O mesmo código de configuração pode ser usado para implantar e testar atualizações de forma consistente nas fases de implantação, teste e produção de instâncias do Amazon EC2. A eliminação das etapas manuais das implantações aumenta a velocidade e a confiabilidade do processo de entrega de software.
Escalabilidade automática
O AWS CodeDeploy permite integrar atividades de implantação e escalabilidade de software para manter o aplicativo atualizado em um ambiente dinâmico de produção. Para instâncias do Amazon EC2, o CodeDeploy é integrado ao Auto Scaling. O Auto Scaling permite que você escale a capacidade do EC2 de acordo com condições definidas, como picos de tráfego. O CodeDeploy é notificado sempre que uma nova instância é executada em um grupo de Auto Scaling e executa automaticamente uma implantação de aplicativos na nova instância antes dessa instância ser adicionada a um load balancer do Elastic Load Balancing.
Implantações no local
Você pode usar o AWS CodeDeploy para automatizar as implantações de software nos ambientes de desenvolvimento, teste e produção executados em qualquer instância, incluindo as dos seus próprios datacenters (será necessário que suas instâncias possam se conectar a endpoints públicos da AWS). Com isso, é possível usar um único serviço para implantar consistentemente aplicativos em arquiteturas híbridas.
Diminua o tempo de inatividade
Atualizações sem interrupção e azul-verde
Os aplicativos não precisam de tempo de inatividade quando são atualizados para uma nova revisão usando o AWS CodeDeploy. O AWS CodeDeploy pode executar implantações azul/verde em instâncias do Amazon EC2, um serviço do Amazon ECS (tipos de execução EC2 e AWS Fargate) ou uma função do AWS Lambda. Com uma implantação azul/verde, a nova versão do aplicativo é executada ao lado da versão anterior. Assim que a nova revisão é testada e considerada pronta, o CodeDeploy pode mudar o tráfego da versão anterior para a nova versão de acordo com as especificações.
O CodeDeploy também pode realizar uma atualização contínua em um grupo de instâncias do Amazon EC2 em que apenas uma fração das instâncias é colocada offline por vez. O CodeDeploy funciona progressivamente entre as instâncias permitindo que os aplicativos continuem disponíveis e continuem a atender ao tráfego. Para funções do AWS Lambda, o tráfego de entrada é roteado gradualmente da versão anterior para a nova.
Monitoramento da integridade da implantação
O Monitoramento da saúde da implementação funciona em conjunto com as atualizações contínuas para manter os aplicativos altamente disponíveis durante as implementações. Tempo de inatividade inesperado poderá ocorrer se atualizações com falha forem implementadas. O AWS CodeDeploy monitora a implantação e a interrompe se há um grande número de falhas de atualização.
Interrupção e reversão
Você pode interromper a implementação de um aplicativo em andamento a qualquer momento usando o Console de Gerenciamento da AWS, o AWS CLI ou qualquer um dos AWS SDKs. Você poderá simplesmente reimplantar a revisão se quiser continuar a implementação interrompida posteriormente. Você também pode reverter imediatamente reimplementando a revisão anterior.
Controle centralizado
Monitoramento e controle
Você pode iniciar, controlar e monitorar implantações de software diretamente do Console de Gerenciamento da AWS ou usando a ILC, os SDKs ou as APIs da AWS. Em caso de falha, você pode identificar o script em que ela ocorre. Além disso, você pode definir notificações por push que permitem monitorar o status das implantações via SMS ou mensagens de e-mail por meio do Amazon Simple Notification Service.
Grupos de implantação
Um aplicativo pode ser implantado em vários grupos de implantação. Os grupos de implantação são usados para associar configurações a ambientes específicos, como um ambiente de preparação ou produção. Você pode testar uma revisão na preparação e implantar esse mesmo código com as mesmas instruções de implantação em produção quando estiver satisfeito.
Histórico de implementações
O AWS CodeDeploy monitora e armazena o histórico recente de suas implementações. Você pode ver quais versões do aplicativo estão implantadas no momento em cada um dos grupos de implantação de destino. Você pode inspecionar o histórico de alterações e as taxas de sucesso das implantações passadas em grupos de implantação específicos. Você também pode investigar um cronograma das implantações passadas para ter uma visão detalhada dos êxitos e falhas de implantação.
Fácil de adotar
Independente de linguagens e arquiteturas
O AWS CodeDeploy usa um modelo de instalação baseado em arquivo e comando, que permite implantar qualquer aplicativo e reutilizar o código de configuração existente. O CodeDeploy usa um único arquivo de configuração AppSpec que você pode usar para executar ações, testes ou verificações em cada evento do ciclo de vida (fase de implantação). Os comandos podem ser qualquer código, como um script de shell, um programa personalizado ou mesmo uma ferramenta de gerenciamento de configuração.
Integração da cadeia de ferramentas
É fácil integrar implantações de aplicativos com sua cadeia de ferramentas de entrega de software existente usando as APIs do AWS CodeDeploy. O AWS CodePipeline, o AWS CodeStar e alguns parceiros da AWS oferecem integrações pré-definidas com o CodeDeploy para serviços de integração e entrega contínuas, simplificando a implantação automática de um aplicativo atualizado.
Receber notificações
Analisar eventos definidos
É possível criar notificações para eventos que afetem suas implantações. As notificações virão na forma de notificações do Amazon SNS. Cada notificação incluirá uma mensagem de status e um link para os recursos cujo evento gerou essa notificação.
Saiba mais sobre a definição de preço do AWS CodeDeploy