精华内容
下载资源
问答
  • 1与 SaaS不同的这种 计算形式把开发环境或者运行平台也作为一种服务 给用户提供 A 软件即服务 B基于平台服务 C基于 WEB 服务 D基于管理服务 2云计算是对技术的发展与运用 A 并行计算 B网格计算 C分布式计算 D三个...
  • 腾讯云云从、云架构复习资料,包括云从、云架构的知识点总结、试题、课件等。
  • 这个概念是Matt Stine根据其多年的架构和咨询经验总结出来的一个思想集合,并得到了社区的不断完善,内容非常多,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile ...
  • 原生架构概述

    2021-02-24 08:05:11
    在讲原生之前,我们先了解一下CNCF,即原生计算基金会,2015年由谷歌牵头成立,基金会成员目前已有一百多企业与机构,包括亚马逊、微软。思科等巨头。目前CNCF所托管的应用已达14个,下图为其公布的...
  • 阿里神龙架构.ppt

    2020-12-07 10:52:42
    PPT包括神龙是什么、虚拟机vs物理机、云计算的历史性难题、神龙硬件体系、神龙软件体系、一代、二代、三代神龙、AWS nitro
  • AWS共有云架构介绍.pdf

    2020-03-16 12:13:51
    文档对AWS公有云架构进行了介绍,包含数据中心模块,region,可用域,以及全球数据中心的分布情况,供参考
  • 中国移动5G联创中心创新研究报告-5GXR云网架构与解决方案,5G XR融合了大带宽、低时延的5G和云计算技术,使终端得到“解放”,将数据计算和存储放在云端,包括放在边缘。5G XR是一项复杂的系统工程,目前还...
  • 通过剖析和展示一个端到端的简化微服务应用案例MovieApp,帮助学员学习理解现代微服务应用和原生架构实践,内容包括: 微服务应用架构前后分离应用架构基于Spring Security + JWT的微服务安全架构Spring Boot...
  • 云端架构

    千次阅读 2014-12-08 11:12:14
    设想一下,我们有一朵公有,存储了用户的数据、逻辑关系,提供标准的通讯接口,然后大家各自开发丰富的展现逻辑,让云端变的丰富多彩。这次很荣幸能接到这个议题,谈谈我个人对这朵云的理解。  每个人心中都有...

     背景

      在看阿凡达的时候,感叹着他们接口的统一,和获取知识的便利性。有时候在想,现在很多企业所做的工作,不就是要提供这类服务吗。设想一下,我们有一朵公有云,存储了用户的数据、逻辑关系,提供标准的通讯接口,然后大家各自开发丰富的展现逻辑,让云端变的丰富多彩。这次很荣幸能接到这个议题,谈谈我个人对这朵云的理解。

      每个人心中都有自己的一朵云,在我设想中,应该存在这么一种公有服务,它能够帮助用户随时随地的获取自己的数据,与朋友交流,获取好友最新状态。在这服务之上,我们有这么一个平台,它能够给用户提供二次开发的接口,让开发者根据用户数据开发丰富的展现层,并且提供这些展现层的运行平台。

      我们需要的云端服务

      为了完成这个功能,我们需要什么准备?

      云存储:提供用户数据的存储功能。让用户方便的获取自己的数据。

      通讯系统:提供以Mail,IM为基础的通讯方式。

      通知系统:好友行为推送,能够把握好友最新动态,或者告知好友你在干什么。

      在这三个基本服务之上,用户可以开发大量的运用。比如“音乐盒”用于在线播放云存储的MP3,图片系统用于管理、分享,美化自己的照片……然而,用户开发完逻辑应用之后,需要机器运行这个运用。因此,第四个基本服务运行平台孕育而生,它提供所有云应用运行的基本资源,包括内存、CPU、操作系统等。

      这四个基本要素构建成一个面向终端用户的操作系统平台(也就是我们的云),它能够随时被访问,通过浏览器或者手机的App。满足用户在任意时刻团购,玩三国杀,看视频,听音乐等需求。为了方便开发者开发更多的应用,我们抽象一种编程模式,提供丰富的SDK,加速应用的开发。由于云端服务,有很大一部分会被手机等嵌入式设备访问,于是需要各种平台的编程框架(android、iOS)。编程框架将更加关心业务逻辑,屏蔽分布式细节和运维问题。

      在满足这些开发便利性的前提下,为鼓励用户开发,提高APP质量和数目,需要一套良好的收费系统,帮助开发者更好的盈利。

      围绕这这朵云,一点点的展开,发现想说的东西太多,今天我们就谈谈其中的两个核心架构:云端存储和应用运行平台(App Engine)。为什么要选这两个?因为云的核心就是存储和计算,其它都构建在存储和计算之上的基础服务和用户运用。

      云端存储架构

      云端存储主要是为了存储用户数据,方便用户访问。它涉及了三方面的技术:

    • 底层架构。包括:分布式存储、文件目录管理、用户权限系统。
    • 下载优化:各地CDN支持、客户端下载技术(P2P)。
    • 数据访问前端优化

      底层架构设计的要点

      首先我们比较一下跟传统离线存储的设计指标差异

    1. 单个文件体积不大

      存储互联网用户的数据,注定文件不会很大。我们只要支持0-100G左右的单文件大小即可。为什么用户文件会到100G?因为我们要保证用户能分享高清电影。另外相对于海量的容量,如果单文件过小,那么海量空间也没啥意义。多媒体是促进磁盘发展的动力。

    2. 文件数会很多

      跟GFS不一样,云存储的文件数是海量的。因为每个人都会存储他们的文档、mp3、图片……这注定了单机保存全部文件的node是不可能的。

    3. 需要目录管理

      我们需要呈现传统操作系统类似的目录管理方式。另外根据云存储文件数量多的特点,我们要提供可靠的检索做文件管理。

    4. 读写模式特殊性

      用户对文件的访问模式是一次写入,多次读取,读取支持随机位置的读取(比如视频从中间开始播放)等。另外考虑在用户带宽条件下,100M的文件也算是大文件了,我们要需要支持断点续传功能。另外,存在对单文件的高并发访问。

    5. 检索和访问的实时性

      用户上传的数据,在上传成功之后,就应该能访问到完整的数据。并且在检索的时候就能够体现出来。因此不仅要求存储系统要求实时性,而且检索系统也有要求实时性。

      归纳一下,因为文件太小导致文件数过多,需要专门的目录存储;针对文件的访问模式,我们需要设计一个比较合理的文件格式;提升检索的实时性。

      文件格式介绍

      一个文件需要的存储数据:Meta信息和数据块。Meta信息存储这个文件的详细信息,包括文件名、大小、文件类型(doc或者mp3)、MD5、创建者、具体数据块的存放位置、数据块大小,以及该文件格式的版本信息等。数据块是真正存储的文件数据。

      我们将一个完整的文件,物理切成多块。比如一个1G的文件,我们按照1M为块大小,切成1024块,然后将1024个块数据散列到N台机器中去。从而保证文件具备高并发的特点,而且也能够方便的为整个集群提供扩展能力。然后我们会将这1024个块的具体位置记录到文件的meta信息中,方便访问。

      因此,我们需要一个逻辑文件的访问入口(WebServer),和存储这些数据块与Meta信息的集群Chunk Cluster和Meta Cluster。

      将一个不大的文件分散到各台机器上存储有什么好处?

    1. 方便做负载均衡和集群扩容
    2. 将热门文件的流量分散到各台机器上,使热门文件的高频访问对后端影响降低。

      这个文件格式的设计,大家可能会觉得文件很大的话,Meta信息因需要存储的块位置而导致体积过大。其实这个问题,可以通过二级索引块来解决。

      存储架构的工作原理

      如上图,WebServer在接收Http请求的时候,会解析参数,然后根据Meta Cluster提供的Meta信息,读取相关块,返回给请求者。Chunck Cluster和Meta Cluster的设计都是一样的,就是提供一套NoSQL系统,支持针对Key(字符串) - value(二进制)的增删改查。但是考虑到访问频率的不同,我们需要针对不同的硬件做单机的优化,比如廉价的Sata盘存放相对静止的数据,SSD盘存放访问频率过高的数据。

      NoSQL集群不是我们这篇文件要简述的话题,有机会可以详谈。不过即使是分布式系统,我们也应注重模块的单机性能。因为如果我们的模块单机性能提高一倍,那么我们的集群规模就会下降一倍。在上万台机器中,节约的成本是非常可观的。我们如何衡量这个存储系统的单机引擎性能呢?方法很简单,如果一个单机模块,能够将网卡吞吐跑满或者磁盘顺序读写吞吐跑满,对于存储模块本身来说,可以了。

      目录管理系统实现

      海量文件的目录管理,很难。这里,我们采用一个分布式有序表的方式来解决,分布式有序表也是NoSQL的一种。它对存储的数据,提供基于字典序的游标查询。比如:我们将所有的用户文件名放入有序表中,该系统就会产生根据文件名排序的分布式数组,如下:

      [/a.doc; /a/a.doc; /a/b.doc; /a/c.doc; /b.doc; /b/b/b.doc]

      在执行ls /a/命令的时候,我们会寻找/a/的游标得到/a/a.doc,接着我们开始遍历这个游标,直到不是/a/打头为止。如果该过程中碰到子目录,程序会会通过二分查找直接跳过子目录,从而防止遍历过多。如果数目过多,我们会展现100条,其它隐藏。目录管理,主要是给用户组织自己数据的时候用的,理论上,用户不会在一个目录下放太多的文件,即使太多,也没关系,我们就显示100条,然后提供下一页的按钮(因为下一页的游标位置我们是知道的)。

      实时检索系统

      讨论这个议题的时候,需要假设我们已经有一个传统的检索系统,然后想办法提高检索的实时性。我们设计一个内存索引,把用户新增的文件,对文件名切词后放到内存中检索,检索的结果参与最终的合并。每隔五分钟merge到传统检索系统中,然后释放内存。云存储,不像互联网网页,在5分钟之内,仅文件名的索引,数据量不可能太大,所以内存不会是瓶颈。进一步的,我们可以对文件的内容作检索,但是文件内容没有必要做到实时。

      权限系统

      用户权限系统,对于云存储来说,也是个用户文件,所以没什么特别的,只不过我们需要专门的缓存做访问优化。因为每一次读写请求,都要判断访问者是否有相关的权限。

      CDN技术

      P2P技术和CDN支持,主要是为了减少带宽成本而做的,在云存储这种数据量巨大的服务中,这两种技术,显的尤为重要。这两块是两个专题,我们在这里不多做介绍。不过这两个技术在解决热点问题效果比较好,但是海量文件并不是所有文件都放CDN的,因此有些工作,数据访问前端不得不做。

      数据访问与客户端优化考虑

      客户端访问速度差别,是我们要考虑的问题。如果是内部的访问,带宽可以保证是1000M以上,但是面向互联网用户,各种各样的带宽需求都有,比如GPRS、3G、ADSL,从20k-16M不等。这就要求我们的前端技术,在处理这些请求下要工作的很好。另外我们还要考虑在正常服务下,网络带宽最小化,比如一个视频是100分钟,我们就应该保证100分钟内传完,满足正常播放,不能太快,因为太快,你不能保证用户有耐心看完,可能他就看10分钟,然后就关了,于是后面传输的带宽全浪费了。如果是用户下载,那么当然是越快越好。这些控制,我们都通过WebServer来实现。

      WebServer最主要的功能就是高并发支持,限速。再加上云存储的数据是海量的,传统的Apache做WebServer肯定不适合,这里我们采用异步的WebSever比如lighttpd或者nginx,然后对客户端句柄进行速度控制。为了支持大文件的断点上传,我们需要有一个专门的客服端,能够将文件分块上传。Webserver必须支持根据md5查询这个文件哪些块已经上传了,哪些没上传,从而通知客户端正常工作。

      云存储有很多节约带宽的优化,比如上传文件的时候,先上传md5,如果云端已经存在,就不需要上传了,这样可以做到大文件的秒传,节约网络带宽。另外它提供对外标准的Http协议,可以采用迅雷等p2p软件下载,从而提高访问速度,减少服务器带宽冲击。为了数据安全性,我们还得提供https协议的数据访问。

      App Engine

      完成云存储的设计之后,我们需要一个开发平台,这个开发平台提供用户逻辑的运行环境。这环境包括

    1. MYSQL集群化管理
    2. 离线任务的处理
    3. PHP的运行环境

      MySQL集群化管理

      因为云存储没有提供关系数据的存储功能,为了降低用户的开发门槛,我们需要一个MYSQL的集群化来完成类似的功能。MYSQL的集群化,主要是完成MYSQL读写分离和主从同步功能。

      通过这种架构,保证了开发者不需要关心MYSQL的数据故障等问题。因为MYSQL Proxy会自动的进行主从切换和读写分离。这里我们要开发的就是解析SQL语句,完成相关的用户认证,并完成相关的后台转发、接收。

      MYSQL的集群化管理没有解决分布式的问题,这个地方我们认为不需要解决。因为互联网在线业务类的关系数据不会太大,大的数据都放到云存储里面了,数据库只存索引。还有,数据库的分库分表也相对成熟,索引数据也很难快速膨胀。如果用户有对分布式索引的需求,可以考虑前面我们谈到的有序表。

      离线任务处理

      离线任务处理主要解决,用户需要做大量的cpu密集型的工作,包括图片转化,视频转化等。我们这里采用了一套消息队列的方式进行离线处理。用户将处理请求扔给消息队列,执行机获取消息队列的消息之后,会执行相关的的用户代码。

      php运行环境

      PHP运行环境,主要解决PHP的分布式化问题。云平台上跑的服务,千奇百怪,可能因为没有流量,只用到实际机器的千分之一,也可能拥有巨额流量,需要上百台机器支持。当然大部分服务没有什么流量。对于传统的虚拟化来说,1台机器能虚拟化成32台,已经慢的不行。这样,一台物理机只能部署32个app运用,对于基础架构来说是不可接受的。因为互联网上的云端运用,会急剧膨胀,所以我们需要一种新的虚拟化架构,能将机器的粒度切的更细。

      这里我们使用PHP为开发语言展示一个轻量级的虚拟化技术。我们通过轻量级虚拟化技术,为每个用户分配一组FAST CGI进程资源,通过Web端的调度,将请求引到各自的FAST CGI进程组中处理。这样一台机器能启动多少个进程,我们就能虚拟化多少份。

      如果网站流量很大,单机处理不了,该如何解决?我们是通过FAST CGI进程个数来调度的,单机资源不够的情况下,我们会在多台机器上分配进程,组成一个FAST CGI组,然后通知Web端,这个网站的请求可以分流到哪些FAST CGI中去。我们会有一个总控的Master来观察各台机器的负载,从而判断是否要迁移FAST CGI进程。FAST CGI进程的迁移是简单的,这台机器KILL,在另外一台机器重启即可。

      这个是我们PHP执行环境的架构。

      架构依赖于资源定位服务。资源定位通知前端接入,哪些机器负载还行,可以引流,哪些已经故障,或者压力过大,不能引流。当A.baidu.com的流量过来的时候,前端接入会解析域名,并且根据资源定位获取的数据(本地有缓存),分发到对应的某台机器的FAST CGI端口上,执行PHP代码后返回。因为FAST CGI读取的用户代码存储在网络文件系统中,所以前端接入无论选择哪台FAST CGI都能够有效的做处理。在实际过程中,我们发现网络文件系统对性能,尤其是HTML的访问性能影响很大,因此我们对每台机器做了单机缓存。不过Cache失效是个非常难解决的问题,我们这里采用的方法是一但文件发生修改,资源定位会通知所有客户机的该文件缓存失效,而且更新必须走同一的入口。由于我们只存储代码,效果还可以。有了分布式的网络文件系统,用户代码更新也变得异常简单。只要更新完成,通知缓存失效即可。

      另外一个问题,如果运行平台跑大量的垃圾网站,比如很多一天只有少量请求的网站。用轻量级虚拟化,即使1台机器切出2000千份资源,还是很浪费的。对于这种运用,我们采用了FAST CGI复用,即很多小网站的请求都落到1个FAST CGI上,然后FAST CGI根据目前处理的网站,来获取相关的配额控制。真正做到资源消耗跟访问量成正比,没访问没成本。这里可能用CGI更好点,不过为了架构统一下,这点优化不算麻烦。

      小结

      简单介绍了App Engine所具有的能力,一个PHP的轻量级虚拟化,能够将1台机器虚拟成万分之一,也能将万台机器合成1个大的虚拟环境。实现从万分之一到万倍计算资源的渐进分配。它成功解决了一个网站,从小到大的计算能力的无限扩展问题。

      也介绍了云存储所具备的能力,它支持海量的数据存储,成功解决了一个网站,从小到大的存储能力无限扩展问题。

      整个云端运用,就是基于强悍可伸缩的计算能力和存储能力之下构建的网站。我们真正做的就是逻辑开发,和各个终端下的特殊展现形式。用这套架构,实现一个视频分享网站,电子书阅读网站是容易的。减少了云端应用的开发门槛,整个云端产品也将丰富多彩。它们都用统一的架构,计算和存储分离,程序开发无状态化,持久性存储放在云存储中。

      有给力的基础架构,云端运用随手拈来。目前在百度公司内部,这种架构已经有成型的运用,它极大的提高了应用服务的开发效率,降低服务运维成本和开发人员的技术门槛。百度内部云平台迁移了大量的在线服务,有关百度的最新进展和数据,大家可以参考《QCon北京2011全球企业开发大会》公布的一些关于BAE的资料。

    展开全文
  • 什么是原生应用? 原生是一种方法,用于构建和运行充分利用云计算模型优势的应用。云计算不再将重点放在资本投资和员工上来运行企业数据中心,而是提供无限制的按需计算能力和根据使用情况付费的功能,从而重新...

    什么是云原生应用?

    云原生是一种方法,用于构建和运行充分利用云计算模型优势的应用。云计算不再将重点放在资本投资和员工上来运行企业数据中心,而是提供无限制的按需计算能力和根据使用情况付费的功能,从而重新定义了几乎所有行业的竞争格局。IT 开销减少意味着入行的壁垒更低,这一竞争优势使得各团队可以快速将新想法推向市场,这就是软件正在占据世界,并且初创公司正在使用云原生方法来颠覆传统行业的原因。

    但是,企业需要一个用于构建和运行云原生应用和服务的平台,来自动执行并集成 DevOps、持续交付、微服务和容器等概念:
    在这里插入图片描述

    Cloud-Native

    DevOps 是软件开发人员和 IT 运营之间的合作,目标是自动执行软件交付和基础架构更改流程。它创造了一种文化和环境,可在其中快速、频繁且更可靠地构建、测试和发布软件。

    持续交付使得单个应用更改在准备就绪后即可发布,而不必等待与其他更改捆绑发布或等待维护窗口期等事件。持续交付让发布行为变得平淡可靠,因此企业可以以更低的风险频繁交付,并更快地获得最终用户的反馈,直到部署成为业务流程和企业竞争力必不可少的组成部分。

    微服务是将应用作为小型服务集合进行开发的架构方法,其中每个服务都可实施业务功能,在自己的流程中运行并通过 HTTP API 进行通信。每个微服务都可以独立于应用中的其他服务进行部署、升级、扩展和重新启动,通常作为自动化系统的一部分运行,可以在不影响最终客户的情况下频繁更新正在使用中的应用。

    与标准虚拟机相比,容器能同时提供效率和速度。单个操作系统实例使用操作系统 级的虚拟化,在一个或多个隔离容器之间进行动态划分,每个容器都具有唯一的可写文件系统和资源配额。创建和破坏容器的开销较低,再加上单个虚拟机中的高包装密度,使容器成为部署各个微服务的完美计算工具。

    为什么云原生应用如此重要

    云原生应用专为云模型而开发。小的专用功能团队快速将这些应用构建和部署到可提供轻松的横向扩展和硬件解耦的平台,为企业提供更高的敏捷性、弹性和云间的可移植性。

    云是一种竞争优势

    云原生意味着将云目标从节约 IT 成本转变为推动企业发展。在软件时代,如果企业可以根据客户需求快速构建和交付应用,那么该企业将在其行业中占据主导地位。一旦交付,应用必须像永远在线的弹性扩展服务一样运行。

    灵活性

    企业可以构建无需修改便可在任何云上运行的应用。团队可以保留跨多个云供应商和一个私有云迁移或分发应用的能力,以匹配自己的业务优先级并优化云定价。

    让开发人员以最好的状态工作

    采用云原生应用的团队可为开发人员省去为了在各种云基础架构间运行和扩展而编写代码所产生的开销,让他们专注于编写能够交付客户价值的代码。标准化开发人员体系上的 12 因素应用需要一套标准的服务,从而提供标准的开发人员“合同”,确保其应用充分利用底层的云原生平台。

    协调运营和业务

    通过实现自动化 IT 运营,企业可以转变为一个重点明确的精益团队,与推动业务优先事项保持一致。由于员工专注于流程改进,而不是日常的普通管理任务,他们可以消除由于人为错误导致的故障风险。通过在体系的所有层面进行自动化的实时修补和升级,他们可以消除停机时间,并且不再需要具有“传承”专业知识的运营专家。

    主要区别:云原生与传统企业应用

    云原生应用传统的企业应用
    可预测。 云原生应用符合旨在通过可预测行为最大限度提高弹性的框架或“合同”。云平台中使用的高度自动化的容器驱动的基础架构推动着软件编写方式的发展。第一次作为 12 因素应用记录的 12 个原则就是阐释此类“合同”的良好示例。不可预测。 传统应用的架构或开发方式使其无法实现在云原生平台上运行的所有优势。此类应用通常构建时间更长,大批量发布,只能逐渐扩展,并且会发生更多的单点故障。
    操作系统抽象化。 云原生应用架构要求开发人员使用平台作为一种方法,从底层基础架构依赖关系中抽象出来,从而实现应用的简单迁移和扩展。实现云原生应用架构最有效的抽象方法是提供一个形式化的平台。Pivotal Platform 非常适用于在谷歌云端平台 、微软 Azure 或亚马逊云服务等基于云的基础架构上运行。依赖操作系统。 传统的应用架构允许开发人员在应用和底层操作系统、硬件、存储和支持服务之间建立紧密的依赖关系。这些依赖关系使应用在新基础架构间的迁移和扩展变得复杂且充满风险,与云模型相背而驰。
    合适的容量。 云原生应用平台可自动进行基础架构调配和配置,根据应用的日常需求在部署时动态分配和重新分配资源。基于云原生运行时的构建方式可优化应用生命周期管理,包括扩展以满足需求、资源利用率、可用资源编排,以及从故障中恢复,最大程度减少停机时间。过多容量。 传统 IT 会为应用设计专用的自定义基础架构解决方案,这延迟了应用的部署。由于基于最坏情况估算容量,解决方案通常容量过大,同时几乎没有能力继续扩展以满足需求。
    协作。 云原生可协助 DevOps,从而在开发和运营职能部门之间建立密切协作,将完成的应用代码快速顺畅地转入生产。孤立。 传统 IT 将完成的应用代码从开发人员“隔墙”交接到运营,然后由运营人员在生产中运行此代码。企业的内部问题之严重以至于无暇顾及客户,导致内部冲突产生,交付缓慢折中,员工士气低落。
    持续交付。 IT 团队可以在单个软件更新准备就绪后立即将其发布出去。快速发布软件的企业可获得更紧密的反馈循环,并能更有效地响应客户需求。持续交付最适用于其他相关方法,包括测试驱动型开发和持续集成。瀑布式开发。 IT 团队定期发布软件,通常间隔几周或几个月,事实上,当代码构建至发布版本时,该版本的许多组件已提前准备就绪,并且除了人工发布工具之外没有依赖关系。如果客户需要的功能被延迟发布,那企业将会错失赢得客户和增加收入的机会。
    独立。 微服务架构将应用分解成小型松散耦合的独立运行的服务。这些服务映射到更小的独立开发团队,可以频繁进行独立的更新、扩展和故障转移/重新启动操作,而不影响其他服务。依赖。 一体化架构将许多分散的服务捆绑在一个部署包中,使服务之间出现不必要的依赖关系,导致开发和部署过程丧失敏捷性。
    自动化可扩展性。 大规模基础架构自动化可消除因人为错误造成的停机。计算机自动化无需面对此类挑战,可以在任何规模的部署中始终如一地应用同一组规则。云原生还超越了基于以虚拟化为导向的传统编排而构建的专用自动化。全面的云原生架构包括适用于团队的自动化和编排,而不要求他们将自动化作为自定义方法来编写。换句话说,自动化可轻松构建和运行易于管理的应用。自动化可扩展性。 大规模基础架构自动化可消除因人为错误造成的停机。计算机自动化无需面对此类挑战,可以在任何规模的部署中始终如一地应用同一组规则。云原生还超越了基于以虚拟化为导向的传统编排而构建的专用自动化。全面的云原生架构包括适用于团队的自动化和编排,而不要求他们将自动化作为自定义方法来编写。换句话说,自动化可轻松构建和运行易于管理的应用。
    快速恢复。 容器运行时和编排程序可在虚拟机上提供动态的高密度虚拟化覆盖,与托管微服务非常匹配。编排可动态管理容器在虚拟机群集间的放置,以便在发生故障时提供弹性扩展和恢复/重新启动功能。恢复缓慢。 基于虚拟机的基础架构对于基于微服务的应用来说是一个缓慢而低效的基础,因为单个虚拟机启动或关闭的速度很慢,甚至在向其部署应用代码之前就存在很大的开销。
    展开全文
  • 编者按:《微博混合云架构》专栏是InfoQ向新浪微博技术团队的系列约稿,本专栏包含8篇内容,详细阐述以DCP设计理念为指导思想的混合云架构实践。本文是该系列的第一篇,主要讲解了在新浪微博业务背景下DCP的核心设计...
  • 该资源中国矿业大学软件架构课程的课程研讨PPT,是我们小组制作的,主要讲了如何使用云产品,利用云架构搭建一个大型门户网站,内容包括网站的功能,架构以及部署和使用的云产品。 具体内容分为以下几个模块展开: ...
  • 华为云-公有云架构

    千次阅读 2020-06-13 19:24:48
    华为云-公有云架构 华为公有云架构 华为公有云的主要服务如弹性云服务器(ECS)、弹性伸缩服务(AS)、云硬盘 (EVS)、云硬盘备份(VBS)、对象存储服务(OBS) 、虚拟私有云(VPC)、弹性负 载均衡(ELB)、...

    华为云-公有云架构

     

    华为公有云架构
    华为公有云的主要服务如弹性云服务器(ECS)、弹性伸缩服务(AS)、云硬盘
    (EVS)、云硬盘备份(VBS)、对象存储服务(OBS) 、虚拟私有云(VPC)、弹性负
    载均衡(ELB)、Anti-DDOS流量清洗、云数据库(RDS)、IAM统一身份认证、云监控
    服务(CES)、EI、API等云服务产品。

     

    一、 公有云服务架构

    1、公有云全堆栈解决方案使能数字化转型
    技术图片

    2、华为公有云架构
    技术图片

    3、高可用的资源架构模型
    技术图片

    二、 公有云服务的主要服务产品

    1、华为云标准产品体系
    技术图片

    2、计算服务:弹性云服务器(ECS)
    弹性云服务器( Elastic Cloud Server )是一种可随时自助获取、计算能力可弹性伸缩的云服务器,
    技术图片

    3、计算服务:GPU加速云服务器

    技术图片

    4、计算服务:弹性伸缩服务(AS)
    弹性伸缩服务(Auto Scaling)可根据用户的业务需求和策略,自动调整计算资源,使得云服务器数量可随业务负
    载增长而增加,随业务负载降低而减少,保证业务平稳健康运行。
    技术图片

    5、存储服务:云硬盘(EVS)
    云硬盘(Elastic Volume Service)是一种基于分布式架构的,可弹性扩展的虚拟块存储服务。具有高数据可靠性,高I/O吞吐能力等特点。像使用传统服务器硬盘一样,可以对挂载到云服务器上的云硬盘做格式化、创建文件系统等操作,并对数据持久化存储。
    技术图片

    6、存储服务:云硬盘备份(VBS)
    云硬盘备份服务(Volume Backup Service)可为云硬盘创建备份,利用备份数据回滚云硬盘,以最大限度保证用户数据正确性和安全性,确保数据安全。
    技术图片

    7、存储服务:对象存储服务(OBS)
    对象存储服务(OBS,Object Storage Service)是一个基于对象的海量存储服务,为您提供海量、低成本、高可靠、安全的数据存储能力。使用于:海量存储资源池、静态网站托管、大数据存储、备份、归档和网盘类业务。
    技术图片

    高可用:11个9数据持久性和99.99%的可用性
    低成本:成本低廉,海量扩展
    易使用:提供S3原生接口以及基于web控制台,OBS客户端和SDK开发包等多种使用方式

    8、网络服务:虚拟私有云(VPC)
    虚拟私有云(Virtual Private Cloud)可帮助您基于华为云轻松构建隔离的虚拟网络环境。您可以完全掌控自己的虚拟网络,包括申请弹性带宽/IP、创建子网、配置DHCP、设置安全组等。此外您也可以通过专线/×××等连接方式将VPC与传统数据中心互联互通,灵活整合资源。
    技术图片

    9、网络服务:弹性负载均衡(ELB)
    弹性负载均衡(Elastic Load Balancing )将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用程序容错性能。
    技术图片

    10、安全服务:Anti-DDoS流量清洗
    Anti-DDoS安全服务是通过专业的防DDoS设备来为客户互联网应用提供精细化的抵御DDoS***能力(包括CC、SYN flood、UDP flood等所有DDoS***方式)。租户根据租用带宽及业务模型自助配置防护阈值参数,系统检测到***后实时通知用户网站防御状态。

    技术图片

    11、安全服务:漏洞扫描服务(VSS)
    租户使用华为云安全控制台,通过对网站/主机的扫描,可以检测出网站/主机存在的漏洞,给出漏洞详情,针对每一种类型的漏洞给出专业的修复建议。
    关键特性:
    ? 体验式扫描:支持第一次使用漏洞扫描服务的新用户,在未进行域名认证时,对网
    站进行体验式扫描,预估网站风险
    ? 支持多种主机漏洞扫描
    ? 覆盖OWASP Top 10 漏洞检测
    ? 第三方开源软件的漏洞检测以及未知漏洞0day的检测。
    ? 覆盖多种Web指纹及主机指纹。
    ? 修复建议:针对检测发现的每种漏洞类型,提供了专业的修复建议。

    12、安全服务:Web应用防火墙(WAF)
    Web应用防火墙会对HTTP的请求进行异常检测,有效防止网页篡改、信息泄露、***植入等恶意网络***行为。
    技术图片
    关键特性:
    ? 业界支持OS类型最广的防病毒产品, 支持多种不同的windows/linux系统。
    ? 突破传统防病毒产品的局限性, 提供深度的安全防护,为租户提供全方位的安全保护,包括:防******:包括SQL注入、XSS跨站、服务器漏洞、信息泄露、权限提升、命令执行、webshell、第三方漏洞、恶意扫描等。
    ? 隐藏云主机的弹性IP,替身式服务,保护云主机安全。
    ? 对网站的静态资源提供缓存,请求无需回源,即可在Web应用防火墙节点获取资源,加快网站访问速度。

    13、云管理:统一身份认证(IAM)
    统一身份认证服务(Identity and Access Management,简称IAM)是一项Web服务,华为云客户可使用这项服务在华为云中管理用户和用户权限。通过使用IAM,您可以集中管理用户、安全凭证(例如访问密钥)以及控制用户可访问哪些华为云资源的权限。
    关键特性
    ? 集中控制用户和安全凭证:您可控制每个用户的华为云安全凭证(例如访问密钥)的创建、轮换及撤销。
    ? 集中控制用户访问:您可控制华为云系统中用户可访问的数据及访问的方式。
    ? 基于用户组的权限:您可基于用户的工作职责(例如管理员、开发人员等)限制用户的华为云访问权限。
    当用户进入组织时,您可轻松更新用户的华为云访问权限,以反映用户角色的变化。
    ? 支持华为客服代维操作:您可通过代注册功能让华为客服代替企业注册,也可以让华为客服通过切换角色功能完成代维工作。

    14、云管理:云监控服务(CES)
    云监控服务(Cloud Eye Service)是一个针对弹性云服务器、带宽等资源的立体化监控平台。为您提供实时监控告警、通知以及个性化报表视图,让您精准掌握产品资源状态。
    技术图片

    15、软件开发云:一站式云上DevOps平台
    软件开发云(DevCloud )是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台;面向开发者提供研发工具服务,让软件开发简单高效。

    技术图片

    16、云上大数据:让数据“慧”说话
    技术图片

    华为云EI:全栈使能,覆盖全场景
    技术图片

     

    展开全文
  • 存储基础架构剖析

    2021-02-26 23:38:57
    增长速度最快的数据是归档数据,鉴于很多因素它是存储的理想之选,这些因素包括成本、访问频率、保护和可用性。但是并非所有存储都是相同的。一家提供商可能主要关注于成本,而另一家提供商关注于可用性或性能。...
  • 省级电子政务平台 总体架构设计 目 录 第 1 章 建设目标范围任务 111 1.1 面临的问题与挑战 111 1.1.1 信息化建设条块分割 111 1.1.2 电子政务建设机制有待完善 111 1.1.3 投融资模式创新不足 222 1.1.4 部分...
  • Dustin.Whittle给出了应用的示例架构,它具有高度的可扩展性,如下图所示:在这个图中,应用按照分层的理念进行了拆分,分别介绍如下:客户端层:客户端层包含了针对目标平台的用户界面,可能会包括
  • 常见的视频云架构

    千次阅读 2019-07-14 15:32:19
    常见的视频云架构图如下: 客户端包括:APP,pc端,移动端组成。 客户端通过接口调用后台服务,进行基础数据,视频流的请求。

    常见的视频云架构图如下:

    在这里插入图片描述

    一般情况下源视频文件上传至服务器(对象存储)后,进行转码(转码需要进行队列管理),转码成功后才能进行播放。

    客户端包括:APP,pc端,移动端组成。

    客户端通过接口调用后台服务,进行基础数据,视频流的请求。

    本人多年视频云开发经验,欢迎交流qq1931871489,有视频云代码可以共享给大家。

    展开全文
  • 原生包含了一组应用的模式,用于帮助企业快速,持续,可靠,规模化地交付业务软件。原生由微服务架构,DevOps 和以容器为代表的敏捷基础架构组成。
  • 了解服务器的架构

    千次阅读 2018-12-17 15:20:38
    对于提供服务的服务商来说,不仅要考虑云计算有哪些技术特性,更要符合服务的用户的需求,这样才能设计出能效比、易管理的服务器。为了实现这个目标,就一定会去颠覆传统的架构,从而赋予服务器平台更高的技术...
  • 单服务应用云架构 RDS数据库 创建数据库 配置管理 账号管理 创建schema 白名单 数据库连接 参数设定 云架构演进 写在前面 博主上一篇博客讲到一些比较简单通用的架构体系,那么本篇博客,我们来聊一下最为普通的...
  • 原生架构白皮书.zip

    2021-08-05 23:34:09
    讲述原生架构包括云原生架构的定义、主要原生技术、原生架构设计、原生产品的介绍、原生架构实践案例、原生架构未来发展趋势,很不错,快来下载吧。
  • 什么是原生架构

    千次阅读 2018-10-25 18:56:00
    个人认为,原生架构应该包括2大部分:原生平台和原生应用。 云计算提供了对无限IT资源的按需付费的商业模式,但从技术架构上看,还需要一个用于构建和运行原生应用的平台,来实践敏捷开发、DevOps、容器...
  • 原生架构及其应用

    千次阅读 2020-12-19 00:04:28
      本文以该系统为例,主要论述了原生架构在项目中的具体应用。系统以Spring Cloud微服务框架开发,分为前端Web服务、平台保障服务、业务服务三部分。前端Web服务由负载均衡与服务器集群结合,实现高并发的前台...
  • 常见云架构

    千次阅读 2020-09-29 16:21:24
  • 公有,私有,混合 IaaS,PaaS,SaaS 数据存储中心,还能提供计算、服务和应用功能。即将电脑中所有的资料都存储到网络上,到任何一个地方,只要能上网,通过身份认证,就可以将资料找到,进行查询,修改...
  • 阿里分布式架构云平台解决方案

    万次阅读 2018-09-01 12:35:14
    技术架构 分布式架构云平台在充分分析IT技术发展趋势,遵循集中化、标准化、集成化、可靠化和可扩展化的设计原则,以价值创造为使命,以规范化、一体化、智能化...分布式架构云平台规划设计了集约化、云架构动态配...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 200,445
精华内容 80,178
关键字:

云架构包括哪些