`
猫耳呀
  • 浏览: 160850 次
社区版块
存档分类
最新评论

Bazaar:阿里云Serverless计算服务探秘

阅读更多

摘要: Serverless 指用户无需管理服务器情况下构建和运行应用程序的一种方式。可见 Serverless 并不是真的不需要服务器,毕竟程序代码不能靠意念来执行,仍然是需要硬件服务器实体来作为运行代码的基础的。

Bazaar:阿里云Serverless计算服务探秘

 作者:Bazaar项目组

1.     什么是 Serverless

“Serverless computing refers to the concept of building and running applications that do not require server management.”

-- 来自 CNCF 对 Serverless 的定义

Serverless 指用户无需管理服务器情况下构建和运行应用程序的一种方式。可见 Serverless 并不是真的不需要服务器,毕竟程序代码不能靠意念来执行,仍然是需要硬件服务器实体来作为运行代码的基础的。这里的 Serverless 是站在应用开发人员的视角提出的,指服务器的运行、维护对于应用程序的开发人员不可见。将底层基础架构的维护、更新和扩展等任务交给平台提供商来完成。从而将业务开发人员解放出来,让他们更好的关注自身业务。这便是 Serverless 计算背后的核心思想。可见这一思想能够产生的一大基石便是云计算服务。只有凭借云计算构建的强大基础运维平台,才能够适应无服务器计算对于计算、存储和网络资源的需求。

图1展示了 Serverless 计算的发展历程。早在2006年就已经出现了第一个带有 Serverless 性质的计算服务平台 Zimki,该平台会按照代码实际执行时间向用户收取相应的费用。随后的2008年谷歌推出Google App Engine产品,其背后的理念也是 Serverless 计算。但这一时期,Serverless 计算的概念并没有被明确提出。Serverless 概念第一次出现的时间是在2012年,iron.io,一家基于容器提供分布式按需执行服务的提供商提出了这一概念。2014年AWS Lambda这一里程碑式的产品出现。通过将无服务器计算的概念嵌入到整个云计算服务的整体框架中,无服务器计算正式走进了云计算的舞台中央。2016年无服务器计算则迎来了快速发展的阶段,IBM、谷歌、微软相继推出了IBM OpenWhisk on Bluemix、Google Cloud Functions和Azure Functions等相关产品。而到了2018年,随着容器技术的发展,各类 Serverless container 平台更是如雨后春笋般出现在人们的视线中。

 

图1  Serverless 发展历程

对于 Serverless 带来的好处可以归结于以下几点:

·      *降低成本

·      *灵活扩容

·      *按需付费

降低成本:使用 Serverless 服务后,用户不再需要关心采购、运行、维护底层机器资源的相关工作,也不再需要对相关工作投入人力资源。特别是机器运维的成本将大幅下降。

灵活扩容:用户自己购买服务器对外提供服务时,当业务压力突然增加时,很难快速添置大量服务器来满足突增的业务压力的需要。而采用无服务器计算后平台提供商会有大量机器资源供用户动态扩容使用。

按需付费:用户自己购买服务器时,即便业务负载非常低,用户依然要负担相关资源的使用成本。极端情况当用户业务负载压力为零时,用户也要白白花费相应的成本来维持自身服务的运转。在使用无服务器计算后,当用户业务压力降低时,用户需要的资源会被自动减小,因而花费的成本也自然会降低。

总之 Serverless 让开发人员更加聚焦于自己业务的同时,更可以有效帮助企业降低业务运行过程中不必要的开销和成本。

Serverless 中非常重要的一个环节是底层相关计算资源的管理不再需要用户来关心,那么这些资源的管理由谁来完成呢?下面我们就来介绍本系列文章的主角——Bazaar。

2.     Bazaar:阿里云 Serverless 计算服务

Bazaar ([bə'zɑːr])是阿里云弹性计算团队为孵化更多的 Serverless 服务推出的基础服务。该服务旨在为终端用户和云上的各类 Serverless 产品提供底层的资源管理、交付服务。无论是终端用户还是阿里云的各类 Serverless 产品亦或是外部的Serverless服务开发商均可以借助Bazaar方便的获得需要的云计算资源。凭借弹性计算团队和容器服务团队在云计算服务领域积累的丰富经验,我们将Bazaar打造成为一款面向不同客户和业务的资源交付服务以便支撑各类无服务器计算业务对底层云计算资源管理、交付的不同诉求 。

Bazaar具备 Serverless 带来的诸多优点。如用户聚焦自身业务,简化底层资源管理,灵活的扩容方式等等。相较于弹性计算ECS,Bazaar在资源占用开销、实例启动时间等方面也着重进行了优化,并从系统整体架构上针对 Serverless 进行了深度的定制优化。

Serverless 通过平台服务商管理底层运行时环境,为用户摆脱底层基础架构运维工作提供了可能。而平台服务商为了向用户提供这样一个统一的计算平台,势必需要一个统一的底层软件运行环境。在这其中的沙箱技术就是最为核心的技术组件,其要为用户程序的运行提供一个安全且与外界隔离的环境。该环境还必须考虑到 Serverless 自身的特点,在应用部署密度,程序启动时间等方面做出相应的优化,来满足无服务器计算高并发,用户负载不稳定的需要。

由于Bazaar要兼容Docker/Kubernetes生态,并提供安全、多租户等公有云需要的特性,对于当前Serverless产品来讲,最为适合的容器技术架构依然是通过硬件虚拟化来作为Bazaar安全容器的底层技术。考虑到Serverless用户的特定场景和需求,我们在传统虚拟机上又进行了进一步的改进和优化。比如禁用了登录服务器,添加/删除用户功能,同时精简了不必要的系统服务。

图2中展示了我们在Bazaar针对 Serverless 场景在底层系统上进行的各类优化。

 

图2  Bazaar底层系统优化

通过上面的各种优化,Bazaar实例的启动时间相较于此前ECS实例有了显著的提升,如图3所示。

 

图3  优化前后启动时间对比

3.     展望

可以看到随着容器技术的快速发展和 Serverless 计算产品的普及,以虚拟机为代表的第一代云计算服务(IaaS)正在逐渐让位给以 Serverless 为代表的新一代云计算服务。而这一趋势对底层系统软件的开发也提出了更高的要求。新一代底层系统软件不仅要满足安全、隔离、多租户的需求,更要针对 Serverless 的特点进行整体端到端优化。相信随着 Serverless 的不断发展,会诞生更加优秀的系统来支持 Serverless,为用户提供更好的下一代云计算服务。

原文链接

分享到:
评论

相关推荐

    阿里云弹性计算新产品Bazaar介绍.pptx

    阿里云的弹性计算新产品Bazaar是一个专注于Serverless计算服务的平台,它的主要目标是为用户提供无需管理底层基础设施的计算解决方案。Serverless计算的核心理念在于,用户只需要关注业务代码,而无需关心服务器的...

    藏经阁-弹性计算新产品解析——Bazaar.pdf

    基于阿里云的 Serverless 平台技术,Bazaar 提供了一个无需管理底层基础设施的计算服务,用户可以根据实际业务需求灵活配置资源并按需付费。这样可以大大减少用户的维护成本和部署时间,提高业务部署速度和灵活性。 ...

    bazaar:思源社区集市

    "bazaar:思源社区集市"是一个以社区为中心的平台,旨在促进用户之间的交流与分享。这个集市可能包含了各种资源,如主题、图标以及未来可能会有的插件,以增强用户体验和个性化设置。让我们深入探讨一下这些核心元素...

    bazaar:Spring mvc 网购

    标题“bazaar:Spring MVC 网购”暗示了我们正在讨论一个基于Spring MVC框架构建的电子商务系统,该系统可能用于实现在线购物功能。Spring MVC是Spring框架的一个模块,专门用于处理Web应用程序的请求-响应模型,提供...

    Bazaar:市场API

    **Bazaar: 市场API详解** Bazaar是一个基于Ruby构建的市场API,它为开发者提供了一套全面的工具,用于创建和管理在线市场的功能。这个API具有完整的测试套件,确保了代码的健壮性和可靠性,为开发者的集成过程提供...

    malware-bazaar:恶意软件集市的Python脚本

    恶意软件集市 恶意软件集市的Python脚本 MalwareBazaar是一个由abuse.ch运营的项目。 该项目的目的是收集和共享恶意软件样本,以帮助IT安全研究人员和威胁分析人员保护其选区和客户免受网络威胁。...

    urjc-starship-bazaar:计划实践法

    "urjc-starship-bazaar:计划实践法"项目是一个基于Java的软件开发实践,它旨在教授和应用软件工程中的计划和管理技术。这个项目可能是针对大学或教育机构的一个课程作业,让学生通过实际操作来理解软件开发的过程。...

    name-bazaar:通过以太坊名称服务注册的对等市场,用于交换名称

    对等市场,用于通过以太坊名称服务注册的名称交换。 参见 可以在找到智能合约。 使用以太坊测试网启动开发服务器 在终端中,启动ganache区块链 ./run-ganache.sh (请注意,这使用trufflesuite/ganache-cli:v...

    Bazaar:一个面向学生的开源市场

    ##Description Bazaar 是一个简单的开源市场,用于买卖日常用品,专为大学生量身定制。 Bazaar 将用户与其所在地区的大学学生联系起来,在保持本地业务和友好的同时,允许最好的选择项目。 ##安装克隆后: npm ...

    bazaar:Cafebazaar API 的 Golang 包装器

    【标题】"bazaar:Cafebazaar API 的 Golang 包装器" 是一个专为 Golang 开发者设计的库,它简化了与 Cafebazaar API 的交互过程。Cafebazaar 是伊朗最大的应用商店,提供了一系列 API 让开发者能够更方便地管理他们...

    react-native-cafe-bazaar:Cafe Bazaar(本地android市场)的应用内结算

    Cafe Bazaar的InApp帐单(Android) React Native Cafe Bazaar的构建旨在为InApp Billing for Cafe Bazaar提供一个简单的界面, 安装 npm install --save react-native-cafe-bazaar或yarn add react-native-cafe-...

    bazaar:厨师食谱集市的开发存储库

    安装 bazaar 客户端(所有支持的平台): include_recipe 'bazaar'要利用 LWRP 从克隆特定存储库: bazaar 'friendly-name' do source 'lp' # defaults to 'lp' if you omit the source user 'my-user' remote_path...

    bazaar:使用离子框架构建的简单应用程序

    在"bazaar: 使用离子框架构建的简单应用程序"项目中,我们可以看到如何利用离子框架来创建一个市场类的应用。 1. **AngularJS基础:** AngularJS,由Google维护的MVVM(Model-View-ViewModel)前端框架,是离子的...

    cordova-nivad-bazaar:Cordova Nivad CafeBazaar插件

    Cafe Bazaar是伊朗的一个流行的应用市场,它允许开发者在其平台上销售数字商品和服务。此插件使全球开发者能够轻松地将Cafe Bazaar的内购系统集成到他们的Cordova应用程序中,从而扩展其用户基础并增加收入来源。 *...

    Bazaar搭建方法

    Bazaar 搭建方法 Bazaar 搭建方法是分布式版本控制系统的实施指南,旨在帮助开发人员在 Ubuntu 平台下进行开发和版本控制。本文将详细介绍 Bazaar 搭建方法的实施步骤和配置过程。 服务器端配置 1. 创建 kylin-...

    bazaar:集市会话代理架构

    Bazaar是一个模块化的框架,用于设计基于早期Basilica架构的多方协作代理(Kumar&Rosé,2011)。 Bazaar托管着一个可重用的行为组件库,每个组件都会触发一种简单的支持形式。 通过编排多个简单行为来构建更复杂的...

    The Cathedral & the Bazaar - Musings on Linux and Open Source by an Accidental Revolutionary

    《大教堂与集市》这本书由埃里克·S·雷蒙德撰写,是关于Linux以及开源运动的经典之作。本书深入探讨了开源软件开发的过程、哲学及其背后的社会学原理,为读者提供了一个理解开源文化及其重要性的窗口。...

    bazaar:完全异步的Rust GraphQL服务器,托管一个小型示例电子商务(如)平台

    Bazaar是使用Actix Web , Async-GraphQL和SQLx用Rust编写的完全异步GraphQL服务器。 它实现了您希望在电子商务平台上找到的基本功能 。 我希望这个项目对其他人来说将是一个有用的例子,以了解如何从生态系统中的...

    haskell-bazaar:探索haskell和函数式编程概念

    Haskell Bazaar试图使学习者更轻松地浏览FP / Haskell资源。发展历程设置Docker机密转到./secrets文件夹,并根据提供的模板定义以下文件psql-db :postgres数据库的名称psql-password :postgres数据库的密码psql-...

    弹性计算新产品解析Bazaar.pdf

    阿里云 刘峥(文卿)、张维(贤维)在2018云栖大会·武汉峰会中做了题为《弹性计算新产品解析——Bazaar》的分享,就Serverless 平台技术Bazaar的使用现状、解决方案及典型应用等方面的内容做了深入的分析。

Global site tag (gtag.js) - Google Analytics