期望无服务器将成为主流

发布于:2021-01-11 15:30:15

0

110

0

服务器 无服务器 devops

无服务器是当前热门话题,它对不同的人意味着不同的意思。我们采访了New Relic云架构高级总监Lee Atchison,讨论了无服务器对他的意义,它如何改变应用程序的开发方式以及无服务器对未来基础架构的影响。

构建无服务器应用程序意味着您的开发人员可以将更多时间集中在交付核心产品上

JAXenter:无服务器一词是一个颇具争议的流行词:服务器仍在使用中。此外,每个人似乎都将无服务器理解为不同的东西(即FaaS或BaaS)。对于您个人而言,无服务器是什么?

Lee Atchison: 对我来说,无服务器最有用的定义是任何平台级服务,它可以为客户提供功能,而客户无需了解或了解运行该服务的底层基础结构。

使用此定义作为基准,AWS Lambda等FaaS产品当然可以胜任,但是,同样,Amazon S3也将被视为无服务器产品。

Amazon S3将存储功能作为服务提供,而消费者不需要任何知识或对运行该服务的基础架构的任何了解。

了解基于服务器的服务和无服务器服务之间区别的最好方法是了解Amazon DynamoDB和Amazon RDS之间的区别。

它们都是数据库产品。DynamoDB是无服务器的,因为您不必了解或理解基础服务器体系结构。Amazon RDS是基于服务器的,因为您必须了解并了解该服务在其中运行的服务器,因此,您需要配置服务器的正确大小并建立适当的冗余和备份。这两种服务是比较基于服务器的服务和无服务器服务的好方法。

AWS无服务器服务的示例:

  • AWS Lambda

  • DynamoDB

  • SNS / SQS

  • CloudFront

基于AWS Server的服务示例:

  • RDS

  • ElastiCache

  • ECS / EKS

  • Elastic Beanstalk

总体而言,与基于服务器的服务相比,配置和扩展无服务器服务要容易得多。

JAXenter:从开发人员的角度来看,无服务器具有许多优点。一是您几乎不必担心基础架构。您认为无服务器如何改变开发人员的日常生活?

Lee Atchison: 开发人员,特别是那些使用DevOps方法构建,部署和运营服务的开发人员,将从基于云的基础架构服务中受益匪浅。尤其是无服务器技术,可使日常开发人员更高效地使用和扩展基础架构服务。此外,开发人员现在可以利用托管服务,使他们能够构建从基于事件的简单工作负载到复杂的视频管道的所有内容,而无需管理运行任何服务器的复杂性。开始使用这些服务的开销很低,并且在它们上构建和维护生产工作负载所需的最低工作量为软件工程师提供了加速创新的机会。

但是,这并不意味着开发人员可以解决所有问题。作为一个简单的示例,AWS Lambda的用户仍然必须考虑性能和扩展性,因为特定的AWS Lambda函数的性能特征可能会根据该函数的使用模式以及其运行规模而变化。这些差异可能会对基于无服务器的基础架构的便捷性产生不利影响。简而言之,仅仅是因为您不必扩展服务器并不意味着您不必考虑和处理扩展问题。

JAXenter:开发人员并不是受新模型影响的唯一人,特别是当您想到DevOps时:无服务器方法对操作员/系统管理员的影响是什么?

Lee Atchison: 影响开发人员的相同挑战也影响了现代运营人员。随着我们的前进,这些角色在DevOps领域变得越来越交织在一起。

但是,对基础设施运营管理的需求将继续至关重要。操作团队仍将负责确保已正确配置要创建的环境以进行故障转移。此外,Ops将负责监视云服务,这将为他们提供必要的信息,以改善未来的云服务使用情况。运营团队非常适合在无服务器旅程的下一个阶段中为组织提供支持。

JAXenter:在DevOps的上下文中,可观察性和监视是非常重要的主题。由于您不再以运营商的身份负责基础架构,因此可观察性在无服务器应用程序中如何工作?

Lee Atchison: 可观察性更多地涉及端到端全栈应用程序视图以及所运行基础架构的低级详细信息。诸如跟踪之类的可观察性功能变得越来越重要。此外,在单个统一视图中结合了高级可观察性模式(例如应用程序跟踪)和低级监视功能(例如服务器监视,Kubernetes /容器监视和云服务监视)的功能,使您可以比较和查明因果关系变得越来越重要。

例如,由于后端依赖性,服务可能无法通过SLA。可观察性使团队能够做的是,快速查看并了解依赖关系正在使用当前遇到问题的云服务。团队拥有这种能力以保持其服务正常运行至关重要。

贾克森特:西蒙·沃德利(Simon Wardley)提出了这样的论点,即容器和Kubernetes只是软件开发历史上的一种边缘现象,并且由于“无服务器正在吞噬整个世界”,很快就会过时。你对那个怎么想的?

Lee Atchison: 无服务器技术使工程师能够构建具有更高敏捷性和更低总拥有成本的现代应用程序。构建无服务器应用程序意味着您的开发人员可以将更多时间用于交付核心产品,而不是管理和操作服务器或运行时。减少的开销使开发人员可以节省时间和精力,以花费在开发具有规模和可靠性的优质产品上。

容器技术也将是难题的主要部分,它将成为未来构建和维护现代应用程序的关键组成部分。

JAXenter:最后,简要介绍一下水晶球:2020年无服务器将扮演什么角色?

Lee Atchison: 无服务器将成为与其他现代技术一起被称为“动态基础架构”的关键服务之一。总体而言,动态基础架构将用于构建高度可扩展,高可用性,基于服务的应用程序,这些将构成我们现代世界的心脏。

明年,预计无服务器将成为企业应用程序中的主流,并与微服务和传统应用程序体系结构等其他技术进一步集成。无服务器并不一定会取代传统计算的需求,并且我们将在未来看到Kubernetes和容器即服务模型的显着增长。