关于无服务器技术需要了解的 6 件重要事情
关于无服务器技术需要了解的 6 件重要事情
原文:https://medium.com/hackernoon/6-vital-things-to-know-about-serverless-tech-aa5e352aa4a6

云技术已经兴起好几年了,但当亚马逊在 2014 年推出他们的无服务器平台“ AWS Lambda ”时,他们永远改变了科技世界。
从那以后,“无服务器”计算越来越受欢迎,其他人也推出了自己的无服务器平台,包括 Azure Functions (微软) Cloud Functions (谷歌)和 OpenWhisk (IBM)。
但是什么是无服务器计算,它对 it 世界的未来意味着什么?更具体地说,它对将来可能使用它的开发人员意味着什么?
尽管无服务器技术相对较新,但它正迅速成为世界各地许多企业的主要产品,并且正在改变开发人员的工作方式以及企业如何看待其 it 部门的角色和职责。
作为开发人员和未来的技术领导者,您应该知道一些关于无服务器计算的事情,以及它对您的职业生涯意味着什么:
一:无服务器计算并不是真的无服务器
Thoughtworks 将无服务器技术定义为“一种用短暂的计算能力取代长期运行的虚拟机的方法,这种计算能力应请求而存在,使用后立即消失。”
从技术上讲,服务器仍然参与到这个过程中,这使得这个名字有点用词不当。然而,无服务器技术的不同之处在于,服务器并不总是像传统云计算那样运行应用程序。
相反,当一个应该执行的动作完成时,应用程序会提醒云服务器,然后服务器会停止,直到请求另一个动作。这比使用传统的云服务器有几个好处。
首先,创建和启动应用程序要快得多。无服务器计算依赖于容器和函数,这些工具为开发人员提供了一个更好的执行环境来构建、编辑和维护应用程序,而不必在每次出现问题时都进行重大更改。这降低了需要管理的应用程序的复杂性。
另一个好处是无服务器的运营成本更低,因为应用程序不是全天候运行的。它在收到请求时运行,降低了公司的运营成本,并消除了第三方云提供商“永远在线”的负担
例如,使用 AWS Lambda,他们的无服务器平台负责确保应用程序代码的加载和执行,以及有足够的资源来运行它,所有这些都不需要您的 it 团队或开发人员做任何事情。
第二:无服务器技术:它对澳大利亚科技公司的影响
在与 Airtasker 的技术主管戴夫·麦克弗森(Dave McPherson)就无服务器技术对他意味着什么的对话中,他说,“这意味着大规模”。他提到他一直在使用无服务器技术来执行琐碎的任务,这使他能够扩展开发人员环境,同时保持开发人员运营的低开销和精简。
Airtasker 的 Ruby 工程师 Saurabh bhat ia补充说,无服务器技术允许 air tasker 构建“事件驱动”的代码片段,这些代码完全解耦,可以在 AWS Lambda 基础设施上的核心系统之外运行。这种工作方式可以让他们更有效率,优化他们的代码库。
OFX的迈克·沃特金斯说:“无服务器技术让我们能够使用原生云托管组件来设计和交付应用程序,而不用担心这些组件是如何托管的。传统上,我们让开发人员创建应用程序,让开发-运营团队思考如何运行 CI/CD 和打包/交付应用程序,让运营团队专注于管理托管基础架构。在无服务器模式中,我们现在有开发运营和开发人员协作,应用程序的设计包含了基础架构管理,因此它们可以由开发人员即时并重复地自主部署到云。”
OFX 最近将其基础设施迁移到 AWS,因此这是他们使用无服务器技术的首选平台。作为一家促进国际货币转账的科技公司,他们使用无服务器技术将汇率数据输入到大容量网站,使这种转账变得可行和高效。这降低了他们的运营成本,因为他们不再需要为额外的托管基础架构的设计或交付付费,也不再需要为闲置或未利用的服务器付费。
迈克尔·凯利的观点(Versent 的 DevOps 顾问)进一步支持与使用无服务器技术相关的时间和成本优势。他提到,“无服务器技术意味着不必为了提供业务功能而设置大量复杂的样板代码。”
Versent 使用无服务器应用程序进行合规性报告和监管,提供基础架构看门人服务,以及任何模块化的短期任务。他们这样做是因为这使得代码对客户来说更容易维护,模块化,并且只在有工作要做的时候才运行。迈克尔说:“你用更少的投资获得更多的价值。”
第三:无服务器为企业提供了更大的灵活性
显然,无服务器技术消除了与设置主机基础设施相关的所有配置难题,让您专注于提供真正价值的业务逻辑。这使组织能够专注于更高价值和更高级别的应用程序,而不是担心其核心操作系统的配置或问题。
这为企业将无服务器技术用于单一用途服务(如构建单一应用程序)或更强大的平台构建(如推出软件即服务(SaaS)或平台即服务(PaaS)产品)开辟了可能性。
或者,组织可以将他们的一些 IT 需求外包给其他 SaaS 或 PaaS 公司,比内部雇佣 IT 团队更便宜,从而释放精力和资源,专注于更高级别的应用程序或客户服务需求。
如果这些 SaaS 公司也使用无服务器计算来托管他们的应用程序和平台,它可以降低每个相关人员的成本,创造更多的机会来更好地服务两端的客户。
第四:如何了解更多关于无服务器技术的信息
关于开发人员如何在使用无服务器技术方面提升自己的技能,Airtasker 的 Dave McPherson 强调了使用个人网络和在在线论坛上关注有这方面经验的开发人员的重要性。
Airtasker 的 Ruby 工程师 Saurabh Bhatia 向我们介绍了一些额外的资源,开发者可以用它们来构建你在这个领域的能力。他参考了 AWS 的 lambda 文档,提到了像 Moto 和 Emulambda 这样的项目来帮助离线开发 Lambda 代码。他提到这个资源:无服务器代码有许多有用的帖子,结合许多 StackOverflow 问题和使用 DevOps Sydney 的 slack 频道,帮助他加快了这个领域的速度。
OFX 的 Mike Watkins 强调了参加甚至主持关于无服务器技术的聚会的重要性,让自己沉浸在这个领域并尽可能多地学习。Versent的迈克尔·凯利说他在自己的博客 ashiny.cloud 上写关于无服务器技术的博客,并参考云学院来了解这个领域。
通过将无服务器技术整合到流程中,开发人员可以快速构建复杂的系统,将更多的时间花在解决应用程序的核心问题上,而不是确保基础架构正常工作。
第五:技术工作可能会变得更具竞争性
由于无服务器技术的出现,开发人员的职责发生了转变,BuildFax ,的首席技术官 Joe Emison 认为,企业也将开始转变其 IT 部门的角色和职责,使开发人员的工作更具竞争力。
“仍然需要控制最终用户体验的内部开发人员,” Emison 说,但他补充说,开发人员将更多地承担测试和完善的角色,而不是严格的开发人员或程序员。
这意味着开发人员、设计人员和其他科技行业中了解用户体验基础的人可能比那些了解如何编写复杂基础设施代码的人更适合在无服务器世界中从事 IT 工作。
这可能会导致在高端公司求职的开发人员之间的竞争加剧,特别是那些在谷歌、亚马逊、微软或类似机构求职的开发人员。
六:为什么你应该优先考虑应用建设和 UX
在为 Wired 撰写的一篇文章中, Mendix 的营销副总裁 Gottfried Sehringer 有着与 Emison 相似的理念,他说在不久的将来,对开发人员的最大需求将是那些知道如何使用无服务器技术构建定制软件应用程序来解决现实世界问题的人。
“我的建议?“不要教每个人如何编码,”他说。“教他们如何识别和理解需求,以及如何直观地表达逻辑。教他们技术是如何工作的,这样他们就可以理解可能性的领域,然后设想改变游戏规则的创新。”
随着无服务器技术越来越受欢迎,并塑造了企业世界,求职者和开发人员应该优先考虑应用程序构建和用户体验,并熟悉无服务器技术的细节,如果他们真的想在未来十年获得顶级工作的话。