写点什么

掀起云基础设施管理革命的 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:193879

评论

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

[BitSail] Connector开发详解系列二:SourceSplitCoordinator

字节跳动数据平台

打工人都在用的AI工具

不在线第一只蜗牛

人工智能 工具 ChatGPT

如何通过云管平台实现降本?降低云成本?

行云管家

云计算 云平台 云资源 云成本

前端开发需要了解的工具集合

树上有只程序猿

用Vue3编写一个简单的组件

互联网工科生

Vue 3 slots

极限科技受邀参加 2023 可信数据库发展大会并入选 “中国数据库产业图谱”

极限实验室

中国信通院 数据库· 北京 极限科技 2023可信数据库发展大会

软件测试 |瓶颈分析方法

测吧(北京)科技有限公司

测试

华为云盘古气象大模型研究成果在《Nature》正刊发表

新消费日报

从php5.6到golang1.19-文库App性能跃迁之路

百度Geek说

golang App 百度文库

对线面试官-Redis(六 如何保证 Redis 高并发 主从复制原理)

派大星

Java 面试题

软件测试 | 接口自动化测试,如何实现多套环境的自动化测试?

测吧(北京)科技有限公司

测试

以“信”数智,筑“广”生态:亚信科技CEO高念书受邀出席中国广电数字化赋能大会

亚信AntDB数据库

数据库 AntDB AntDB数据库

KaiwuDB 亮相 2023 可信数据库发展大会

KaiwuDB

KaiwuDB 2023可信数据库发展大会

如何用大模型 Prompt 解决行业场景问题?大厂中文教程来了!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨

软件测试/测试开发丨Python常用数据结构-集合Set

测试人

Python 程序员 软件测试 测试开发

prometheus Histogram 统计原理

蓝胖子的编程梦

Grafana Prometheus #Grafana #Prometheus #监控

软件测试 | 测试工具与技术总结

测吧(北京)科技有限公司

测试

华为云“盘古气象”登上Nature!

新消费日报

专利技术系列 001 | 鹏云网络分布式系统脑裂问题解决方案

鹏云网络

云计算 分布式系统 分布式存储 分布式系统脑裂 软件定义存储

华为云代码托管CodeArts Repo:保护企业核心代码资产安全

云计算 华为云 代码托管 华为开发者大会2023

AI for Science交流会来了!科学计算前沿邀您共同探讨

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

陶建辉在“2023 可信数据库发展大会”发表演讲,TDengine 入选中国数据库产业图谱

爱倒腾的程序员

涛思数据 tdengine 时序数据库

云堡垒机比硬件堡垒机便宜吗?为什么呢?

行云管家

网络安全 堡垒机 硬件堡垒机

软件测试 | 测试设计技巧—游戏类

测吧(北京)科技有限公司

测试

直播软件开发知识:实现感知网络质量功能

山东布谷科技

源码 软件 软件开发 直播 源码搭建

Monibuca 中的内存复用

不卡科技

GC go语言 流媒体开发 内存池 Monibuca

软件测试 | 性能测试人力资源规划

测吧(北京)科技有限公司

测试

软件测试/测试开发丨Python常用数据结构-元组Tuple

测试人

Python 程序员 软件测试 元组 tuple

星辰天合公司产品完成阿里云PolarDB数据库产品生态集成认证

阿里云数据库开源

polarDB PolarDB-X PolarDB for PostgreSQL

沙漠觅绿洲——华为HMS生态强势赋能伙伴成功掘金中东非

最新动态

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