百度系Sever端组件详解

【背景介绍】

移动互联网时代,种类繁多的移动应用层出不穷。互联网+的提出,更是将移动APP的构建推向了时代巅峰。 低成本、高效率地开发一款移动APP逐渐成为移动开发者梦寐以求的事。大量的移动APP开发需求催生了形形色色的企业级服务,这些服务深耕某个领域,最大化的降低了开发成本和提升了开发效率。另外,受移动设备的基础能力限制,服务端会处理大量的业务逻辑和数据存储,规模效应引起的成本考虑和高可用性正成为移动时代对服务端架构的强烈诉求,端+云的移动开发架构正逐渐步入历史舞台,Server端云化是不可逆转的趋势。


一、云主机

互联网应用的三大核心要素是:计算、存储、网络。从成本考虑,按需计算、按需存储、按需传输,最后按需付费是性价比最高的基础设施选型方案。目前,传统的基础设施以物理机的形态呈现,各种资源能力按照事先约定好的出厂比例分配,首先很难充分利用物理机的各种资源,企业时刻在为没有使用的容量付费,其次企业需要对这些物理机的维护升级付出高昂的成本,最后物理机形态的服务器会显得非常笨拙,难以灵活应对应用流量的突增突减的变化,费时费力。


资源虚拟化技术彻底解决了上面提到的问题,企业可以按需构建他们的虚拟化主机,并且可以随时根据业务调整主机资源的比例分配,这些都是即时生效的。云主机又是当前基于虚拟化技术,整合了计算、存储与网络资源的IT基础设施能力租用服务,它能提供基于云计算模式的按需使用和按需付费能力的服务器租用服务,客户只需通过web界面的自助服务平台,部署所需的服务器环境即可。云主机也是新一代的主机租用服务,它整合了高性能服务器与优质网络带宽,有效解决了传统主机租用价格偏高、服务品质参差不齐等缺点,可全面满足中小企业、个人站长用户对主机租用服务低成本,高可靠,易管理的需求。


目前市面上提供云主机服务的企业很多,有百度云、阿里云、亚马逊AWS等,下面笔者将重点介绍它们。

百度开放云

2014年9月,百度开放云开通测试通道,用户可通过邀请码免费试用,20154月,百度开放云相继完善线上支付、备案服务平台等功能,对外开放注册。百度开放云平台虽然比较年轻,但是云技术却有着悠久的历史,它是百度在15年技术积累、汇集上万名国内外顶尖技术专家的基础上,通过开放百度核心基础架构技术,为广大公有云需求者提供的全系列可靠易用的高性能云计算产品。

BCC是百度开放云推出的云主机服务,它是基于百度虚拟化技术及分布式集群操作系统构建的云服务器。客户可以在任何时间,任何地点轻松构建包括网站站点,移动应用,在线游戏,企业级服务等在内的任何应用与服务。BCC还支持弹性伸缩,镜像,快照,支持分钟级丰富灵活的计费模式,为客户提供业界最佳效费比的高性能云服务器服务。


百度云主机服务配置灵活、服务稳定、访问性能高,并且十分经济,目前主要提供自定义云服务器配置、弹性资源按需动态分配、主流操作系统覆盖与自定义镜像支持、最顶级的网络接入质量和安全防攻击能力4大产品功能。CPU核数与内存的各种组合任您选择,支持在线配置升级,不同带宽大小的弹性公网IP,不同容量的云磁盘可按预付费或后付费模式随意购买,依据业务需要随时分配到不同的云服务器,最新的最主流的Windows Server版本以及Top3 Linux 发行版本尽数支持,自定义镜像让您随时备份或克隆自己的云服务器,10线BGP网络接入,分钟级攻击发现&告警,百Gbps级流量攻击清洗,自定义安全组提供实例级虚拟防火墙。在市场竞争中,具有以下优势:

1、快速创建部署:秒级资源获取,一键部署计算资源,并可按需使用,无需考虑采购和维护硬件的成本及机房部署的复杂性;秒级资源调度响应,可在几十秒内同时创建多台服务器,显著提高工作效率。


2、用户安全隔离:通过用户之间CPUIO、网络的相互隔离,有效防止用户间由于资源侵占而产生的性能干扰,实现故障和安全性的隔离,降低用户潜在损失,为用户的安全使用保驾护航。


3、高性能:采用领先的云计算架构和高规格服务器集群搭建,计算能力卓越。针对存储能力特别优化,高性能IO读写,提升并发响应能力。高可靠网络环境,提供稳定数据传输能力。


4、高安全性:多用户隔离,通过用户之间CPUIO、网络的相互隔离,有效防止用户间由于资源侵占而产生的性能干扰,实现故障和安全性的隔离,降低用户潜在损失,为您的安全使用保驾护航。基于分布式、架构层和用户端的多层次立体化安全防御体系,有效防范DDoS和各类Web应用攻击。


5、高可用性:大规模集群部署下的智能调度策略,确保用户节点故障可在线无感知迁移。云海智能监控与故障预警体系,确保用户实例在故障发生前可稳妥规避。基于多副本的系统盘和数据盘全面云化存储方案,确保用户系统信息和个人数据可屏蔽设备障碍,持久使用。


6、稳定运行及使用:稳定可靠的资源服务能力、简单易用的线上运维管理功能和灵活便捷的资源升级机制,帮助用户有效降低运维成本,打造高稳定的可持续线上服务。


阿里云

2010年,阿里云对外开放其在云计算领域的技术服务能力,在国内属于最早一批对外提供云计算能力的企业,截至20146月,阿里云服务的客户数超过140万,遍布互联网、移动APP、音视频、游戏、电商等各个领域。根据IDC调研报告,阿里云是国内最大的公共云计算服务提供商。


ECS是阿里云推出的云主机服务,是一种简单高效、处理能力可弹性伸缩的计算服务,可以帮助企业快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本,使企业更专注于核心业务创新。ECS提供丰富的实例规格,支持随时升级,能满足各种业务需求,同时,它在全球部署了数据中心,同地域支持多个可用区,并且支持 4 种数据存储盘(普通云盘、SSD云盘、高效云盘、本地SSD盘),满足不同的 I/O 性能要求,支持自动 / 自定义备份,快速恢复数据,还提供控制台、远程终端和 API 等多种管理方式,给企业完全管理权限,提供公网 IP 及私网 IP,用于不同的连接场景,拥有专有网络和经典网络,提供灵活的网络规划选择,还免费开通云盾,提供网络安全、服务器安全等基础防护,免费提供云监控,并支持多种实时预警,丰富的镜像,免安装快速部署操作系统与软件等。


阿里云ECS与传统服务器相比,有其独特的优势(表2.1):

2.1 ECS服务器与传统服务器特性对比

特性

ECS服务器

传统服务器

稳定

实例可用性达 99.95% ,数据可靠性不低于 99.999% 
 
自动宕机迁移,自动快照备份,数据恢复更方便

受限于硬件可靠性,易出问题 
 
需手工备份,人工数据恢复困难、耗时

弹性

自由配置 CPU、内存、带宽,可随时升级 
 
升级配置数据不丢失,业务暂停时间可控

固定配置,难以满足各类需求 
 
改配置需硬件升级,周期长,服务停止时间不可控

安全

免费提供 DDoS 防护、木马查杀、防暴力破解等服务 
 
可轻松实现多用户对多服务器的访问控制

需额外购买、部署各种安全措施 
 
基本上做不到多用户对多服务器访问控制

成本

高性价比,支持包年包月或按量计费,满足不同需求 
 
无需服务器网络和硬件等维护,0 成本运维

租用费用高,只能包年包月购买 
 
大量人员负责机器运维,成本高

易用性

丰富的操作系统和应用软件,通过镜像可一键简单部署 
 
同一镜像可在多台 ECS 中快速复制环境,轻松扩展

几乎不提供任何软件支持 
 
新增服务器需人工重复所有的部署操作

可扩展性

ECS 可与阿里云各种丰富的云产品无缝衔接 
 
可持续为业务发展提供完整的计算、存储、安全等解决方案

很难在同一服务商内找到完整的服务 
 
不能保证业务增长的可扩展性和持续性


亚马逊AWS

亚马逊的Amazon Web Services (AWS) 2006年推出,以Web服务的形式向企业提供IT基础设施服务,现在通常称为云计算。其主要优势之一是能够以根据业务发展来扩展的较低可变成本来替代前期资本基础设施费用。亚马逊网络服务所提供服务包括:亚马逊弹性计算网云(Amazon EC2)、亚马逊简单储存服务(Amazon S3)、亚马逊简单数据库(Amazon SimpleDB)、亚马逊简单队列服务(Amazon Simple Queue Service)以及Amazon CloudFront等。根据其页面介绍,AWS已经为全球190个国家/地区内成百上千家企业提供支持。数据中心位于美国、欧洲、巴西、新加坡和日本。


作为云计算领域真正的大佬,2014年,亚马逊AWS入驻中国市场,北京区域是首个位于中国境内的 AWS 区域。AWS 已与多家中国当地的互联网数据中心提供商(“IDC”)合作,后者提供必要的基础设施和网络服务,以支持在中国开展 AWS 技术服务。AWS 还在中国组建了由解决方案架构师、客户支持技术人员和销售人员组成的庞大团队来支持中国的客户。中国(北京)区域提供与全球各地的其他 AWS 区域相似的技术服务平台。开发人员可以在中国境内轻松、高效地部署基于云的应用程序,使用相同的 API、协议和与 AWS 全球客户无差别的操作标准。与其他 AWS 区域一样,保存在中国(北京)区域的数据或信息只会保留在北京区域,除非是客户将其转移到其他位置。AWS 不会在两个 AWS 区域之间移动客户数据或信息,或将其移出中国。


EC2是亚马逊推出的云主机服务,可提供在云中大小可调的计算容量。该服务让开发人员能更轻松的进行互联网规模计算。Amazon EC2 Web 服务接口非常简单,企业客户可以轻松获取和配置容量。使用该服务,客户可以完全控制您的计算资源,并可以在成熟的亚马逊 AWS 计算环境中运行。Amazon EC2 将获取并启动新服务器实例所需要的时间缩短至几分钟,这样一来,在您的计算要求发生变化时,您便可以快速扩展计算容量。Amazon EC2 按您实际使用的容量收费,从而改变了成本结算方式。 Amazon EC2 还为开发人员提供了创建故障恢复应用程序以及排除常见故障情况的工具。


亚马逊AWS在市面上是最早的云计算服务,其有相当丰富的服务经验,它们的优势如下:

弹性 Web 规模级计算,有了 Amazon EC2,您可以在几分钟(而不是几小时或几天)内增加或减少容量。您可以同时管理一个、数百个,甚至数千个服务器实例。当然,因为这全是通过 Web 服务 API 控制,所以您的应用程序可根据其自身需要自动扩展。


完全控制,您可以完全控制您的实例。您拥有每个实例的管理员或根用户访问权,可以像与其他任何机器一样与这些实例互动。您可以在停止运行实例的同时将数据保存在启动分区,然后用 Web 服务 API 重启。使用 Web 服务 API 还可以远程重启实例。 您还拥有实例控制台输出的访问权。


灵活的云托管服务,有多种实例类型、操作系统和软件包供您选择。有了 Amazon EC2,您可以为您所选择的操作系统和应用程序选取理想的内存、CPU、实例存储和启动分区大小配置。例如,您可选择的操作系统中可以包含许多的 Linux 发行版以及 Microsoft Windows Server


专为与其他亚马逊 AWS 服务配合使用而设计,Amazon EC2 能够与 Amazon Simple Storage Service (Amazon S3)Amazon Relational Database Service (Amazon RDS) Amazon Simple Queue Service (Amazon SQS) 配合使用,为多种应用程序提供完整的计算、查询处理和存储解决方案。


运行可靠,Amazon EC2 提供了一个非常可靠的环境,替代实例可在此环境中快速并以可预见的方式启动。该服务运行于亚马逊经过验证的网络基础设施和数据中心。


安全,Amazon EC2 Virtual Private Cloud (VPC) 配合工作,为您的计算资源提供安全及强大的联网功能。您的计算实例位于 Amazon VPC 中,它具您指定的 IP 范围。您可以决定哪些实例向互联网公开,哪些实例保持私有状态。


安全组和网络 ACL 让您能控制进入和离开您的实例的入站和出站网络访问。您可以将您的 EC2 资源预配置为专用实例。专用实例是为了增加额外的隔离,在单一客户的专用硬件上运行的 Amazon EC2 实例。如果您没有默认 VPC,则必须创建一个 VPC 并在该 VPC 中启动实例,以利用各种高级的联网功能,例如私有子网、出站安全组过滤、网络 ACL 和专用实例。


便宜,Amazon EC2 可为您带来 Amazon 规模的财务效益。 您只需为您实际消耗的计算容量支付极低的费用。使用按需实例,您只需要按小时支付计算容量开销,无需签订长期合约。因此,您可以不用考虑计划、采购和维护硬件的成本和复杂性,并可将常见高额固定成本转换为小得多的可变成本。此外,按需实例可应对处理定期流量高峰,免除购买安全网功能之多余开销。相比按需实例的定价,预留实例可提供大幅折扣。预留实例有三种付款选项(不预付、部分预付、全额预付),您可以通过这些选项平衡您的预付款与您的有效小时价格。


轻松入门,通过访问 AWS 管理控制台以选择亚马逊系统映像 (AMI) 上的预配置软件,快速了解 Amazon EC2。您可以通过 EC2 控制台将软件快速部署到 EC2 上。


云主机为移动APP的服务端提供了弹性计算、弹性网络、弹性存储等资源,让服务端容量按需分配、按需扩容、按需计费,极大地方便了企业用户快速搭建、增强移动APP服务能力。


二、云服务

针对移动APP服务端快速构建,有一大波优质的云服务可供选择,它们从多个维度来帮助移动APP快速、高质量开发。考虑计算与网络维度,有云主机和负载均衡服务等,云主机是一种虚拟了计算与网络的云服务器,而负载均衡是一种合理委派流量的云计算服务。


考虑存储维度,有对象存储、云磁盘和内容分发网络服务等,对象存储是一种面向object的存储方式,它能支持丰富数据类型(文本、二进制、多媒体等)的存储,并且稳定、高效、安全,可扩展。云磁盘是一种安全可靠的高弹性存储服务,作为云服务器的扩展块存储部件,为云服务器数据存储提供高可用和高容量支持,有独立于云服务器的生命周期,支持快速扩容、在线备份和回滚,支持数据随机读写,在吞吐、IOPS以及异常恢复时间等方面,均有不错的性能。内容分发网络是一种尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定的一层智能虚拟网络服务。它将源站内容分发至全国所有的节点,缩短用户查看内容的延迟,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、用户访问量大、网点分布不均等问题。内容分发网络能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。


考虑数据库维度,有云关系型数据库、云缓存服务和云NoSQL数据库等服务。云关系型数据库是一种专业、高性能、高可靠的云数据库服务,它提供全面的监控、故障修复、数据备份及可视化管理支持,具有更经济、更专业、更高效、更可靠、简单易用等特点,开发者可以更专注于核心业务开发。云缓存服务是一种高性能、高可用的分布式内存缓存服务,它降低了用户部署与管理分布式缓存服务的复杂性,能够缓解后端存储服务的压力,快速响应热点数据。云NoSQL数据库是一种专业、成熟、高性能、高可靠的NoSQL云数据库服务,它让用户以简单、经济、有效的方式存储海量数据,同时提供高效、实时、稳定的数据检索服务,它将业务数据存储于分布式系统的SSD中,通过采用数据分片和多副本保存数据,提升数据服务的可靠性,通过在表和分片级别采用负载均衡,提升数据服务的稳定性,通过对外开放统一数据调用接口,屏蔽底层实现细节,提升数据服务的易用性,通过系统提供的自运维性,在常见错误发生时,做到数据副本自动恢复,提升数据服务的容错性。


考虑多媒体服务维度,有音视频转码、文字识别、人脸识别等服务。音视频转码是一种为音视频文件提供高质量的转码计算服务,她将源音视频文件转码为各种消费设备所需要的媒体文件格式,满足手机、平板、智能电视和PC等多终端播放需求。文字识别是一种依托业界领先的深度学习技术,在自然场景下提供整图文字检测、定位、识别等功能的人工智能服务。人脸识别是一种基于业界领先的智能人脸分析算法,提供人脸检测、人脸识别、关键点定位、属性识别和活体检测等一整套技术方案的人工智能服务。


考虑大数据分析维度,有Map/Reduce、机器学习、报表与多维度分析、数据检索等服务。Map/Reduce是一种云端全托管的Hadoop/Spark计算服务,旨在助力企业客户快速具备海量数据分析和挖掘能力,提升企业业绩、加速业务创新。机器学习服务是一种机器学习平台,基于业界多年沉淀的机器学习算法库,提供实用的行业大数据解决方案,这种服务一般会打通机器学习全流程,用户可以通过简单的界面操作完成复杂的机器学习任务,同时,也提供API供用户使用,百度BML是这类服务的典型代表。报表与多维度分析是一种能提供PB级别的数据仓库服务,它一般以较低的成本提供在大数据集上的高性能分析和报表查询功能,一般是面向OLAP的数据库产品,目前这类服务有百度的Palo Amazon RedShiftGoogle BigQuery等云服务。数据检索是一种搜索托管服务,您可以轻松地部署、操作和扩展属于您的分布式检索和分析引擎。


考虑APP应用维度,有云推送、云消息、云监控等服务。云推送是一种APP信息推送服务,典型的代表是百度云推送,它有6大功能特点:首先安全稳定,它的消息下发速度高达每秒数十万次,能保证消息稳定秒级到达;其次可以智能推送,它依托百度大数据能力,能准确定位目标客户,实现精准推送;再次提供强大的统计分析能力,能支撑各种数据统计报表,可以实现智能化分析推送;还省电省流量,百度云推送不仅提供免费服务且设备能耗非常低,消息推送也快,连接十分稳定;然后提供个性化设置,能定时推送,离线设置,自定义标签,支持富媒体,多种个性化等功能;最后有一个人性化的管理控制台,可视化页面帮您通过控制台针对特定用户群快速完成推送。云消息是一种稳定可靠、高可用、低延时、可弹性扩展的分布式消息中间件服务,一般提供队列(Queue)和主题(Topic)两种模式,能够帮助开发者在应用的上下游之间进行消息传输,快速构建松耦合的系统,百度QNS、亚马逊SQS都是这一类服务的典型代表。云监控是一种依托于各种开放云的监控服务,主要包括了云服务监控、站点监控、自定义监控、报警管理、开放API、监控采集客户端等功能,为开放云用户提供全面、可靠、及时的监控服务,通过监控采集、存储、展示、计算、汇聚、报警、统计的一体化功能体系,为用户的服务保驾护航。


除此之外,还有许多其它的云服务,比如邮件服务、短消息服务、IM即时通讯服务等,所有的这些服务,用户都可以通过百度出品的APIStore产品找到并使用。


百度APIStore是由百度公司于201410月推出,是一个连接服务商与开发者的第三方API分发平台,致力于为开发者提供最全面最便捷的云服务,截至目前,平台已汇集了国内外应用开发所需的Android/iOS APISDK700余个服务,包含设计开发、运维管理、云服务、APP推广、数据服务等多个范畴。


2015年初,APIStore平台首推即用API的创新模式,开发者登录百度账号即可直接在平台上调用服务,且提供统一格式的请求参数、请求示例,尽可能的简化了开发者的工作。目前体验专区中的即用服务全部免费,包括百度首次对外开放的OCR文字识别、人脸识别等百度独家服务。


为了帮助开发者提升APP开发效率,节约开发成本,百度APIStore 聚合了大量的云服务,解决开发者服务的问题,如今许多服务都能即搜即用,解决开发者服务的问题,后续APIStore还将提供服务监控与交易,解决开发者更好的用服务的问题。


百度APIStore依托百度强大的技术生态背景,拥有百度高技术门槛的云端计算类API,向开发者提供独一无二的高质服务,且在安全、稳定、技术支持方面有保障。API Store目前提供的大部分API服务都是免费的,开发者只要登录百度账号就能获得使用服务的API Key


百度APIStore的宗旨是希望帮助全国的中小企业开放他们的服务,主要是开放数据和云服务。APIStore致力于建立一种开发者和服务提供者之间的连接,会提供服务开放所需要的一切支持,包括身份认证、数据缓存、配额限制、频率控制、参数变换等,服务提供者只需要专注服务本身的业务逻辑即可。


随着互联网+时代的到来,很多传统行业本身的核心竞争力不在技术或者App层面,移动应用只是为了承载他们的核心服务,能够以一种简单的方式搭建一个可用的App、轻应用、HTML5页面是最好的选择,就像我们不需要自己去搭建一个推送服务器,不需要自己去做数据统计、数据分析一样。2015年,更多的BaaS产品将会出现,移动产品中的的数据存储、文件管理、消息推送等服务将会直接由BaaS产品提供,大量移动开发者不再需要去搭建服务器,开发成本将大大降低。


API Store就是承载BAAS产品的集散中心,我们希望提供这样的平台,一方面帮助开发者便捷的找到所求,我们会提供服务rank、服务评测、服务信誉等功能;另一方面,帮助中小企业销售他们的服务,帮助他们盈利,我们会提供交易、数据分析等功能。


前面也提到,API Store从最初的服务聚合与搜索,解决开发者服务;到现在的服务即搜即用,解决开发者服务;到后续的服务监控与交易,解决开发者更好的用服务,从而完成开发者和服务商的技术生态闭环。


未来还会依托于百度强大的云服务体系,致力于为开发者和服务商提供服务托管、服务开发、服务使用与交易、服务推广、服务监控评测、服务反馈等一站式解决方案。

大咖招募
欢迎App研发/测试方面的大牛来投稿,开设专栏。我们提供丰厚的稿酬,预约个人专访,帮助建立个人技术品牌!
立即投稿

我要评论

字数不能超过140字,谢谢!
提交

评论({{allComments.length}})

{{comment.create_time.substr(0,16)}}

显示所有评论
复制成功!