O SDK de infraestrutura como código da Pulumi é a maneira mais fácil de construir e implantar infraestrutura, de qualquer arquitetura e em qualquer nuvem, usando linguagens de programação que você já conhece e adora. Codifique e envie infraestrutura mais rapidamente com suas linguagens e ferramentas favoritas e incorpore IaC em qualquer lugar com a API de automação.
Basta escrever o código em sua linguagem favorita e o Pulumi provisiona e gerencia automaticamente seus recursos na AWS, Azure, Google Cloud Platform, Kubernetes e mais de 120 provedores usando uma abordagem de infraestrutura como código. Ignore o YAML e use recursos de linguagem padrão como loops, funções, classes e gerenciamento de pacotes que você já conhece e adora.
Por exemplo, crie três servidores web:
const aws = require("@pulumi/aws");const sg = new aws.ec2.SecurityGroup("web-sg", {ingress: [{ protocolo: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"] }],});for (seja i = 0; i < 3; i++) {new aws.ec2.Instance(`web-${i}`, {ami: "ami -7172b611",instanceType: "t2.micro",vpcSecurityGroupIds: [sg.id],userData: `#!/bin/bash echo "Olá, mundo!" > index.html nohup python -m SimpleHTTPServer 80 &`,} );}
Ou um simples cronômetro sem servidor que arquiva Hacker News todos os dias às 8h30:
const aws = require("@pulumi/aws");const snapshots = new aws.dynamodb.Table("snapshots", {atributos: [{ nome: "id", tipo: "S", }],hashKey: " id", billingMode: "PAY_PER_REQUEST",});aws.cloudwatch.onSchedule("daily-yc-snapshot", "cron(30 8 * * ? *)", () => {require("https"). get("https://news.ycombinator.com", res => {let content = "";res.setEncoding("utf8");res.on("dados", pedaço => conteúdo += pedaço); res.on("end", () => new aws.sdk.DynamoDB.DocumentClient().put({Nome da tabela: snapshots.name.get(),Item: {data: Date.now(), conteúdo }, }).promise());}).end();});
Muitos exemplos estão disponíveis abrangendo contêineres, sem servidor e infraestrutura em pulumi/examples.
Pulumi é de código aberto sob a licença Apache 2.0, suporta muitas linguagens e nuvens e é fácil de estender. Este repositório contém a CLI pulumi
, SDKs de linguagem e o mecanismo principal Pulumi, e bibliotecas individuais estão em seus próprios repositórios.
Comece a usar Pulumi : implante um aplicativo simples em AWS, Azure, Google Cloud ou Kubernetes usando Pulumi.
Aprenda : siga os caminhos de aprendizagem da Pulumi para aprender as melhores práticas e padrões arquitetônicos por meio de exemplos autênticos.
Exemplos : procure vários exemplos em diversas linguagens, nuvens e cenários, incluindo contêineres, sem servidor e infraestrutura.
Documentos : Aprenda sobre os conceitos do Pulumi, siga os guias do usuário e consulte a documentação de referência.
Cadastro : Encontre o Pacote Pulumi com os recursos que você precisa. Instale o pacote diretamente em seu projeto, navegue na documentação da API e comece a construir.
Pulumi ESC : gerenciamento e orquestração centralizada de segredos. Controle a expansão de segredos e a complexidade de configuração com segurança em todas as suas infraestruturas e aplicativos de nuvem.
Roteiro Pulumi : Revise o trabalho planejado para o próximo trimestre e uma lista de pendências selecionada de questões que estão em nossa mente, mas ainda não programadas.
Community Slack : Junte-se a nós no Pulumi Community Slack. Todas as conversas e perguntas são bem-vindas.
Discussões do GitHub : faça perguntas ou compartilhe o que você está construindo com Pulumi.
Consulte o guia de primeiros passos para começar rapidamente a usar o Pulumi na plataforma e na nuvem de sua preferência.
Caso contrário, as etapas a seguir demonstram como implantar seu primeiro programa Pulumi, usando AWS Serverless Lambdas, em minutos:
Instalar :
Para instalar a versão mais recente do Pulumi, execute o seguinte (consulte as instruções completas de instalação para opções de instalação adicionais):
$ curl -fsSL https://get.pulumi.com/ | eh
Crie um projeto :
Após a instalação, você pode começar com o pulumi new
:
$ mkdir pulumi-demo && cd pulumi-demo $ pulumi novo olá-aws-javascript
O new
comando oferece modelos para todos os idiomas e nuvens. Execute-o sem argumentos e ele solicitará os projetos disponíveis. Este comando criou um projeto AWS Serverless Lambda escrito em JavaScript.
Implante na nuvem :
Execute pulumi up
para levar seu código para a nuvem:
$ pulumi para cima
Isso torna todos os recursos da nuvem necessários para executar seu código. Basta fazer edições em seu projeto e pulumi up
subsequentes calcularão a diferença mínima para implantar suas alterações.
Use seu programa :
Agora que seu código foi implantado, você pode interagir com ele. No exemplo acima, podemos enrolar o ponto final:
$ curl $ (url de saída da pilha pulumi)
Acesse os registros :
Se você estiver usando contêineres ou funções, o comando de registro unificado do Pulumi mostrará todos os seus registros:
$ pulumi logs -f
Destrua seus recursos :
Depois de terminar, você poderá remover todos os recursos criados pelo seu programa:
$ pulumi destruir -y
Para saber mais, acesse pulumi.com para obter muito mais informações, incluindo tutoriais, exemplos e detalhes da CLI Pulumi principal e dos conceitos do modelo de programação.
O Pulumi CLI v1 e v2 não é mais compatível. Se você ainda não está executando a v3, considere migrar para a v3 para continuar obtendo o que há de melhor e mais recente que o Pulumi tem a oferecer! ?
Para migrar da v2 para a v3, consulte nosso Guia de migração da v3.
Visite o Registro para obter a lista completa de provedores de nuvem e infraestrutura com suporte.
Visite CONTRIBUTING.md para obter informações sobre como construir Pulumi a partir da fonte ou como contribuir com melhorias.