您的位置: 首页 > 新闻资讯 > 高质量代理 > 正文

无服务器计算与为服务架构相结合

发布时间:2019年05月27日 作者: 来源:互联网

    无服务器计算与为服务架构相结合,以云计算目前的创新速度,业内流行语和噱头可能会从字面上给用户造成误导或混淆。可能你已经听说过使用无服务器计算平台构建应用程序,或设计运行在微服务架构上的软件等类似例子。即使这些想法听起来像噱头,但现实是,他们正在改变企业构建、部署和运行应用程序的方式。

    无服务器计算是开发人员构建应用程序而不必考虑服务器的一种方式。它只是个抽象层,使开发人员能够专注于编写代码,同时忽略服务器和传统基础设施概念。

    2014年,亚马逊发布AWSLambda,这项服务使开发人员能够创建在现有托管实例上运行基于云的函数。AWS稍后发布了其API网关服务,可用于配置(deploy)公共节点以通过HTTP调用Lambda函数。综合来看,AWSLambda和API网关能够帮助组织建立WeB、移动和互联网后端,这些后端完全可扩展,而且不需要服务器

无服务器计算与为服务架构相结合

    AWS技术被认为是无服务器计算(calculate)架构类的领导者,但该公司不是唯一提供商。MicrosofT、GooglE、IBM等也发布了类似产品,被视为函数服务(FaaS)。开发人员可以与任何提供者创建和运行函数,以实现无服务器应用程序(procedure)体系结构(Structure)。

    更高的可扩展性效率

    无论FaaS平台如何,无服务器计算架构受到很多关注。以下是FaaS平台的一些主要功能,使其成为一种极具颠覆性的技术。

    -降低复杂性。在公有云平台如AWS和Azure的支持下,构建高可用性的应用程序架构变得更为容易。在负载平衡器后启动自动缩放的虚拟机非常简单。你甚至可以跨多个地区扩展应用程序架构,以实现地理冗余。

    通过无服务器计算,基础架构将消失。开发人员可以完全专注于编写支持应用(application)程序功能的代码。云平台负责管理调用这些功能的服务器,因此其可用性非常之高。

    -内置可扩展性。在云中构建Web应用程序(procedure)的最棘手的部分之一是调整虚拟服务器规模的自动缩放。必须找到正确的平衡点,以确保可以根据流量峰值进行扩展,并在高峰消失时收缩。听起来很简单,但每个应用程序都有自己的行为,并且必须调整设置以优化成本并提供最佳性能。使用(use)无服务器计算,就是将这项任务转移到供应商,客户可以更自由地关注应用程序。例如,AWSLambda服务运行在完全管理下的ElasticComputeCloud实例上。该服务将根据正在执行的代码对应用程序进行扩展,开发人员或运维工程师不再需要管理虚拟机或自动缩放组。

    -消除空闲资源。无服务器计算的另一大优点是,只需要在实例运行代码时才付费。对于传统(chuántǒng)服务器,即使使用自动缩放应用程序,也会占用一些资源。但是无服务器,只有有人实际使用应用程序时,才需要付费。不必支付小时费用来运行可能执行或未进行任何工作的虚拟机。AWS通过其Lambda服务提供次秒计量,因此只需按每100毫秒执行代码的次数来计费。其他FaaS提供商提供类似的定价。

    深入无服务器架构

    要了解无服务器应用程序(procedure)的构建方式,让我们看看使用(use)AWS无服务器架构的常见Web应用程序。

    -前端层。

    为Web应用程序前端提供支持的静态资源托管在AmazonSimpleStorageService(S3)(即AWS对象存储服务)中。你可以使用(use)S3将某个bucket,理解为某个文件夹,转换成静态网站。可以在此位置存储HTML、JavascripT、CSS文件和图像静态内容。

    AmazonCloudFront(网站内容传送网络(CDN))分发这些资源。CDN是可选的,但可以减少最终用户访问静态内容的延迟。总的来说,这个想法是,通过客户端Javascript框架与静态无服务器网站驱动应用前端。该框架可以调用Lambda为应用程序执行后端工作。

    -API层。

    在这种情况下,AWSLambda和API网关为网络应用程序的后端支持。开发(develop)人员可以编写离散的无状态Lambda函数来处理支持应用程序的各种资源的创建、读取、更新和删除操作。前端代码通过API网关调用Lambda函数来为应用程序做大量工作。

    -数据(data)库层。

    持久性数据可以存储在其他托管服务中,例如AmazonDynamoDB,即NoSQL数据库服务,或AmazonRelationalDatabaseService。AWSLambda功能可以直接与这些服务进行通信,以保留数据。

    请记住,这只是无服务器架构的一个例子。移动和互联网的后端,以及实时流处理(processing),是无服务器计算的其他用例。

    亚马逊和Netflix多年来一直使用微服务架构风格。微服务的想法是将一个大型应用程序分解成面向任务的服务集合。

    商业应用程序通常构建为单个唯一单元。这些通常包括为最终用户提供HTML的应用程序前端,用于处理繁重的业务的后端服务器端代码以及用于存储和保留数据的数据库层。单片应用架构多年来运作良好。但随着应用程序的发展,为支持大量的用户,更新变得更加困难。因为单片应用程序的组件是紧密耦合的,即使对代码库的轻微更改也可能(maybe)需要一个全新版本的应用程序。

    作为替代,许多较小的微服务器可以集中地为整个应用程序提供支撑。因为微服务通常没有连带责任,他们专注于实现单一工作或执行支持整个应用程序的某个任务。

    -微服务的好处

    那么为什么企业需要分解单一应用程序来组建微服务架构呢?有一些坚实的理由。

    微服务组成部分:轻量级应用程序;耦合低,甚至没有;更改代码库可能需要完整的APP新版本。

    -故障隔离。当应用程序的每个组件作为单独的服务运行时,可能会失败,而不会破坏整个系统。负责微服务的不同小团队可以快速迭代,并对代码库进行更改,而不会在整个应用程序中造成错误。这样可以减少应用程序的总体停机时间,并提高小型团队构建和支持特定微服务器的生产率。

    -松耦合。每个微服务都是完全独立的,可以运行自己的技术栈。只要应用程序内的其他服务可以使用非专用HTTPAPI与微服务器进行通信,则微服务器的基础实现可随时更改。这使得团队能够实现最有意义的技术,并且它防止了使用单个技术堆栈来满足整个单应用程序的要求。

    -减少进入障碍。较小的微服务不太复杂,因此更容易理解。这使得新加入的开发人员更容易与现有团队进行合作。

    与目前利用公共云的FaaS不同,微服务架构可以在内部机房或云端运行。

    虽然使用容器构建微服务是常见的,但新兴的实践是构建微服务器架构与无服务器功能。你可以在AmazonS3中部署静态网站,并使用前端代码在整个体系结构中调用一个或多个微服务API。

    在尝试之前的考虑

    毫无疑问,这里讨论的模式和做法有很大的优势(解释:能压倒对方的有利形势)。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。然而,在深入无服务器的微服务之前,有一些重要的事情要考虑。

    -供应商锁定。每个无服务器的计算平台都具有自己的功能和特性。一般来说,通用语言,包括JavascripT、Python和C#将可从AWS,Microsoft和其他主要提供商获得。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

    即使如此,决定拿起并移动到另一个平台也许需要大量的工作。

    -开发工具。在这个阶段最大的困难之一是开发者工具。致力于大规模无服务器应用程序开发的IT团队需要通过一些工具管理依赖关系。预计未来几年该领域将会大幅进步。

    -服务限制每个提供商将有自己的函数可以执行多长时间,以及可用于应用程序代码和依赖关系的容量限制。

    这是在检查无服务器应用程序时应该注意的事项。

    -业务成熟度。部署和支持微服务架构并不是为了微弱的心脏。当然,亚马逊、微软和Netflix都已经非常成功地采用了这些模式(pattern)。但并不是每个团队都有类似的技术(Technology)技能。如果您正在考虑使用无服务器的微服务方法,请准备聘请有才华的员工,并提供培训(作用:知识传递、技能传递、标准传递),以便现有员工能够获得成效。


相关文章内容简介

1 如何选择正确的主机类型

 ∵ ∵如何选择正确的主机类型?市面上目前主要就流行(Prevalent)云虚拟主机、VPS主机和云服务器这三种类型的云计算(calculate)服务;那么,这三者之间主要有什么区别呢?下面小编来简单介绍一下: ∵ ∵一、首先来介绍一下云虚拟主机,云虚拟主机也常常被称为“虚拟空间”、“空间”; ∵ ∵虚拟机相对于其他两种云主机的主要区别就是,虚拟主机无... [阅读全文]

2 看这三点识清楚虚假云服务器

 ∵ ∵在虚拟技术飞快变革的当下,任何服务商只要掌握最新的技术就能在市场上占有一席之地。因此对于云服务器租用这个最新的虚拟技术所有的服务商都希望能分得一杯羹。但是毕竟掌握核心技术(CoreTechnology)的不是所有的服务商,更多的服务商是用虚假云服务器来欺骗(piàn)用户,那么用户应该如何分辨呢?看这三点识清楚虚假云服务器: ∵ ∵第一,看云... [阅读全文]

推荐阅读

  1. 21

    2019-10

    这三类企业也太适合用云主机了

    云主机的使用能够提升企业的工作效率,通过利用云计算等技术,针对资源整合的能力得到了提升,这对于处于大数据营销的企业是非常有利的。面对庞大的云市场,哪些企业适合选择用云主机

  2. 20

    2019-05

    选购云主机要认清几个点

    选购云主机要认清几个点,目前云主机竞争尤为激烈,为了争取到市场份额,不少的云主机服务商在赔本赚吆喝。就这两天,曾经辉煌一时的云主机提供商创宇云宣布因资金链断裂停止运营。为

  3. 05

    2019-12

    云服务器的机房设备有哪些?

    云服务器要搭建起来大家知道需要哪些硬件吗?虽然云服务器有个“云”字,但是并不代表它不需要动用物理设备,今天我们来一同看看云服务的机房有哪些主要设施。

  4. 02

    2019-12

    如何购买高质量虚拟主机服务?

    现在网络非常发达,大家如果想要购买云服务器使用,可以通过网络找到很多对应的服务商,他们都宣传自己的服务器优质稳定。甚至还有一些非常低价的云主机、虚拟主机、VPS服务器在做推广

  5. 28

    2019-01

    服务器是用国内好还是国外好?

    如今网站这么多,都是需要使用服务器去搭建的,比如vps、云主机、虚拟主机等,那么使用哪个好呢?服务器是用国内好还是国外好?下面跟万变云一起去了解下关于服务器的选择。

  6. 21

    2019-08

    云主机有哪些关键的技术?

    随着云概念的兴起,云主机、云数据这些概念成为热词,但是其实还是有很多人对于这些只是一知半解,云主机这个词我们听得多,但是实质它具体能够做什么,又有什么技术突破之处,这些概