Waypoint

Waypoint

O HashiCorp Waypoint aprimora a entrega de aplicativos com um fluxo de trabalho consistente.

Informações básicas

  • Modelo: HashiCorp Waypoint (originalmente um projeto de código aberto, agora oferecido principalmente como HCP Waypoint).
  • Versão: A edição comunitária de código aberto teve versões lançadas até a 0.11.4 (9 de agosto de 2023). No entanto, a edição comunitária não recebe mais manutenção ativa. O foco atual é no HCP Waypoint como uma oferta de Software como Serviço (SaaS).
  • Data de lançamento: O HashiCorp Waypoint de código aberto foi anunciado em 15 de outubro de 2020. A versão beta pública do HCP Waypoint na plataforma HashiCorp Cloud Platform (HCP) foi anunciada para outubro de 2022.
  • Requisitos mínimos:
    • Cliente: Requer a CLI do Waypoint, disponível para Linux, macOS e Windows.
    • Servidor (para Waypoint legado autohospedado): Pode ser executado em Docker ou Kubernetes. Para o Nomad, a alocação padrão de CPU para tarefas de servidor e executor é de 200 MHz e a memória padrão é de 600 MB. Para o Kubernetes, é mencionado 1 GiB de memória para o servidor.
  • Sistemas Operacionais Compatíveis: O cliente Waypoint funciona em Linux, macOS e Windows.
  • Última versão estável: Para a edição comunitária arquivada, a versão 0.11.4 (9 de agosto de 2023) foi lançada recentemente. Para o HCP Waypoint, as versões são gerenciadas como parte da oferta de SaaS.
  • Data de Fim do Suporte: A versão de código aberto do HashiCorp Waypoint Community Edition não recebe mais manutenção ativa, o que implica o fim do suporte. Para o HCP Waypoint, o suporte está incluído no contrato de serviço da HashiCorp Cloud Platform.
  • Data de Fim de Vida: O desenvolvimento ativo do Waypoint legado foi encerrado, mas o código-fonte arquivado e o repositório permanecem disponíveis no GitHub. O HCP Waypoint é o sucessor.
  • Data de expiração da atualização automática: Não especificada explicitamente para o HCP Waypoint, pois as atualizações são gerenciadas pelo provedor de SaaS.
  • Tipo de licença: O HashiCorp Waypoint original era um projeto de código aberto. O HCP Waypoint é uma oferta comercial de Software como Serviço (SaaS).
  • Modelo de Implantação: O Waypoint original podia ser hospedado na infraestrutura do próprio usuário (por exemplo, Docker, Kubernetes, Nomad). O HCP Waypoint é fornecido como um serviço gerenciado na plataforma HashiCorp Cloud.

Requisitos técnicos

  • RAM: Para tarefas de servidor Waypoint auto-hospedadas no Nomad, são alocados 600 MB por padrão. Para Kubernetes, são mencionados 1 GiB de memória para o servidor. Os requisitos de RAM do lado do cliente são mínimos, típicos de aplicativos de linha de comando.
  • Processador: Para tarefas de servidor Waypoint auto-hospedadas no Nomad, é alocada uma CPU de 200 MHz por padrão. Os requisitos de processador do lado do cliente são mínimos, típicos de aplicativos de linha de comando.
  • Armazenamento: O servidor Waypoint requer armazenamento para seu banco de dados, que armazena o histórico de operações (compilações, implantações), metadados sobre projetos/aplicações, configuração da aplicação, configuração do servidor e a fila de tarefas. Volumes do host podem ser usados para persistência em implantações do Nomad. Os logs da aplicação são mantidos em um buffer circular na memória e não são armazenados no banco de dados.
  • Exibição: Não é um requisito fundamental; o Waypoint opera principalmente por meio de uma interface de linha de comando (CLI) e uma interface de usuário baseada na web.
  • Portas: Portas específicas são necessárias para a comunicação com o servidor, dependendo da plataforma de implantação (por exemplo, Nomad, Kubernetes).
  • Sistema operacional:
    • Cliente (CLI): Linux, macOS, Windows.
    • Servidor (para Waypoint legado auto-hospedado): Plataformas de conteinerização como Docker ou Kubernetes, ou plataformas de orquestração como Nomad.

Análise dos Requisitos Técnicos: O HashiCorp Waypoint, particularmente a versão autohospedada legada, possui requisitos técnicos relativamente modestos para seu componente de servidor, especialmente considerando as alocações padrão de CPU e memória em plataformas como o Nomad. A interface de linha de comando (CLI) do lado do cliente é leve e compatível com os principais sistemas operacionais. A transição para o HCP Waypoint como uma oferta SaaS abstrai significativamente esses requisitos de infraestrutura subjacentes para os usuários, uma vez que a HashiCorp gerencia os aspectos operacionais. Para implantações autohospedadas, a necessidade de um banco de dados persistente para dados operacionais e configurações é uma consideração fundamental, com opções para volumes de host no Nomad. A arquitetura plugável significa que as necessidades específicas de recursos podem variar dependendo dos construtores, implantadores e mecanismos de lançamento configurados.

Suporte e compatibilidade

  • Última versão: A última versão da edição comunitária foi a 0.11.4, lançada em 9 de agosto de 2023, mas não recebe mais manutenção ativa. O HCP Waypoint é atualizado continuamente como um serviço gerenciado.
  • Suporte a sistemas operacionais: A CLI do Waypoint é compatível com Linux, macOS e Windows.
  • Data de Fim do Suporte: A versão de código aberto do Waypoint Community Edition não recebe mais manutenção ativa. Para o Waypoint HCP, o suporte é fornecido pela plataforma HashiCorp Cloud Platform.
  • Localização: Informações sobre opções específicas de localização não estão facilmente disponíveis; o inglês é o idioma principal da documentação e das interfaces.
  • Drivers/Plugins disponíveis: O Waypoint é altamente extensível por meio de um sistema de plugins, oferecendo suporte a uma ampla gama de plataformas e serviços para criação, implantação e lançamento de aplicativos. Isso inclui:
    • Pacotes de compilação nativos da nuvem
    • Docker
    • Kubernetes
    • HashiCorp Nomad
    • AWS (EC2, ECS)
    • Instâncias de contêiner do Azure
    • Google Cloud Run
    • Netlify
    • E mais, com a possibilidade de plugins personalizados e da comunidade.

Análise do Status Geral de Suporte e Compatibilidade: A compatibilidade do HashiCorp Waypoint é um ponto forte significativo, oferecendo amplo suporte a diversos métodos de compilação e plataformas de implantação por meio de sua arquitetura baseada em plugins. Essa extensibilidade permite sua integração em diversos ecossistemas nativos da nuvem. Embora a edição original de código aberto da comunidade tenha chegado ao fim de seu suporte ativo, a transição para o HCP Waypoint como um serviço gerenciado garante suporte e desenvolvimento contínuos para usuários que adotam a abordagem de engenharia de plataforma. Usuários da versão legada de código aberto devem estar cientes da falta de suporte ativo. O extenso ecossistema de plugins significa que o Waypoint pode ser adaptado a muitos pipelines de CI/CD e configurações de infraestrutura existentes.

Estado de segurança

  • Recursos de segurança:
    • Comunicação criptografada: Todas as comunicações entre clientes e o HCP Waypoint, bem como as comunicações internas com outros serviços da HashiCorp (por exemplo, HCP Terraform), são criptografadas usando TLS.
    • Informações armazenadas criptografadas: Dados sensíveis, como tokens HCP do Terraform, variáveis de saída do Terraform e variáveis sensíveis usadas com Actions, são criptografados usando o Vault Transit antes de serem salvos no banco de dados. Todo o banco de dados, incluindo backups, logs e snapshots, é criptografado em repouso.
    • Autenticação e Autorização: O HCP Waypoint aplica políticas de autenticação e autorização para todas as ações realizadas por meio da interface do usuário, API, CLI ou provedor Terraform. O acesso a funcionalidades específicas pode ser restrito com base no Controle de Acesso Baseado em Funções (RBAC).
    • Confiabilidade: O serviço HCP Waypoint foi projetado para oferecer confiabilidade, distribuído por várias zonas de disponibilidade, com réplicas de banco de dados somente leitura e backups regulares para mitigar a perda de dados.
  • Vulnerabilidades conhecidas: O Waypoint 0.11.4 (9 de agosto de 2023) corrigiu uma vulnerabilidade de segurança (CVE-2022-41717) utilizando o Go 1.19.4. A HashiCorp mantém uma política de divulgação responsável para problemas de segurança.
  • Status na lista negra: Não há informações públicas que indiquem que a HashiCorp Waypoint esteja em lista negra.
  • Certificações: Embora a HashiCorp ofereça certificações para seus produtos, como o Terraform, não existe uma certificação específica para o Waypoint em si. Os produtos da HashiCorp são desenvolvidos com a segurança como prioridade máxima, incluindo modelos internos de ameaças e avaliações de segurança.
  • Suporte à criptografia: Suporta TLS para dados em trânsito e Vault Transit para dados sensíveis em repouso, além de criptografia de banco de dados em repouso.
  • Métodos de autenticação: Impõe autenticação, suportando fluxos de login via navegador web ou fluxos não interativos por meio de entidades de serviço para a CLI do HCP. Integra-se ao HashiCorp Vault para um gerenciamento robusto de segredos.
  • Recomendações gerais: Os usuários devem seguir as melhores práticas de segurança da HashiCorp, utilizar o RBAC de forma eficaz e garantir o gerenciamento adequado de credenciais confidenciais, idealmente por meio da integração com ferramentas como o HashiCorp Vault. Recomenda-se também a atualização regular das ferramentas do lado do cliente e o monitoramento de avisos de segurança.

Análise da Classificação Geral de Segurança: O HashiCorp Waypoint, particularmente em sua oferta SaaS HCP Waypoint, demonstra um forte compromisso com a segurança. Incorpora práticas padrão do setor, como criptografia TLS para dados em trânsito e criptografia robusta para dados em repouso, incluindo backups de configuração e banco de dados sensíveis. A implementação de autenticação e Controle de Acesso Baseado em Funções (RBAC) granular garante que o acesso a funcionalidades e dados seja gerenciado e restrito adequadamente. A abordagem proativa da HashiCorp para lidar com vulnerabilidades conhecidas, como visto na atualização da linguagem Go, e sua política de divulgação responsável contribuem para uma postura de segurança positiva. A integração com o HashiCorp Vault aprimora ainda mais sua capacidade de gerenciar segredos com segurança. No geral, o HCP Waypoint parece ter uma alta classificação geral de segurança, aproveitando a ampla experiência da HashiCorp em segurança.

Desempenho e indicadores de desempenho

  • Resultados de benchmark: Resultados de benchmark específicos e disponíveis publicamente para o HashiCorp Waypoint não são comumente divulgados.
  • Métricas de desempenho no mundo real: O Waypoint visa simplificar as fases de construção, implantação e lançamento do ciclo de vida do aplicativo, reduzindo o tempo e o esforço necessários para a entrega do aplicativo. Ele fornece um fluxo de trabalho consistente que pode acelerar o processo de desenvolvimento e melhorar a eficiência, padronizando os padrões do aplicativo e gerenciando as dependências. O comando único `waypoint up` foi projetado para construir, implantar e lançar aplicativos rapidamente.
  • Consumo de energia: Não é medido ou divulgado explicitamente para o Waypoint em si, pois seu consumo depende muito da infraestrutura subjacente onde os aplicativos são criados e implantados.
  • Pegada de carbono: Não é medida ou divulgada explicitamente. A pegada de carbono seria determinada principalmente pelos provedores de nuvem ou pela infraestrutura local utilizada para hospedagem de aplicativos e pipelines de CI/CD.
  • Comparação com ativos semelhantes:
    • Ferramentas de CI/CD (por exemplo, GitLab CI/CD, Azure Pipelines, Octopus Deploy, GoCD, Spinnaker, Jenkins): O Waypoint é frequentemente visto como um complemento, e não como um substituto, das ferramentas tradicionais de CI/CD. Ele se concentra em abstrair a plataforma de implantação do desenvolvedor, lidando com o aspecto de "Implantação Contínua" (CD) do pipeline, enquanto as ferramentas de CI/CD gerenciam a orquestração mais ampla.
    • Plataforma como Serviço (PaaS) como o Heroku: o Waypoint oferece um nível de abstração menor em comparação com uma PaaS completa, proporcionando mais controle às equipes de DevOps na criação de seus sistemas de implantação. Enquanto o Heroku simplifica a implantação para desenvolvedores individuais, o Waypoint capacita os engenheiros de plataforma a definir fluxos de trabalho padronizados para desenvolvedores de aplicativos.

Análise do Desempenho Geral: O desempenho do HashiCorp Waypoint é medido principalmente por sua capacidade de aumentar a produtividade dos desenvolvedores e otimizar o processo de entrega de aplicativos. Ele alcança isso fornecendo um fluxo de trabalho unificado e consistente para criar, implantar e liberar aplicativos em diversas plataformas. Embora não haja resultados de benchmarks diretos disponíveis para o software em si, seu objetivo de design é reduzir a complexidade e o tempo envolvidos na transição do código para a produção. Essa camada de abstração permite que os desenvolvedores se concentrem na lógica do aplicativo em vez de detalhes da infraestrutura, resultando em ciclos de iteração mais rápidos e implantações mais eficientes. Sua extensibilidade por meio de plugins contribui ainda mais para sua adaptabilidade e potencial de otimização de desempenho em ambientes específicos.

Avaliações e comentários dos usuários

As avaliações e comentários dos usuários sobre o HashiCorp Waypoint destacam tanto sua abordagem inovadora quanto áreas que precisam ser aprimoradas, principalmente em relação à sua evolução de um projeto de código aberto para um serviço gerenciado.

  • Pontos fortes:
    • Fluxo de trabalho consistente: Os usuários apreciam o fluxo de trabalho unificado para criar, implantar e liberar aplicativos em diversas plataformas (Kubernetes, Nomad, EC2, Google Cloud Run, etc.) usando um único arquivo de configuração e comando (waypoint up).
    • Abstração da Complexidade: O Waypoint abstrai eficazmente as complexidades da infraestrutura subjacente dos desenvolvedores, permitindo que eles se concentrem no código do aplicativo.
    • Extensibilidade: O sistema de plugins é um ponto forte fundamental, permitindo que o Waypoint se integre com praticamente qualquer ferramenta ou plataforma.
    • Habilitação da Plataforma Interna de Desenvolvimento (IDP): É altamente valorizada pelas equipes de plataforma por definir "padrões de excelência" e fluxos de trabalho repetíveis, promovendo o autosserviço para desenvolvedores de aplicativos.
    • Ferramentas de depuração: Recursos como logs integrados e execução de waypoints fornecem informações imediatas sobre os aplicativos implantados.
    • Interface Web: Uma interface de usuário baseada na web oferece uma maneira conveniente de monitorar compilações, implantações e versões.
  • Pontos fracos:
    • Manutenção da Edição Comunitária: O anúncio de que a edição comunitária de código aberto não receberá mais manutenção ativa foi motivo de preocupação para alguns usuários que preferiam o modelo de hospedagem própria.
    • Preocupações com a maturidade (versões iniciais): Em seus estágios iniciais, alguns usuários sentiram que o Waypoint ainda estava "muito no início, sem muitos recursos" e com "arestas a serem aparadas".
    • Integração com Kubernetes: Os primeiros comentários sugeriram que o plugin do Kubernetes era "inútil" sem suporte direto para Helm, YAML ou Kustomize, forçando os usuários a recorrerem às definições do Waypoint.
    • HCL vs. YAML: Alguns usuários expressaram preferência pelo YAML em relação à Linguagem de Configuração HashiCorp (HCL) para arquivos de configuração.
    • URLs dinâmicas: A geração de novas URLs para cada implantação em ambientes de desenvolvimento era um recurso impopular entre alguns usuários, dificultando a atualização contínua.
    • Sobrecarga de gerenciamento: Surgiram preocupações sobre o gerenciamento de "outro servidor e executores" para implantações auto-hospedadas.
  • Casos de uso recomendados:
    • Organizações que desejam estabelecer uma Plataforma Interna de Desenvolvimento (IDP) para padronizar a entrega de aplicativos.
    • Equipes de plataforma com o objetivo de definir e aplicar "caminhos ideais" ou fluxos de trabalho repetíveis para compilações, implantações e lançamentos de aplicativos.
    • Equipes de desenvolvimento que buscam simplificar seu processo de implantação e abstrair detalhes de infraestrutura, especialmente em ambientes multicloud ou híbridos.
    • Ambientes onde um fluxo de trabalho consistente de "construir, implantar e liberar" é desejado em diversas plataformas de destino (por exemplo, Kubernetes, Nomad, serviços específicos da nuvem).

Resumo

O HashiCorp Waypoint, lançado inicialmente como um projeto de código aberto em outubro de 2020, evoluiu para um componente essencial da Plataforma de Nuvem HashiCorp (HCP), agora como HCP Waypoint, uma oferta de Software como Serviço (SaaS). Seu principal objetivo é fornecer um fluxo de trabalho consistente e simplificado para que os desenvolvedores criem, implementem e publiquem aplicativos em qualquer plataforma com um único comando: `waypoint up`. Essa camada de abstração permite que os desenvolvedores se concentrem no código do aplicativo, enquanto as equipes de plataforma definem e gerenciam a infraestrutura subjacente e os padrões de implantação.

Pontos fortes: O principal ponto forte do Waypoint reside na sua capacidade de padronizar padrões de aplicação e fornecer "fluxos de trabalho ideais" através de um modelo de Plataforma de Desenvolvimento Interna (IDP). Seu sistema de plugins altamente extensível suporta uma ampla gama de métodos de compilação e destinos de implantação, incluindo Docker, Kubernetes, Nomad, AWS, Azure e Google Cloud, garantindo ampla compatibilidade. A ferramenta aumenta a produtividade do desenvolvedor ao simplificar o processo de implantação e oferecer recursos integrados de depuração, como logs e execução remota. A segurança é um foco importante, com criptografia TLS para comunicações, criptografia Vault Transit para dados sensíveis em repouso e mecanismos robustos de autenticação e autorização (RBAC).

Pontos fracos: A transição de um projeto de código aberto com manutenção ativa para um modelo centrado em SaaS significa que a edição comunitária não é mais suportada, o que pode impactar usuários que preferiam a hospedagem própria. As primeiras versões foram criticadas em relação à maturidade, limitações específicas de integração com o Kubernetes e o uso de HCL em vez de YAML para configuração. Alguns usuários também consideraram inconveniente a geração dinâmica de URLs para cada implantação em desenvolvimento.

Recomendações: O HashiCorp Waypoint é altamente recomendado para organizações que buscam implementar ou aprimorar uma Plataforma de Desenvolvimento Interna, permitindo que as equipes de plataforma codifiquem e compartilhem fluxos de trabalho padronizados para entrega de aplicativos. É particularmente benéfico para ambientes com diversos destinos de implantação, onde uma experiência consistente para o desenvolvedor é crucial. Embora a versão legada de código aberto esteja arquivada, a adoção do HCP Waypoint está alinhada com a visão atual da HashiCorp e garante acesso a desenvolvimento contínuo, suporte e serviços gerenciados. Os usuários devem aproveitar seus recursos de integração com outras ferramentas da HashiCorp, como Terraform e Vault, para gerenciamento abrangente de infraestrutura e segredos. Para aqueles que consideram a ferramenta, avaliar a oferta do HCP Waypoint é essencial para aproveitar seus benefícios de gerenciamento e recursos mais recentes.

As informações fornecidas são baseadas em dados disponíveis publicamente e podem variar dependendo das configurações específicas do dispositivo. Para obter informações atualizadas, consulte os recursos oficiais do fabricante.