架构即是代码 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 和核心引擎。

加载中

评论(1)

诺曼兰德
这个牛逼

暂无资讯

暂无问答

Pulumi在配置平台中扩展了Kubernetes支持

导语 Pulumi近日宣布了其软件即服务(SaaS)平台的更新,该平台用于配置Kubernetes部署的基础架构,其中包括将YAML文件自动转换为易于开发人员使用的通用语言的功能。 正文 Pulumi还提供了可...

08/13 09:30
6
0
Web3极客日报 #220

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

07/27 21:23
0
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
2
0
Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

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

2019/04/10 10:10
2
0
Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

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

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

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

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

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

07/29 13:56
2
0
阿里云API场景化平台正式上线

https://yq.aliyun.com/articles/747088 2020新年伊始“阿里云开放平台官网”发布上线!官网重磅推出场景化实践平台、全量阿里云API服务以及众多开发集成工具,全面支持用户、生态合作伙伴基...

03/19 20:04
3
0
阿里云API场景化平台正式上线

https://yq.aliyun.com/articles/747088 2020新年伊始“阿里云开放平台官网”发布上线!官网重磅推出场景化实践平台、全量阿里云API服务以及众多开发集成工具,全面支持用户、生态合作伙伴基...

03/19 20:24
9
0
CRN杂志“2018年十大最热DevOps初创企业”揭榜,Rancher Labs入选

DevOps是一个广义的术语——它不仅是一种特定的产品或平台,更是一种组织文化和方法。不少优秀的创新型创业公司促进着这些现代流程的发展:创建DevOps工具,为企业客户提供其所需的高速的软件...

2018/07/19 16:23
80
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部