高品质的音视频能力是怎样的? | Qcon 全球软件开发大会·上海站邀请函 了解详情
写点什么

FONK:一个面向 K8S 的无服务器 LAMP 技术栈

  • 2018-11-19
  • 本文字数:1685 字

    阅读完需:约 6 分钟

FONK:一个面向K8S的无服务器LAMP技术栈

正文

关于无服务器,有一种说法我听过很多次:“无服务器是一种自找麻烦的解决方案”。


当一项新技术破坏了人们习惯的工作流程时,就会出现类似的防御性声明。这种声明也是在告诉无服务器社区里的所有人,无服务器的学习曲线有多陡峭。


如果人们理解了无服务器,他们就不会说出这么负面的话。因此,我提出了一个问题:如何驯服无服务器的学习曲线?


我给出的答案是一个 Web 应用程序。让我来解释一下。


Guestbook:一个无服务器 Web 应用示例

去年春天,我第四次听到开头那句话。所以我问自己,“你能用无服务器构建的最简单的东西是什么?人们可以把它与自己已经知道的东西联系起来。”


我认为,我可以向人们展示他们可以如何做他们现在正在做的事情,只是以更简单的方式,以此来展示无服务器的价值。


因此,我构建了一个 Web 应用示例,称之为 Guestbook。


使用 Web 应用降低无服务器学习曲线

就是每个人都知道的 LAMP 技术栈。



它很简单,并且提供了可选的组件,这可以说明它为什么在过去 20 多年里如此流行。我们甚至在 Kubernetes(K8S)的学习曲线中看到了它的影响:



Guestbook是大多数人在第一次学习 Kubernetes 时最先部署的应用程序之一,尽管它使用 NoSQL 服务器代替了 MySQL,但仍然是基本的 LAMP 结构。


对于无服务器而言这是指什么?

有鉴于此,降低无服务器学习曲线的一种方法是向人们展示如何用更少的代码和配置构建同样复杂的 Web 应用程序。


使用 AWS 构建,则该 Web 应用程序如下所示:



虽然这只需要大约一半的代码和配置,但它也把你锁定在 AWS 中。


如果你可以创建一个类似 LAMP 的设计模式,但使用 K8S 上的无服务器概念来确保可移植性,那会怎么样?



FONK:一个面向 K8S 的无服务器 LAMP 技术栈

AWS 体系结构的组件分别是函数即服务(FaaS)运行时、对象存储和 NoSQL 服务器。


如果你在任何超过 3000 star 的 GitHub 项目或其他流行开源组件上使用了五个 FaaS 运行时之一,那么整个技术栈就可以像下面这样安装在 K8S 上:



把它们都放在一起,就可以得到一个简洁的无服务器设计模式缩写:



(我把这个动物图标归功于我的女儿,她说:“FONK 听起来就像是鹅说的话。”)


基于 FONK 实现 Guestbook

今年 9 月,我和一些朋友试着推出了fonk-apps.io,这是一个开源项目,目标是降低人们的无服务器学习曲线。它提供了各种语言的简单 Web 应用程序示例。


为了让人们更容易地从本地 K8S 过渡,这些 Web 应用程序中的第一个示例就是 Guestbook。以下是我们的早期进展:



只有 Create 和 List 函数的 Guestbook 是自然而然的第一选择,不过,我们的计划是让这个应用程序变得更加复杂。我们希望添加待办(完整 CRUDL 操作)、博客(经过身份验证的 CUD、公共 RL)和论坛(经过身份验证的 CRUDL)。


更长远来看,内置一些 CI/CD 功能,包括列测试自动化或跨行性能基准测试,这会很酷。


FaaS 运行时比较

在构建第一组示例的过程中,我们学到了很多比较 FaaS 运行时的知识。


从开发人员体验的角度来看,以下是一些早期研究结果:



基于 K8S 运行时上的某些 FaaS 开发,其体验和本地 K8S 开发类似;它公开了函数将在其上运行的镜像的一些内部结构。其他的则更接近于屏蔽了镜像细节的 AWS Lambda 模型。


在这个领域,谷歌的 Knative 是那只重达 800 磅的大猩猩,它在 GitHub 上还没有达到 3000 星的门槛,过了这个门槛,我们就提供 Guestbook 示例。但是,我们正密切关注它的进展,因为它很可能会实现这一目标。


来,一起玩!

一旦开始实施这个想法,我们认为最好有一个以它为中心的社区。所以,我们试着让整件事成为成为一件有吸引力的事。


虽然并不是所有基于 K8S 运行时的 FaaS 都支持无服务器框架,但是 Kubeless 和 OpenWhisk 做得非常好。一个简单的入门方法是从头到尾做一个完整的示例:



我们很感激您的 GitHub 之星,但是,我们更希望看到一个新的 FaaS 运行时/语言组合 PR。


你可以检出我们在 GitHub 上的FONK项目,自己尝试一些例子。或者,你可以提出任何 FaaS/语言组合请求,我们会构建所有可能的 Guestbook!


查看英文原文:https://serverless.com/blog/introducing-fonk/


2018-11-19 11:091569
用户头像

发布了 1008 篇内容, 共 346.9 次阅读, 收获喜欢 330 次。

关注

评论 2 条评论

发布
用户头像
倒数第二段的原文是
We’d be appreciative of a GitHub star from you, but we’d love a PR of a new FaaS runtime/language combination even more.
这篇文章是机器,还是人翻译的呢?语言感觉特别生硬。
2018-11-19 16:01
回复
感谢反馈,问题译者已经修改。
2018-11-30 15:05
回复
没有更多了
发现更多内容

设计微服务安全架构

Xiao8

7月月更

智慧灯杆展会|2022南京国际智慧灯杆及智慧路灯展览会

AIOTE智博会

2022第十四届南京国际智慧工地展览会|智慧工地展

AIOTE智博会

智慧工地展览会

精品方案|海泰云密码应用服务解决方案 打造安全合规的云上应用

电子信息发烧客

开源demo| ARCall 小程序开源示例发布

anyRTC开发者

小程序 音视频 视频通话 开源demo ARCall

超实用转型攻略!《2022央国企云原生落地实用指南》重磅发布(附下载链接)

York

云原生 系统架构 数字化转型 信创 国资委中央企业

人工智能展会|2022第十四届南京国际人工智能展览会

AIOTE智博会

人工智能展览会

C#/VB.NET在 Word 中插入水印

Geek_249eec

C# word 添加水印 VB.NET

2022第十四届南京国际智慧城市|物联网|大数据博览会

AIOTE智博会

南京智博会 物联网展览会 智慧城市展览会

2022第十五届南京国际工业自动化及工业机器人展览会

AIOTE智博会

可观测性提升软件工程质量,观测云出席2022 QECon全球软件质量&效能大会

观测云

云原生平台,让边缘应用玩出花!

天翼云开发者社区

CDN 云平台

IReport导出PDF字体加粗失效

源字节1号

软件开发 前端开发 后端开发 小程序开发

CentOS 8里的这个功能,天翼云SFS弹性文件校准了

天翼云开发者社区

Centos 7 CentOS 8 弹性文件

从0到1 拿下C语言—程序结构及使用示例

一碗黄豆酱

【等保常见问题解答】等保测评机构能帮忙做等保整改吗?

行云管家

网络安全 等保 等保测评 等保整改

大咖说·图书分享 | HaaS 物联网设备云端一体开发框架

大咖说

阿里巴巴 物联网 大咖 HaaS

重磅预告!易观分析联合微软、中央财经大学,共话数字经济

易观分析

数据驱动

阿里云发布《升舱-数据仓库升级交付标准化》白皮书

Lily

最右×微帧,高质量的HEIF图片编码压缩技术

微帧Visionular

计算机视觉 HEIF 视频编解码 图片压缩 WebP

IT运维管理指什么?如何建立有效的IT运维管理系统?

行云管家

运维 IT运维 服务器运维

兼容认证|青云QKCP与观测云完成产品兼容性互认证,携手打造云原生可观测能力

观测云

瓜分30万奖金!DeepRec CTR模型性能优化天池挑战赛来啦

阿里云大数据AI技术

深度学习

云生态大会,随“峰”而来!

天翼云开发者社区

nacos注册中心之服务地址动态感知

周杰伦本人

7月月更

AntDB数据库产品入选中国信通院《全球数据库产业图谱(2022)》

亚信AntDB数据库

国产数据库

数据治理笔记

老猎人

百度工程师眼中的云原生可观测性追踪技术

百度Geek说

Java 云原生

【字体反爬】猫X眼YingShi,我们又来欺负你了,用到了 OCR 识别技术

梦想橡皮擦

Python 爬虫 7月月更

iOS中内存管理(ARC)

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

绿色低碳天翼云,数字经济新引擎!

天翼云开发者社区

云计算 大数据 AI 数字化转型

FONK:一个面向K8S的无服务器LAMP技术栈_云计算_Pete Johnson_InfoQ精选文章