【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

掀起云基础设施管理革命的 IfC

作者:Claudio Masolo

  • 2023-02-17
    北京
  • 本文字数:1327 字

    阅读完需:约 4 分钟

掀起云基础设施管理革命的IfC

基于代码基础设施(Infrastructure-from-Code,IfC)是一种创建、配置和管理云资源的方法,它理解软件应用程序的源代码,而无需明确的描述。Infra-from-Code 有四种主要的方法:基于 SDK 的、基于代码注解的、基于两者组合的,以及一种明确定义基础设施的新编程语言。

 

基于 SDK 的方法允许开发人员使用他们的代码,并且在部署时,这些工具会分析服务代码如何使用 SDK 并生成基础设施。基于 SDK 的方法使得根据代码推断使用情况更加可预测,但在利用新的云特性方面,SDK 总是落后一步。基于 SDK 工具的示例有AmptNitric

 

import { api } from '@nitric/sdk';

const helloApi = api('main');

helloApi.get('hello/:name', async(ctx) => { const {name} = ctx.req.params; ctx.res.body = 'Hello ${name}';})
复制代码

向互联网公开端点的 Nitric 示例

 

纯注解方法是仅基于代码内注解的。这种方法侧重于理解开发人员对框架和工具的使用。这种方法的主要工具是Klotho,它更像是一种基于代码架构(Architecture-from-code)的工具。Klotho 引入了诸如 exposepersistentstatic_unit 等功能(关键注解),这些功能可以使现有编程语言成为云原生语言。

 

const redis = require("redis");/*** @klotho:persist{*   id = "UserDB" *}*/

const client = redis.createClient();
复制代码

Redis 客户端持久化数据的 Klotho 示例

 

使用注解和 SDK 方法,开发人员可以对代码进行注解,工具可以将这些注解和 SDK 结合到框架中。该类别的主要工具是EncoreShuttle。这些工具可以托管在 IfC 供应商的平台上,也可以与 GCP、AWS 或 Azure 等第三方云提供商集成。另一个有趣的工具是 AWS Chalice,它允许创建和部署在 Python 中使用 AWS Lambda 的应用程序。

 

// encore:api public method=POST path=/urlfunc Shorten(ctx context.Context, p *ShortenParams)(*URL, error){    id, err := generateID()    if err != nil {       return nil, err    }    return &URL(ID: id, URL: p.URL), nil}
复制代码

API 请求/响应的 Encore 示例。注释指定了 URL 路径

 

基于语言的方法引入了旨在以云为中心的新编程语言。WingDarkLang是最常用的两种编程语言。这种方法允许在现有编程语言中引入难以实现的概念。每种新的编程语言都有一些权衡:软件开发人员需要首先学习它,然后将其集成到现有的工具和服务中。此外,寻找和雇用具有新编程语言专业知识的开发人员可能也需要时间和精力。

 

bring cloud;

let bucket = new cloud.Bucket();

new cloud.Function(inflight (_: str): str => { bucket.put("hello.txt","world");}
复制代码

云函数定义的 Wing 示例

 

ChefAnsiblePuppetTerraform基础设施即代码( Infrastructure-as-Code,IaC)的首批工具,并开始支持云基础设施的创建和管理。第二批 IaC 使用现有的编程语言(Python、Go、TypeScript)来表达与第一批工具相同的想法。PulumiCDK是第二代工具。

 

有关基于代码基础设施现状的更多详细信息,请阅读 Klotho 的 2023基于代码基础设施状况报告。

 

原文链接:

https://www.infoq.com/news/2023/01/google-gitops-observability/


相关阅读:

面向分布式云原生 构筑无处不在的云原生基础设施

揭秘 Meta 的云游戏基础设施

SaaS 初创公司如何选择合适的云基础设施

2023-02-17 11:193512

评论

发布
暂无评论
发现更多内容

2022全网最详细的音视频开发学习路线,零基础到项目实战,从小白到音视频专家

Linux服务器开发

音视频 WebRTC ffmpeg 音视频开发 流媒体服务器开发

详细解读阿里云开源PolarDB总体架构和企业级特性

阿里云数据库开源

数据库 阿里云 polarDB

恒源云(GpuShare)_医学图像分割:MT-UNet

恒源云

深度学习 机器翻译 transform

Python 获取字典中的第一个键

AlwaysBeta

Python 程序员 编程语言 字典

星际营23期开始招募 门槛高,但是优秀项目可获得全额奖学金,敢来挑战吗?

创业邦

天翼云发布云原生关系型数据库TeleDB for openGauss

天翼云开发者社区

DNA to Face,会是寻人缉凶的一颗“银弹”吗?

脑极体

URL重定向及跳转漏洞

喀拉峻

网络安全

Go实现并发聚合,批量提交功能

人生如梦

Go 并发 请求聚合

Linux之netstat命令

入门小站

Linux

在充满挑战的时代天翼云以数字化加速市域社会治理现代化

天翼云开发者社区

以数字化为引领天翼云助力中安公司应急管理云平台上线

天翼云开发者社区

java高级用法之:调用本地方法的利器JNA

程序那些事

Java nio 程序那些事 3月月更

极速体验|使用 Erda 微服务观测接入 Jaeger Trace

尔达Erda

云计算 微服务 云原生 PaaS 分布式架构

东方电机打造大国重器 携手天翼云挺起智能制造新脊梁 智能制造的力量 东方电机的数字化前行之路

天翼云开发者社区

操作系统面试总结

yuexin_tech

操作系统

人脸识别闸机惊艳美国运动员背后的黑科技是如何实现的?

天翼云开发者社区

不为人知的网络编程(十四):拔掉网线再插上,TCP连接还在吗?一文即懂!

JackJiang

网络编程 TCP/IP TCP协议 即时通讯IM

如何打造极速数据湖分析引擎

StarRocks

数据库 数据分析 StarRocks

【51单片机】点亮LED灯(四种形式)

謓泽

3月月更

高精度轻量级目标检测产业应用,实现多类通信塔识别

百度大脑

在线YAML转TOML工具

入门小站

工具

一周信创舆情观察(2.28~3.6)

统小信uos

Flutter ChartSpace:通过跨端 Canvas 实现图表库

字节跳动终端技术

flutter 字节跳动 前端 canvas 图表库

基于云效代码管理的源码漏洞检测是怎样的?

阿里云云效

阿里云 代码 代码管理 源代码 Codeup

Linux中如何使用Htop监控工具?【网络安全】

H

Linux 网络安全

华为SmartCare和AUTIN品牌升级:助力运营商走出5G发展迷宫

白洞计划

VuePress 博客优化之增加 Valine 评论功能

冴羽

JavaScript 前端 vuepress 博客搭建 Alogia

写给20几岁的程序员

shellc

财富 35岁

2022年3月中国数据库排行榜:TiDB “三连降”仍霸榜首,“常胜四将军”得分集体下跌

墨天轮

数据库 TiDB 国产数据库 KingBase gbase8a

翻译 | 解读首部 Kubernetes 纪录片

RadonDB

开源 Kubernetes RadonDB

掀起云基础设施管理革命的IfC_服务革新_InfoQ精选文章