架构即是代码 Pulumi

架构即是代码 Pulumi

Apache
Google Go TypeScript
跨平台
2019-08-09
红薯

Pulumi 是一个架构即是代码的开源项目,可在任何云上创建和部署使用容器,无服务器功能,托管服务和基础架构的云软件的最简单方法。

只需用您喜欢的语言编写代码,Pulumi就可以使用基础架构即代码方法自动配置和管理您的AWS,Azure,Google Cloud Platform和/或Kubernetes资源。 跳过YAML,使用您已经熟悉和喜爱的标准语言功能,如循环,函数,类和包管理。

如下代码可创建三个 Web 服务器:

let aws = require("@pulumi/aws");
let sg = new aws.ec2.SecurityGroup("web-sg", {
    ingress: [{ protocol: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"]}],
});
for (let i = 0; i < 3; i++) {
    new aws.ec2.Instance(`web-${i}`, {
        ami: "ami-7172b611",
        instanceType: "t2.micro",
        securityGroups: [ sg.name ],
        userData: `#!/bin/bash
            echo "Hello, World!" > index.html
            nohup python -m SimpleHTTPServer 80 &`,
    });
}

或者一个简单的无服务器定时器,在每天早上八点半抓取 Hacker News 的信息:

const aws = require("@pulumi/aws");

const snapshots = new aws.dynamodb.Table("snapshots", {
    attributes: [{ name: "id", type: "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("data", chunk => content += chunk);
        res.on("end", () => new aws.sdk.DynamoDB.DocumentClient().put({
            TableName: snapshots.name.get(),
            Item: { date: Date.now(), content },
        }).promise());
    }).end();
});

更多的例子请看 pulumi/examples.

该项目包含 Pulumi 的命令行工具、语言 SDK 和核心引擎。

加载中

暂无资讯

暂无问答

IaC之Terraform 与Pulumi使用对比

一 简介 在iac(Infarftruce As Code)方面,老将Terraform已经利用yaml独领风骚很长时间,新军pulumi以其独到的代码实现资源编排一出场就光芒四射,对于不同场景,不同公司组织架构,以及不同...

2020/12/14 07:02
104
0
使用你喜欢的编程语言,将基础设施作为代码进行配置

用 Node.js 或其他编程语言为你提供启动基础设施所需的一切服务。 当你在 IT 和技术的世界里遨游时,你会反复遇到一些术语。其中有些术语很难量化,随着时间的推移,可能会有不同的含义。“D...

2020/11/28 08:51
23
0
使用你喜欢的编程语言,将基础设施作为代码进行配置

用 Node.js 或其他编程语言为你提供启动基础设施所需的一切服务。 当你在 IT 和技术的世界里遨游时,你会反复遇到一些术语。其中有些术语很难量化,随着时间的推移,可能会有不同的含义。“D...

2020/11/30 08:47
9
0
Web3极客日报 #220

微信不支持外部链接,可以点击文章底部的阅读原文 ,方便阅读文中的链接,也可通过 http://daily.rebase.network/ 浏览每期日报内容。 1. Pulumi: 一款中立的开源云开发平台 @Shooter http:...

2020/07/27 21:23
15
0
Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

作者 | 木苏、进超、冬岛、元毅、心水、衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言、混合云环境、完全可扩展。初期支持 JavaScript...

2019/10/24 14:38
319
0
F#周报2019年第24期

新闻 ML.NET 1.1发布与模型构建器升级 .NET Core 3.0预览版6发布 尝试新的System.Text.Json API F#调用Infer.NET 匿名记录类型文档 了解FableConf的日程 Fabulous:添加Fabimals示例及手表上...

2019/06/16 23:01
9
0
Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

作者 | 木苏、进超、冬岛、元毅、心水、衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言、混合云环境、完全可扩展。初期支持 JavaScript...

2019/04/10 10:10
5
0
F#周报2019年第15期

新闻 Hedgehog新站点 Bolero 0.4发布,增加远程认证 FsToolkit.ErrorHandling与Cvdm.ErrorHandling合并了 F#里的3D图形编程与游戏开发 有趣的3D——浏览器里F# 3D绘制 F# CNTK:变分自动编码...

2019/04/14 23:06
6
0
(译)Kubespy:实时查看 Kubernetes 资源

一个 Pod 启动时会发生些什么?一个 Service 拿到公共 IP 之前又会干点啥?Deployment 的状态是怎么切换的? kubespy 是个小工具,能够轻松的实时查看 Kubernetes 集群里的资源变化。这一工具...

2020/07/29 13:56
11
0
开源增长基准及增长速度最快的20个开源软件初创公司

作者:Konstantin Vinogradov (Runa Capital | 符文资本) 译者:曹菁 原文链接:https://medium.com/runacapital/open-source-growth-benchmarks-and-the-20-fastest-growing-oss-startups-...

2020/12/07 23:18
72
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部