免费下载!由 O’Reilly 出版的《NGINX 完全指南》中文版已正式上线 了解详情
写点什么

无服务器架构是小型创业公司的未来

  • 2019-08-01
  • 本文字数:1727 字

    阅读完需:约 6 分钟

无服务器架构是小型创业公司的未来

当谈到 2019 年的后端 web 开发,这一领域的风景可谓十分壮阔,从 VM 到容器,再到无服务器功能,每个公司都有自己的优势。许多大型银行、政府机构和老牌公司仍然依赖于较老的技术来运行它们的应用程序。而优步(Uber)、网飞(Netflix)和 Monzo 银行等较年轻的公司受益于容器化和微服务等新技术,它们的发展速度更快、效率更高。有趣的是,如今 Netflix 约占所有互联网流量的 15%,超越了任何其他视频流媒体服务的流量,因此这家公司在应用程序规模化设计和运营方面处于技术最前沿也就不足为奇了。

把时间花在真正重要的事情上

可悲的事实是,很多时候技术并不重要。至少对用户来说不是这样。用户根本不关心应用程序的后端到底是用 Java、Go 还是 NodeJS 编程语言编写的。他们也不关心它是使用容器技术还是无服务器架构,在虚拟机上还是实体机上运行。用户只关心他们的用户体验,这个应用对用户来说有价值吗?它好用吗?它好看吗?


在科技创业公司的早期阶段,人们一直在测试新的假设。一个新的理论或想法提出来,需要为之进行快速测试,以验证你正在构建的东西是有用的。构建和测试特性的速度越快,反馈循环就会发生得越迅速,从而就越容易准确地找到用户想从你的产品中获得什么。


当构建新产品的团队非常小时,对于创业公司的时间利用而言,管理复杂的基础设施不太可能是高效的方式。任何对于应用程序进行管理而不是构建的工作,统统都算作是产品开发的开销。然而,一个重要的提醒是,请牢牢记住,持续集成/持续部署(CI/CD)非常有用。这些必要的基础设施能帮助你走得更快。


使用无服务器架构,你可以专注于应用程序的逻辑。网站或移动 APP 上的每个功能都转换为一个或多个 API 调用,这样就提供了一个或多个无服务器式的功能。假设每个无服务器的功能只负责一个特定的 API 调用,那么代码可以比相应的微服务或单片机实现要简单得多。我使用无服务器架构所做的大部分工作几乎没有使用任何库。


你的应用程序突然产生了大量流量?不用担心,无服务器技术有现成可用的解决方案。无需管理,服务器或容器就能完成对流量的自适应扩展。你还可以选择与随需应变的数据库进行集成,如 AWS DynamoDB 或 MongoDB Stitch,它们也可以随需自动伸缩。

刚开始不用付费

无服务器架构的一个重要卖点是,可以按用户请求数量付费。与 VM 技术不同的是,你永远不会在服务空闲或没有用户使用时为基础设施付费。然而,重要的是,要正确地使用该技术,不要将之用于长时间运行、CPU 密集型的服务,因为如果这样做,将比只运行 VM 实例,比如 AWS EC2,花费更多。如果你以恒定的速率拥有较高的网络流量,当然你还是可以选择使用无服务器技术并支付更多的费用,但显然 EC2 的性价比会更高。

那么潜在的问题是什么呢?

无服务器架构也有其缺点,但完全是用例方面的相关问题。只要以正确的方式使用它,你就可以从多个方面获益——节约巨额的成本、缩短上市时间,以及减少开销中。


就像那句俗语一样,请不要用螺丝刀把钉子钉进墙上


《Register》杂志引用了加州大学伯克利分校的一些研究人员对 AWS Lambda 进行的一些测试,其中之一是培训一个机器学习模型,并将其与 AWS EC2 进行比较。“在 EC2 上,执行该任务的成本比 Lambda 低 57 倍,而且 EC2 的延迟性能要好得多。” 对,所以让我们用无服务器技术来做它擅长的事情,即基于事件驱动的服务。


在设计无服务器架构的应用程序时,尽可能避免使用大型库是非常重要的。一旦使用大型服务,冷启动的时间可能会急剧增加,这就会对用户的体验产生负面影响。


如果你在科技领域,你可能听说过这个词——厂商锁定。随着无服务器架构得到越来越广泛的应用,许多云提供商已经发布了自己版本的无服务器功能。像无服务器这样的技术框架,尝试从云提供商抽离出来,并云提供商之间的数据迁移更加容易。有许多像 knative 和 kubeless 这样的无服务器解决方案,它们允许你在任何云甚至你自己的基础设施上使用 kubernetes 运行无服务器工作负载。

结语

简而言之,计算的新时代已经来临。无服务器架构让你专注于构建产品,而不是管理服务器。对于小型创业企业来说,无论是在产品上市速度还是成本节约方面,都有巨大的益处。


作者介绍:


Aidan Hallett,技术顾问


英文原文:


Why serverless is the future for small startups


2019-08-01 15:193381
用户头像

发布了 63 篇内容, 共 40.0 次阅读, 收获喜欢 119 次。

关注

评论

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

iceberg查询加速原理

聚变

【科创人】贝锐创始人陈宇晔:花生壳诞生自一次挫折,15年坚守有温度不作恶

科创人

微服务转型系列2:微服务转型的三大误区,避坑指南

BoCloud博云

微服务

Nacos 2.0 性能提升十倍,贡献者 80% 以上来自阿里之外

阿里巴巴云原生

微服务 开发者 云原生 dubbo 中间件

《彩食鲜 CTO 乔新亮:程序员如何从技术走向管理》(采访提纲)

这就是编程

阿里P8亲自讲解!带你一步一步深入Handler源码,满满干货指导

欢喜学安卓

android 程序员 面试 移动开发

程序员快乐的一天!

BinTools图尔兹

程序员 运维 开发 dba 数据库管理工具

推荐25种自媒体运营必备工具 (建议收藏)

科技猫

工具 网站 分享 运营 自媒体

区块链技术重新定义 物联网的物与物之间的交易

CECBC

发展空间

Coinbase上市,对加密市场将带来哪些影响?

CECBC

货币

中国数字人民币试点有序扩大至“10+1” 拜登政府正加强研究数字人民币计划

CECBC

数字货币

阿里P8大牛亲自教你!带你快速通过面试,Android岗

欢喜学安卓

android 程序员 面试 移动开发

Substrate 合约书之合约模型

Patract

智能合约 rust polkadot Patract Wasm

腾讯大神为什么会对这份“redis深度笔记”如此爱不释手?

Java架构师迁哥

如何用 Electron + WebRTC 开发一个跨平台的视频会议应用

阿里云视频云

阿里云 音视频 WebRTC Electron 视频云

Spark数据倾斜解决方案

大数据技术指南

spark 4月日更

汽车之家基于 Flink 的数据传输平台的设计与实践

Apache Flink

flink

云存储中不可不知的五个安全问题及应对措施

浪潮云

云计算

勇夺桂冠!百度智能云获山东电力输电人工智能技术竞赛第一名

百度大脑

百度智能云

浅析“分布式锁”的实现方式丨C++后端开发丨底层原理

Linux服务器开发

redis zookeeper 分布式锁 Linux服务器开发 C++后端开发

Java该怎么学?阿里大佬呕心沥血之作,Java全线成长宝典,从P5到P8一应俱全

Java架构师迁哥

交易所合约跟单软件搭建,火币合约跟单平台开发

金融科技数据链的DNA

博睿数据

金融科技 博睿数据 数据链DNA

Java开发9年经验,三轮技术面+HR面试成功砍下阿里巴巴Offer!

Java架构追梦

Java 阿里巴巴 架构 面试

融云 CTO 杨攀:技术人员如何创业?

Yano

有道写作浏览器扩展实践

有道技术团队

大前端 浏览器 有道云笔记

进公司不会用 Git 拉项目!第二天被开除?

Java架构师迁哥

图查询语言的历史回顾短文

NebulaGraph

数据库 数据库设计 图数据库

无服务器架构是小型创业公司的未来_架构_Aidan Hallett_InfoQ精选文章