精华内容
下载资源
问答
  • 什么是服务器架构

    2020-08-08 12:11:51
    什么是无服务器架构? 无服务器架构是指应用程序使用第三方 Function 和服务,但不需要管理服务器。它的特点还包括无状态、自动伸缩、没有运营成本等,此外,因为运行时小,所以无服务器...

    什么是无服务器架构?

    无服务器架构是指应用程序使用第三方 Function 和服务,但不需要管理服务器。它的特点还包括无状态、自动伸缩、没有运营成本等,此外,因为运行时小,所以无服务器架构具有较高的安全性。

    无服务器架构主要包含了 FaaS(Function as a Service,Function 即服务)与 BaaS(Backend as a Service,后端即服务)两个方面,本文着重关注前者。

    FaaS 包含服务器端业务逻辑的无状态 Function。这些 Function 运行在独立的容器里,基于事件驱动,并由第三方厂商托管。

    无服务器应用程序架构示例

    假设有一个简单的线上汽车拍卖应用程序,用户可以登录并出价,拍卖时间结束时价高者得。按照传统方法,架构中会包含一个部署了应用程序和前端的单体服务器,如下图中采用了瘦客户端方式,所有的业务逻辑(如认证、回话管理、车辆管理等)都部署在服务器端。

    那么,在一个无状态的微服务架构中,这个应用程序又会是什么样子?

    其中,原来的单体应用程序被拆分成了多个服务器端组件:

    认证 Function:这是一个用于管理用户认证(登录)的 Function(Function,FaaS)。

    车辆管理服务:一个处理与车辆相关操作的微服务,这个服务可以使用任意语言或框架来开发,它与数据库通信,并且独立运行。

    车辆出价 Function:这是另外一个 Function,也与数据库通信,录入用户出价记录。

    API 网关:所有服务的入口点和反向代理。来自客户端的请求会先到达网关,网关根据路由规则将请求重定向到特定的服务。

    在将服务拆分成微服务或 FaaS 时,需要考虑到业务逻辑、负载、规模等方面的因素。上述的例子描述了无服务器架构和基于无服务器架构设计微服务时的大致过程。

    无服务器架构的限制

    尽管使用无服务器架构有诸多好处,如减少管理服务器的成本;比不间断运行的服务更安全、缩短发布周期、开箱即用的监控等,但它与其他任何一种技术架构一样,也存在限制,包括启动延迟、性能优化局限于代码内部、成本不可预测、执行时间限制(AWS Lambda 的执行时间限制为 15 分钟)、测试和调试复杂、开发环境不同于生产环境等。所以,在决定是否要采用无服务器架构之前,需要先分析一下自己的业务和技术需求,通盘考虑各种优点和缺点。

    无服务器架构与 PaaS 的区别

    因为 PaaS(Platform as a Service,平台即服务)是另一个不需要开发人员管理服务器(包括硬件和软件)的架构模式。所以,开发人员容易把无服务器架构和 PaaS 混为一谈。

    二者的不同点在于:

    PaaS 提供了更为可控的部署方式,而无服务器的部署更为严格。

    无服务器架构可以自动伸缩,而 PaaS 的伸缩需要进行配置。

    无服务器架构的成本是由事件驱动的,而 PaaS 是固定的。

    PaaS 应用程序在部署之后会一直运行,并马上开始处理请求,而无服务器需要等待第一个事件,具体取决于事件的发生频率。

    总的来说,无服务器架构是一种架构风格,通过 FaaS 将业务逻辑从长期运行的组件中移到临时的 Function 里。它可以解决很多架构和运营问题,简化开发者和运维人员的工作。

    展开全文
  • 服务器架构 无服务器服务无处不在。 向新的编程方式发展的背后驱动力,无服务器产品以各种形式和形式出现,包括应用程序托管平台,无服务器数据库,CDN,安全产品等。 无服务器产品已消除了低级配置,扩展和...

    无服务器架构

    无服务器服务无处不在。 向新的编程方式发展的背后驱动力是,无服务器产品以各种形式和形式出现,包括应用程序托管平台,无服务器数据库,CDN,安全产品等。

    无服务器产品已消除了低级配置,扩展和配置问题,而剩下的最后就是分发问题。 这里,无边缘服务器通过在多个数据中心之间分布数据和计算来提供解决方案。 边缘无服务器通过使计算更接近用户来减少延迟。

    [ 不要错过InfoWorld的2020年度技术奖获奖者:年度最佳软件开发,云计算,数据分析和机器学习产品 ]

    无边缘服务器是近15年前从“基础架构即服务”开始的云架构演变的顶点。 这种发展的下一阶段将是进一步推动无服务器“构建块”的分布,并使开发人员更容易使用它们。

    让我们仔细看看我们去过的地方和去往的地方。

    分层架构

    基础架构即服务(IaaS)

    随着基础架构即服务的出现,云计算革命开始了。 借助IaaS,公司可以将其本地基础架构迁移到托管的“云”基础架构并从那里进行操作。 他们只为所使用的存储和计算时间付费,而无需安装或管理任何硬件或网络。

    刚开始,IaaS似乎很昂贵,但公司却很快采用了它,因为保证了正常运行时间的水平是他们无法与之抗衡的,而购买和维护自己的基础架构的价格通常超过了IaaS产品。 最重要的优势是,云消除了硬件维护和配置,从而解放了开发人员,使其专注于业务价值。  

    平台即服务(PaaS)

    然后,供应商将云计算向前迈进了一步,并提供了平台即服务 PaaS解决方案可以租用构建应用程序所需的一切,而不仅仅是租用服务器。 这不仅包括服务器,还包括操作系统,编程语言环境,数据库和数据库管理工具。

    IaaS提供程序使您成为租用服务器的管理员,而PaaS提供程序接管服务器管理任务,例如软件安装或安全更新,并经常尝试预期代码的环境要求。 PaaS的目标是为您提供一种简单的方法来部署您的应用程序。 PaaS比IaaS更进一步,将开发人员从系统管理任务中解放出来,并使他们专注于最重要的应用程序。

    AWS Elastic Beanstalk,Google App Engine和Heroku只是向公众提供PaaS的少数提供商。

    软件即服务(SaaS)

    软件即服务通常是指可通过各种订阅获得的在线托管应用程序。 这些应用程序完全可以在云中运行,并且可以通过互联网和浏览器进行访问。 本质上,在云中运行并具有基于订阅的定价模型的每个应用程序都被视为SaaS应用程序。

    SaaS应用程序有两种类型:面向最终用户的应用程序和面向开发人员的应用程序 后一种类型旨在为其他应用提供基础。 Gmail,Dropbox,Jira,BitBucket和Slack都是专注于最终用户的SaaS应用程序的示例,而Stripe和Slaask公开的API允许您将其SaaS解决方案集成到自己的应用程序中。

    [ 同样在InfoWorld上:启动devops程序的3种方法 ]

    容器即服务(CaaS)

    容器平台是IaaS的最新形式。 CaaS提供程序可以提供容器中的服务或应用程序,并代替您提供完整的服务器主机,而是代表您管理容器。

    与虚拟机相比,容器在利用基础主机资源方面效率更高。 人们可以将容器视为“微型机器”。 它们可以快速启动,并且多个实例可以在单个服务器上运行。

    CaaS提供程序提供了一些工具来在服务器上部署容器以及上下扩展容器实例的数量。 最先进的产品完全为您管理底层服务器,使您的公司可以专注于代码(或容器)而不是基础架构。

    CaaS已Swift成为PaaS和SaaS的组成部分之一,从而形成了分层架构。 已经朝着尽可能多地开发应用程序的方向发展。 许多复杂的应用程序仍然是SaaS,PaaS和CaaS的组合,因为可用的平台不够灵活,无法提供应用程序所需的一切。

    无服务器边缘架构01 动物群

    许多复杂的应用程序是SaaS,PaaS和CaaS的组合。

    通过尽可能多地依赖SaaS,您可以摆脱配置和可扩展性方面的顾虑。 对于其余部分,公司通常会使用运行中的容器,这意味着他们仍然需要进行配置和配置。

    [ 也在InfoWorld上:微小的云采用AWS,Microsoft Azure和Google Cloud ]

    为了减少这些担忧,创建了第五种产品来填补空白。 无服务器架构诞生了。

    无服务器架构

    功能即服务(FaaS)

    FaaS使您可以上传和执行代码,而无需考虑扩展,服务器或容器。 从这个意义上讲,它超越了先前产品的易用性原则,但是它也具有在PaaS中不太突出的局限性。

    FaaS的最大优势是扩展。 缩放FaaS的粒度可以比PaaS或CaaS的粒度低,并且不需要配置。 同样,您不为不使用的物品付费。

    • 粒度: PaaS应用程序通常仅按应用程序扩展,而基于CaaS构建的应用程序仅按容器扩展。 FaaS应用程序细分为单独的功能,因此可以按功能扩展 缺点是它经常需要您重新考虑应用程序的体系结构。 除了管理一个应用程序或几个容器之外,还必须管理执行较小任务的许多功能,这可能会导致许多编排工作。
    • 配置 :哪里   您通常会配置何时扩展(触发来进行缩放)或手动设置需要运行的应用程序或容器的实例数,FaaS不需要您配置扩展或配置特定资源。
    • 随用随付:您无需部署容器(CaaS),而要为代码是否被有效执行而付费,而仅在调用函数时才产生费用。 这种按需付费的定价模型正逐渐成为定义无服务器的最重要方面。
    • 限制:在典型的应用程序中,您可以为代码定义内存限制或执行时间限制。 尽管FaaS提供程序允许您配置这些设置,但仍有一些上限可以确保提供程序可以有效地优化这些资源。 可以想象,如果可以使用10GB的RAM创建功能或可以运行几个小时的功能,则提供者很难估计要启动多少服务器才能最佳地使用其资源。

    [ 也在InfoWorld上:2020年的人工智能预测 ]

    新的边缘架构

    无服务器架构消除了调配和扩展问题,但是分发仍然是一个具有挑战性的问题。 理想情况下,我们希望我们的代码尽可能接近最终用户运行,以减少延迟。 直到最近,我们一直在构建应用程序的方式存在多个问题:

    • 分布逻辑 :除非您将功能或容器部署在不同的区域,并且自己将客户端路由到最接近的功能,否则您的功能通常将保留在一个数据中心中。
    • 分发动态数据:在不分发数据的情况下分发逻辑并不会获得丰厚的回报,因为等待时间刚刚移到了另一个位置。 您的用户可能离后端更近,但您的后端仍与数据层相距甚远。
    • 成本,配置,监视:很少看到一个应用程序分布在两个或三个以上的区域,因为这样做通常会带来额外的成本或配置,并且需要您监视多个区域的功能或容器。

    无服务器的下一个发展是无需配置即可进一步推动分发并交付它。 这意味着我们的逻辑和数据分布在全球许多地区,有效地减少了最终用户的延迟。

    CDN和Jamstack

    我们已经使用了提供自动分发的最基本的服务形式。 它称为内容交付网络或CDN。 Netlify和Zeit等公司的一些聪明人看到,通过尽可能多地预生成您的应用程序并使用无服务器功能和SaaS API处理动态部分,已经可以实现自动分发。

    这种方法,由Netlify创造的“ Jamstack”,已经Swift普及,因为内容交付网络首先带来了边缘架构可以提供的功能。 当然,仅基于服务器端渲染的Jamstack有一些限制。 例如,必须为新的传入内容触发构建。 这使得将这种方法应用于具有大量构建时间的高度动态的网站非常具有挑战性。

    无服务器边缘架构02 动物群

    基于服务器端渲染的Jamstacks面临着高度动态的网站的挑战,因为必须为新内容触发构建。

    增量构建和诸如客户端水合作用之类的概念为该问题提供了部分解决方案,但最终,我们希望复杂的网站具有两全其美的优势:(对于最终用户而言,延迟非常低)以及可以立即访问的新内容。

    [ 也在InfoWorld上:如何通过左移测试改善CI / CD ]

    分布式服务的兴起

    我们来自一个架构,在该架构中,前端与后端进行通信,而后端又与数据库和其他服务进行通信。 后端和数据库通常一起缩放,以使后端和数据库之间的延迟降低。 分发是可能的,但通常很麻烦,因此受到限制。

    无服务器边缘架构03 动物群

    后端和数据库的分发是可能的,但是通常很麻烦,因此受到限制。

    在未来的体系结构中,将通过使用其他分布式服务将Jamstack的思想提升到一个新的高度。 这些服务中的每一个都将是一个分布式网络,其节点不一定必须与其他服务位于同一数据中心中。 为了将等待时间减少到绝对最小,必须重新考虑安全模型,以使前端与数据库和其他服务网络进行通信。

    无服务器边缘架构04 动物群

    未来的应用程序体系结构将利用分布式服务网络,分布式数据库网络和分布式无服务器后端。

    让我们来看看为实现这一目标而做出的贡献。

    分布式服务网络

    许多SaaS平台(例如Algolia和SendGrid)旨在成为其他应用程序的构建基块。 他们开发特定的服务,以消除典型后端应用程序中的特定问题。 其中一些正在发展成为分布式服务,例如Algolia,它自称为分布式搜索网络(DSN)。 许多其他的Saas平台也将随之而来,并且我们很可能很快将谈论分布式服务网络,这是SaaS应用程序的下一个发展。

    分布式无服务器数据库

    数据库如天青宇宙DB谷歌云扳手 FaunaDB都采用薪酬为你去无服务器模式,并提供出的现成的分布与某种形式的ACID保证。 某些数据库提供安全层和本机GraphQL API,这些安全层和本机GraphQL API可以由客户端应用程序安全地使用,并且可以与无服务器后端很好地协作。 安全层使用户界面可以直接与数据库进行交互,而不仅仅是与后端进行交互。 理想情况下,前端应用程序可以与具有低延迟和ACID保证的全局分布式数据库通信,就像数据库在本地运行一样。

    分布式无服务器边缘计算

    新的无服务器功能(例如Cloudflare workerStackPath Serverless Scripting )将无服务器功能推向了边缘。 它们旨在使功能尽可能接近最终用户,以将等待时间降低到绝对最小。 Cloudflare工作人员拥有194个服务点,而StackPath有45个以上的位置。

    [ 通过InfoWorld Daily新闻通讯了解软件开发,云计算,数据分析和机器学习方面的最新发展 ]

    为什么现在这种新的边缘架构越来越受欢迎? 当我们考虑从IaaS到边缘无服务器的这种转变的演变时,一个绊脚石始终使我们受挫:如何处理动态数据? 尽管我们已经拥有Amazon S3之类的服务来托管相对静态的数据,但实际的数据库仍难以提供无服务器的体验。 这是因为构建高度一致的分布式系统非常困难

    翻译自: https://www.infoworld.com/article/3526480/whats-next-for-serverless-architecture.html

    无服务器架构

    展开全文
  • 裸金属服务器架构原理是什么?云吞铺子分享: 什么是裸金属服务器? 裸金属服务器(Bare Metal Server)类似云上的专属物理服务器,在拥有弹性灵活的基础上,具有高性能的计算能力。计算性能与传统物理机无差别,...

    裸金属服务器再度流行,目前阿里云、华为云、腾讯云等各大厂商都推出了自己的裸金属服务器,那么到底什么是裸金属服务器?裸金属服务器的架构原理是什么?云吞铺子分享:

    什么是裸金属服务器?

    裸金属服务器(Bare Metal Server)类似云上的专属物理服务器,在拥有弹性灵活的基础上,具有高性能的计算能力。计算性能与传统物理机无差别,具有安全物理隔离的特点。

    裸金属服务器再度流行?

    目前云计算各大厂商都推出了自己的裸金属服务器,例如:阿里云的弹性裸金属服务器(神龙),腾讯云的黑石服务器,华为的BMS裸金属服务器,为何裸金属服务器再度流行?主要是由于以下几点原因:

    物理机才有安全感

    部分企业,尤其是大型企业,对于将私有数据中心迁移到公有云有些许担忧,裸金属服务器可以给用户物理机一样的安全感。

    性能要求较高

    如果用户的应用程序对性能要求敏感,这时候选择裸金属服务器是最佳的选择。

    安全监管

    某些应用场景对数据安全和监管要求非常严格,虚拟机无法满足用户要求,需要独占物理机,显然裸金属服务器是比较合适的选择。

    传统托管的弊端

    用户选择传统的服务器托管模式需要耗费更多时间去采购设备、部署等,这个流程比较复杂,周期也比较长,无法及时响应业务变化,这时候裸金属服务器比较合适。

    虚拟机与物理机相结合场景

    用户上云可能会存在多种形态的计算资源,某些情况下虚拟机无法满足复杂的应用场景,这时候可能就需要需要虚拟机和物理机相结合的场景,裸金属服务器应运而生。

    阿里云的裸金属服务器

    阿里云弹性裸金属服务器(神龙)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点,分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。

    展开全文
  • 将逻辑和数据自动分发到边缘将为用户带来更小的网络延迟,而无需开发人员...无服务器产品向新的编程方式发展的驱动力来自各种形式的产品,其中包括应用程序托管平台、无服务器数据库、内容分发网络(CDN)、安全产品等。
  • 什么是Serverless无服务器架构

    千次阅读 2016-06-21 11:50:40
    Serverless一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署,你甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速地开发软件。...

    Serverless不代表再也不需要服务器了,而是说:开发者再也不用过多考虑服务器的问题,计算资源作为服务而不是服务器的概念出现。Serverless是一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署,你甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速地开发软件。

      以亚马逊的AWS Lambda为案例,Lambda能让不用思考任何服务器,也就是说,不用你处理服务器上的部署、服务器容量和服务器的扩展和失败容错,还有服务器上选择什么OS操作系统,语言的更新,日志等等问题。你的应用程序只需要和多个第三方的API或服务打交道,也可以自我创建一个无服务器的API。

      Serverless有以下几个特点:

    1. Serverless意味无维护,Serverless不代表完全去除服务器,而是代表去除有关对服务器运行状态的关心和担心,它们是否在工作,应用是否跑起来正常运行等等。Serverless代表的是你不要关心运营维护问题。有了Serverless,可以几乎无需Devops了。

    2. Serverless不代表某个具体技术,有些人会给他们的语言框架取名为Serverless,Serverless其实去除维护的担心,如果你了解某个具体服务器技术当然有帮助,但不是必须的。

    3. Serverless中的服务或功能代表的只是微功能或微服务,Serverless是思维方式的转变,从过去:“构建一个框架运行在一台服务器上,对多个事件进行响应。”变为:“构建或使用一个微服务或微功能来响应一个事件。”,你可以使用 django or node.js 和express等实现,但是serverless本身超越这些框架概念。框架变得也不那么重要了。

      Serverless规模扩展性方面由于充分利用云计算的特点,因此其扩展是平滑的,同时由于Serverless是基于微服务的,而一些微功能微服务的云计算是零收费,这样有助于降低整体运营费用。

      将来下述具体应用将可能使用Serverless架构:

    • 物联网Iot或家庭自动框架或项目 (使用 AWS IoT)
    转载:http://www.jdon.com/soa/serverless.html

    展开全文
  • 作者 | Systango,译者 | 无明。策划 | 小智Gartner 最近的一份报告表明:到 2020 年,全球将有 20% 的企业部署无服务器架构。这说明无服务器架构不只是一个流行...
  • 裸金属服务器架构原理是什么?云吞铺子分享: 什么是裸金属服务器? 裸金属服务器(Bare Metal Server)类似云上的专属物理服务器,在拥有弹性灵活的基础上,具有高性能的计算能力。计算性能与传统物理机无差别,...
  • 服务器服务无处不在。 迈向新的编程方式的推动力,无服务器产品以各种形式和形式出现,包括应用程序托管平台,无服务器数据库,CDN,安全产品等。 无服务器产品消除了底层配置,可伸缩性和供应方面的问题,而...
  • 什么是IA架构服务器

    2011-07-13 13:48:22
    通常将采用Intel(英特尔)处理器的服务器称之为IA(IntelArchitecture)架构服务器,又称CISC(ComplexInstructionSetComputer复杂指令集)架构服务器,由于IA架构服务器是基于PC的x86处理器体系结构,所以又把IA...
  • 不知道阿里云什么软件画的,但是有一个在线网站可以画出这样的效果。 一个网站可以在线画类似的图,就像搭LEGO积木一样。 Cloudcraft – Draw AWS diagrams
  • 戳蓝字“CSDN云计算”关注我们哦!无服务器计算(Severless computing,简称 Serverless)现在软件架构圈中的热门话题,国外三大云计算供应商(...
  • 就像很多软件发展趋势一样,业界并没有对“无服务器”有一...这些应用程序依赖于第三方来管理服务器端逻辑和状态,它们都典型“富客户端”的应用程序(你可以想象为单一页面的Web应用程序或移动应用),并采用云平...
  • 本文讲的什么我们要使用无服务器架构【译者的话】这篇文章介绍了无服务器架构与传统架构相比的优势,与此同时,也指出了无服务器架构并非适用于所有的应用,但了解这种架构模式对于开发者或者企业来说都...
  • 服务器控件的优点和缺点Serverless, the new buzzword in town has been gaining a lot of attention from the pros and the rookies in the tech industry. Partly due to the manner in which cloud vendors like ...
  • Serverless不代表再也不需要服务器了,...Serverless一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署,你甚至可以管理某个具体功能或端口的部署,这
  • 系统架构之服务器架构

    千次阅读 2019-10-09 14:46:46
    其实服务器架构如何架设完全根据业务场景,数据量或者用户量等因素进行衡量,并没有什么架设方案一定的,遵循“两利相权取其重”,经过综合考量后,选择最优方案。 以下根据不同场景进行服务器架构架设进行物理...
  • 通常我们会将其翻译为“无服务器架构”。 尽管成天被称为“无服务器”,但该架构与传统架构不同,显然并不真的不需要服务器。 而是选择将服务器等基础设施的管理“隐藏”起来,计算资源作为服务而不是作为服务器...
  • 服务器架构演进

    2019-11-25 17:07:27
    此博客复制方志朋的博客,用于记录服务器架构演进 1.概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个...
  • 游戏服务器架构

    2019-02-16 21:11:26
    案例1:寝室斗地主 ...什么是服务器架构 对服务器软件和硬件以及运行的一体化规划 架构结构:分层分块 架构技术选择:编程语言、通信方式、存储技术 运行质量:运行环境、部署工具方法、更新方案...
  • 随之而来的影响,尤其对于运维内容的影响,会是什么呢? 无服务器体系的问世 最初,“无服务器”意在帮助开发者摆脱运行后端应用程序所需的服务器设备的设置和管理工作。这项技术的目标并不是为了实现真正意义上的...
  • 服务器架构简介

    千次阅读 2019-06-18 11:44:07
    服务器架构和功能即服务(FaaS)是云计算的热门趋势。除微软和亚马逊外,还有许多其他供应商提供FaaS。本文是对无服务器架构的简单介绍,我会解释它是什么以及我们为什么需...
  • unity脚本架构 如果您曾经不得不配置和配置服务器,那么就知道它可能带来的痛苦。 进行配置硬件连接,软件堆栈及其相互依存关系的过程,然后将其乘以正在部署的许多服务器之间—您正在谈论日复一日的乏味。 脚本...
  • | 从行业趋势看,Serverless云计算必经的一场革命。2019 年,Serverless 被 Gartner 称为最有潜力的云计算技术发展方向,并被赋予必然性...
  • 一、Nginx 简介Nginx 俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,一个高性能的 HTTP 和反向代理服务器,同时也一个 IM...
  • 客户端/服务器架构

    2020-08-29 16:08:19
    客户端/服务器架构又称C/S(client/server)架构; 客户端/服务器应用由两个组件进程组成; 什么是客户端应用程序? 客户端应用通常与用户打交道; 向服务器应用程序发送请求消息,请求服务器应用程序执行某些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,209
精华内容 3,683
关键字:

服务器架构是什么