在无服务器架构时代,基础设施仍然很重要

日期: 2018-05-28 作者:Trevor Jones翻译:邹铮 来源:TechTarget中国 英文

公共云继续基础设施堆栈蔓延,这些服务承诺可帮助用户摆脱繁琐单调的IT工作,并将开发人员从基础设施限制中解放出来。同时,供应商开始推动无服务器架构以及其他让用户远离物理资产支撑其应用的技术,那么,开发人员是否还应该关注基础设施?

本月早些时候在西雅图举行的Microsoft Build开发者大会上,在讨论转向云计算过程中基础设施的角色转变时,来自Bitnami、微软和Pivotal的领导者都认为开发人员应该关注基础设施,至少要有所关注。以下是微软Azure Compute产品负责Corey Sanders、微软Azure StorageAzure Stack产品负责Tad BrockwayBitnami联合创始人兼首席运营官Erica Brescia以及Pivotal系统咨询部门副总裁Joshua McKenty的评论。

在无服务器架构中基础设施的作用:

Joshua McKenty:作为一名开发人员,我从不想过多了解基础设施,但如果你在构建分布式系统,那么你的部分代码可能运行在不同服务器,并且某个地方可能有网络跳跃。如果你在编写无服务器,或者说功能即服务,你的功能可能位于不同服务器。因此,至少来说,了解网络非常重要。

Erica Brescia:无服务器非常令人兴奋,但它不是一蹴而就,而是需要很长时间才能发展,基础设施绝对是你需要继续关注的东西。我们已经编写的所有优秀的应用都涉及基础设施。无服务器是另一种工具,我们看到的很多情况是,它被用来连接不同的服务,而这些服务与基础设施紧密关联。

Tad Brockway:基础设施正在发生转变,如果无服务器与存储等传统基础设施相结合,这实际上是非常强大的组合,因为你可以将内部所有资产或者甚至云优先资产放到基础设施,做一些有趣的事情,而无需编写大量代码或者担心IP地址等问题。

怎样做可让开发人员不必担心基础设施:

McKenty:当然有很多开发工作不需要涉及基础设施。这里的区分点在于你是否有性能顾虑,例如我们有简单的开发工作,然后也有复杂的网络敏感、性能敏感的开发工作。你会希望将结合考虑这两种情况,让这些团队尽可能少地关注基础设施,以及尽可能靠近基础设施。

Corey Sanders:有些计算服务和数据服务的性质可决定抽象化程度。例如像SQL Server这样的系统,对于核心基础设施的配置、改变和调整能力等方面,存在很多假设,如果不进行突破性的改变,很难完全抽象化。

而当你看到诸如Azure Functions等服务时,即使其运行的操作系统都应该被抽象,但即使在那里也具有挑战性。我们正在研究Linux对Functions的支持,事实证明,与Windows相比,Java可更好地在Linux运行,所以问题是虑到人们正在编写的现有服务的历史,有些抽象化不可能完全分离。

在转移到云计算之前,供应商应该了解企业的哪些情况:

Sanders:你的现代化程度如何?你会将什么留在本地?你正在容器化哪些服务?你在哪些部分构建新服务以及从预制的容器中拆出来?你将哪些部分转移到无服务器解决方案?对我来说,这里主要是关于:你继续前进的方向是什么?这个问题可能依应用而不同;这甚至不是依客户而不同。

Brescia:我想知道的第一件事是,你为什么想要迁移到云计算?你想省钱吗?你有权利关闭数据中心吗?你是想加快运行吗?这是否是关于获得某种竞争优势?了解所有这些对于走向正确的道路至关重要。

另一方面,你有哪些内部资源?在控制和易用性方面你会如何划出界限?你有更多控制,则有更多责任,还是你可能会或者可能不会关心控制,以及你可能有或者没有内部资源来管理这种控制。

McKenty:很多人愿意改变他们的工具,或者愿意改变某些流程,但当他们讨论转变时,他们会想象这是发生在公司其他人身上的事情,而不是发生在他们身上的事情。一般来说,你会发展到你所想象的程度,如果你无法想象那么激进,那么你就无法接近目标。

在无服务器架构和其他抽象化兴起时,如何让开发人员关注基础设施:

McKenty:答案是提供语言和框架,使其对他们有意义。当这是开发者世界观的一部分时,他们会关注基础设施。从每天部署到生产环境开始,从CI/CD开始。如果开发人员编写的第一件事情是生产环境的CI管道,出现的情况就不是“我们编写代码,然后我们知道下面的基础设施”,而是“我们认为我们的代码是基础设施和代码的组合,然后我们考虑使用哪些软件用于这个交叉点。”

是否有必要使用云端所有最新和最强大技术:

Brescia:尝试新事物和新服务是很棒的事情,但如果你正在构建需要维护的应用或服务,你需要考虑你为什么这样做以及目的是什么,而不仅仅是为了尝试最新最流行的事物。

人们会让事情过度复杂化。有些应用在单服务器环境中运行得很好,你可获得它所有的业务价值。然后,你会发现人们试图将他们的应用分成一千种不同的服务,这些服务可以相互通信,因为这是新的热门技术,但这根本不实际。创建酷炫的东西以及了解新服务是很棒的周末活动,我完全鼓励这样。然而,这不应该是你或者其他人日常工作。你应该找出有价值的东西,并从那里开始。

McKenty:即使在Azure工作以及运行它的人也不知道Azure的所有服务。你也不需要这样做,你应该像追逐北极星那样’我有一个项目,我有一个问题,我正在努力接近’。专注于你对这个问题的需求,不要试图掌握公共云的所有服务,避免’错失恐惧症’的心态。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

Trevor Jones
Trevor Jones

SearchCloudComputing.com的新闻作者,2014年加入TechTarget。

翻译

邹铮
邹铮

相关推荐