
Decidimos adicionar uma análise de um novo projeto aos artigos do autor e aos materiais traduzidos sobre life hacks / achados interessantes publicados em nosso blog. Waypoint é um projeto de código aberto que fornece aos desenvolvedores um fluxo de trabalho consistente para construir, implantar e liberar aplicativos em qualquer plataforma. Waypoint permite que os desenvolvedores para hospedar seus aplicativos de desenvolvimento para ambientes de produção em um único arquivo, e implementar aplicações com um único comando:
waypoint up
. O Waypoint é compatível com Kubernetes, HashiCorp Nomad, Amazon ECS, Google Cloud Run, instâncias de contêiner do Azure, Docker, Buildpacks e muito mais prontos para uso. Continue lendo para ver um pequeno exemplo, para aprender mais sobre os recursos do Waypoint e os problemas que a ferramenta resolve.
O Waypoint é totalmente extensível e baseado em um sistema de plugins para funcionar com qualquer ferramenta ou plataforma. Uma vez implantado, o Waypoint fornece registro e muito mais para testar e depurar quaisquer implantações. É um software que você baixa e hospeda para gerenciar a implantação de aplicativos executados em sua infraestrutura ou plataformas. Além disso, o próprio fundador da HashiCorp falará mais sobre o Waypoint.
Simplifique a implantação
O Waypoint foi criado por nós por um motivo simples: os desenvolvedores querem apenas implantar aplicativos. A HashiCorp tem a capacidade de trabalhar com todos os tipos de organizações e indivíduos em nossa comunidade, o que nos apresenta os desafios que os desenvolvedores enfrentam na implantação de aplicativos e em termos de acessibilidade do usuário. Nós nos comunicamos com dezenas de usuários individuais todos os dias por meio de problemas do GitHub, fóruns de discussão, e-mail e muito mais. Todas as semanas, nos encontramos com mais de 500 empresas para discutir seus desenvolvimentos atuais e questões operacionais.
Por meio da interação, vimos que os desenvolvedores, especialmente em organizações de médio a grande porte, estão sobrecarregados com a complexidade: contêineres, planejadores, arquivos YAML, sem servidor e muito mais. A complexidade tornou os aplicativos melhores de muitas maneiras, mas o custo visto na curva de aprendizado é necessário para simplesmente implementar o primeiro aplicativo.
Outro problema que vimos depende do aplicativo, porque as ferramentas costumam ser muito diferentes: Docker e kubectl para Kubernetes, HashiCorp Packer e Terraform para máquinas virtuais, cada plataforma sem servidor possui ferramentas diferentes, etc. Essa fragmentação cria novamente um problema de aprendizagem para o indivíduo. Para as equipes, esses são problemas de consistência e complexidade.
Com o Waypoint, pretendemos resolver esses dois problemas. O Waypoint fornece um comando simples para implantar qualquer aplicativo: "waypoint up". O fluxo de trabalho é o mesmo para qualquer plataforma: Kubernetes, Nomad, EC2, Google Cloud Run e mais de uma dezena de outros terão suporte até o lançamento. O Waypoint é extensível com plug-ins para qualquer lógica de construção, implantação e liberação. Os desenvolvedores desejam apenas implantar aplicativos. O waypoint simplesmente faz isso.
Funcionalidade
O Waypoint oferece vários recursos que fornecem um fluxo de trabalho para implantação de aplicativos e teste e depuração de implantações. Esses recursos tornam o Waypoint uma ferramenta poderosa para implantar qualquer aplicativo em qualquer plataforma.
- waypoint up: , . Waypoint , , , . Waypoint Waypoint.
- URL- : Waypoint URL waypoint.run TLS, Let's Encrypt. , .
- : waypoint exec. exec , , . waypoint exec.
- : Waypoint . , . , Datadog Splunk. CLI -. .
- -: CLI, Waypoint -, , . - . . , ,
- : , . Waypoint , Waypoint, .
Vamos mostrar por exemplo os vários recursos do Waypoint. Algumas etapas de configuração foram ignoradas, portanto, se quiser experimentar o exemplo completo por conta própria, consulte nossos guias de primeiros passos . Neste exemplo, implantaremos o aplicativo no Kubernetes. Arquivo Hcl ao lado do aplicativo. Este arquivo descreve todos os estágios do ciclo de vida do aplicativo.
project = "HashiCorp Waypoint"
app "waypoint-up" {
build {
use "docker" {}
registry {
use "docker" {
image = "hashicorp/wpmini"
tag = gitrefpretty()
}
}
}
deploy {
use "kubernetes" {
probe_path="/"
service_port=80
}
}
release {
use "kubernetes" {
load_balancer=true
port=80
}
}
}
Construir, implantar, lançar
O arquivo de configuração do Waypoint descreve as três fases principais do ciclo de vida de um aplicativo: construção, implantação e liberação.
- O assembly pega o código-fonte do aplicativo e o converte em um artefato. O processo de construção pode incluir configuração de registro opcional para enviar o artefato construído para o registro de forma que esteja disponível para plataformas de implementação. Por exemplo, esta etapa converte o código-fonte em uma imagem Docker, EC2 AMI etc.
- A implantação pega o artefato coletado na etapa anterior e o coloca na plataforma de implantação de destino, tornando a implantação disponível por meio de uma URL ou outros métodos internos
O lançamento ativa a implantação e abre para o tráfego principal. No futuro, adicionaremos suporte ao Waypoint para mover aplicativos entre ambientes, reverter implantações e lançamentos e mover gradualmente o tráfego entre os servidores após o lançamento.
Aumentando o ponto de referência
A equipe do waypoint up constrói, implanta e libera o aplicativo. Ao final, um ou mais endereços são exibidos onde o aplicativo está disponível. Não importa qual aplicativo seja e para qual plataforma, você sempre pode digitar um ponto de referência no terminal para implantação.

Você pode executar estágios de ciclo de vida separadamente uns dos outros. Isso é útil ao interagir com ações do Github e ferramentas de CI / CD como CricleCI e Jenkins. Saiba mais sobre como automatizar o fluxo de trabalho de seu aplicativo com o Waypoint aqui .
Endereços de aplicação e implantação
Os aplicativos implantados com o Waypoint obtêm uma URL pública como waypoint.run com um certificado TLS válido gerado automaticamente pelo Let's Encrypt . Use este endereço para visualizar e compartilhar rapidamente os aplicativos implantados. Fornecemos este URL por meio de um serviço público gratuito da HashiCorp. Este recurso é opcional e pode ser desativado. No exemplo acima, nosso URL recentemente-pleasant-duck--v1.waypoint.run . Observe que este URL não está mais funcionando, o aplicativo foi executado apenas para esta postagem do blog. Você pode ver uma versão específica da implantação em um link como recent-pleasant-duck--vN.waypoint.runonde N é o número da versão da implantação. Este recurso é muito útil para compartilhar uma versão de pré-lançamento de seu aplicativo com sua equipe.

Registro de waypoint
O Waypoint fornece acesso a um instantâneo em tempo real dos logs do aplicativo. Esses logs são úteis quando você precisa depurar o comportamento de um aplicativo em desenvolvimento. No entanto, eles não substituem soluções de log complexas. Os logs são agregados e disponíveis para visualização por meio da interface de linha de comando e da interface da web. Este recurso de registro funciona independentemente da plataforma. Esteja você usando Kubernetes, EC2, Google Cloud Run ou outra plataforma, você pode visualizar os registros de forma consistente. Usando a interface do usuário, você pode visualizar os logs de vários aplicativos implementados em diferentes plataformas.

Waypoint exec
Você pode executar comandos no contexto do aplicativo implantado usando o comando waypoint exec. Esse recurso permite que você abra um shell, execute scripts e faça tudo o que quiser com suas implantações. Assim como o registro, o waypoint exec funciona em todas as plataformas suportadas pelo Waypoint.

Outras possibilidades
Esta lista é apenas uma visão geral de alguns dos recursos do Waypoint. O Waypoint pode ser usado para gerenciar a configuração do aplicativo por meio de variáveis de ambiente, se integra ao seu CI ou Github. Os espaços de trabalho são usados para criar ambientes separados para ramos separados. Alternativamente, você pode escrever um plugin e não é tudo. Waypoint é a marca do novo projeto. Esperamos continuar adicionando novas funcionalidades nos próximos meses.
Waypoint e aplicativos existentes
Se você já tem um aplicativo e um fluxo de trabalho de implantação, pode ter dúvidas se pode usar…. Não esperamos que as equipes de desenvolvimento reconstruam e reconstruam imediatamente seu fluxo de trabalho para o Waypoint do zero. Mas temos um plug-in docker pull e uma capacidade de execução local para adaptar o Waypoint para um aplicativo com um fluxo de trabalho já configurado. Além disso, temos documentação que descreve a integração do Waypoint em outros ICs: CircleCI ou Jenkins... Este recurso permite que você visualize o histórico de implantação na interface do Waypoint, execute o comando exec, registro, configuração do aplicativo e muito mais. Com um pouco de esforço, você obtém os benefícios do Waypoint enquanto considera se deseja atualizar para um plugin mais gerenciável. Quando você tem muitos aplicativos, essa abordagem permite combinar fluxos de trabalho e compará-los.
Totalmente extensível por plug-ins
A lógica do ciclo de vida é totalmente extensível. O Waypoint é executado no mesmo sistema de plug-in do Terraform. acreditamos que escrever um plugin para o Waypoint é tão fácil (se não mais simples) do que para o Terraform. O Waypoint tem mais de uma dúzia de plug-ins construídos desde o início. Esperamos e esperamos que com o tempo, com a ajuda da comunidade de código aberto, esse número aumente dramaticamente. O Terraform tinha cerca de 6 provedores no lançamento. Hoje o Terraform tem 300 provedores. Acreditamos que isso também seja possível para a implantação de aplicativos. Se você estiver interessado em escrever um plug-in, leia nosso guia para autores de plug-ins e veja o código-fonte para os plug-ins integrados do Waypoint 0.1 no Github.
Links de projeto
- Waypoint, , , NodeJS, Python, Ruby, Java , .
- . Waypoint , HashiCorp. , .
- . Waypoint. Waypoint, GitHub Waypoint HashiCorp.
- . Waypoint, , , URL- Waypoint, Twitter #WaypointUp HashiCorp. , , URL Waypoint. .
Especialmente para os Habrovites, fizemos um código promocional HABR , que dá um desconto adicional de 10% ao desconto indicado no banner.

- Ensinando a profissão de Ciência de Dados do zero
- Bootcamp online para ciência de dados
- Treinar a profissão de analista de dados do zero
- Data Analytics Online Bootcamp
- Curso de Python para Desenvolvimento Web
Mais cursos