中企动力 > 商学院 > 云计算构建
  • ?

    云计算技术的高速发展

    邓采梦

    展开

    自1980年开始,云计算就已经进入了高速发展的阶段,目前该技术已比较成熟。那么云计算是什么呢?目前最为广泛接受的定义便是,一种按使用量付费的模式,这种模式用来提供简单、快捷、可用的资源共享空间(包括网络、信息、通讯等),这些资源能够快速的为使用者提供需要的信息,且与服务供应商进行很少的交互即可完成,极大的提高了信息交互效率。

    云计算是一种通过计算分散在大量的分布式计算机上,而非本地的或远程计算机上,这使得企业能够按自身需求访问并获取想要的应用,进入到相应的计算机或云存储系统,这也使得企业能够将资源快速切换到需要的应用上。

    目前云计算具有相当程度的规模,Google云计算已经具有了一百万台服务器,其他包括Amazon、IBM、微软、Yahoo等的“云”也已具有了数十万台服务器。云已经广泛深入到了各个企业当中,赋予了人们超强的计算能力。

    云计算使得用户可以在任意位置、各种终端上获取自己想要的各类信息,虽然所有的资源来自“云”,信息也并非实体,实际上的云在某处运行。但对于用户来说,只要有一台电脑,或者一部手机,便可以完成信息的获取,无需了解云计算背后的原理及运行模式。并且云计算具有高度的容错性,保证了用户获取信息上的内容可靠性,原则上,云计算信息是比本地计算机要可靠得多的。

    作为一个庞大的资源池,云可以像用水用电那样,按需使用,按需缴费。云计算深入到了人们生活的各个方面,只要注意其发展过程中存在的问题,一定可以为人类发展带来难以估计的贡献。

    2003年,中国国际云计算技术和应用展览会3月4日在北京开幕,工信部软件服务业司司长陈伟在会上透露,云计算综合标准化技术体系已形成草案。

    工信部要从五方面促进云计算快速发展:

    一是要加强规划引导和合理布局,统筹规划全国云计算基础设施建设和云计算服务产业的发展;

    二是要加强关键核心技术研发,创新云计算服务模式,支持超大规模云计算操作系统,核心芯片等基础技术的研发推动产业化;

    三是要面向具有迫切应用需求的重点领域,以大型云计算平台建设和重要行业试点示范、应用带动产业链上下游的协调发展;

    四是要加强网络基础设施建设;

    五是要加强标准体系建设,组织开展云计算以及服务的标准制定工作,构建云计算标准体系。

    云服务在提供了计算机服务之外,相应的必然需要提供存储服务。

    但就目前而言,云计算服务在个人企业机构实行垄断,而他们仅仅提供商业信用,对于政府部分,或者银行等对信息数据高度敏感的部门或者企业,在使用云计算服务时,应当保持高度的警惕,避免带来不必要的损失与麻烦。对于云计算服务本身,其数据只开放于数据拥有者,对数据拥有者之外的其他用户实行相对保密,但对于提供云计算服务的商业机构来说,用户的信息对于他们而言,毫无秘密性可言。这是云计算服务潜在的一种危险,对于政府或商业机构,尤其是国外机构,在使用云计算服务时,一定要慎之又慎,信息的保密性显得尤为重要。

  • ?

    IT人员如何成为一名云计算工程师

    诺言

    展开

    云计算是一种通过互联网提供与计算相关资源的可扩展的方法。工程学科应用于这个概念则被称为云计算工程,它与任何与云计算相关的技术相关联。

    在人们了解如何成为云计算工程师之前,首先需要了解什么是云计算。

    云计算是一种通过互联网提供与计算相关资源的可扩展的方法。工程学科应用于这个概念则被称为云计算工程,它与任何与云计算相关的技术相关联。

    云计算构建了一个系统化的方法,专注于云计算应用程序的标准化和治理。

    云计算工程师主要专注于一些关键的云服务:

    基础设施即服务平台即服务软件即服务云计算工程师是负责与云计算相关的任何技术问题的IT专业人员。他们的职责包括支持、维护、设计、管理、计划。

    专注于不同类型计算的多个工作职位与云计算工程师有关:

    云计算安全工程师云计算系统工程师云计算架构师云计算网络工程师云计算软件工程师要想成为一名云计算工程师,IT专业人员首先应该掌握云计算主要领域的技能。

    首先从掌握基本概念开始,然后通过掌握完全面向云计算的特定供应商的平台或技术等重要领域来增强其专业知识水平,因为这有助于为IT专业人员增加附加优势。但要获得这些特定领域的知识,IT专业人员应具备软件、操作和架构角色所需的技能。

    如何成为一名云计算工程师

    通常在操作角色中获得的技能要了解恢复灾难,故障转移和冗余的方法。只要对这些概念有良好的把握,就可以通过一些培训轻松学习云计算架构师概念。

    而了解应用程序网络、虚拟化和存储技术的操作和设计,将为IT专业人员在云计算领域增加额外的优势。

    IT人员最好具有强大的编程背景,而如果熟练操作OpenStack,AWS(Amazon Web Service)和Azure则更好。

    掌握这些技术中的至少一种,将有助于对他人设计的软件的理解。总之,这都要求IT人员具有更加丰富的经验和实践技能。

    云计算架构的基础是基于API和Web服务。在这些服务模式方面具有良好的专业知识水平将使IT人员在掌握云基础知识方面领先一步。

    云计算工程师的认证

    “云计算工程师” 这个概念在IT时代是一个进化的角色,IT专业人员在云计算时代取得成功的同时,还需要一系列高级技能。

    这些技能通过云计算认证培训所获得,行业标准认证为IT人员提供了获得云计算工程师工作的边缘优势。

    云计算工程师需要的主要云计算认证包括:

    AWSAzureMCSE-基础架构和云平台CCNA和CCNP云计算版本VMware VCP7-CMAAWS的认证

    它包括学历证书和专业证书。AWS认证涵盖的解决方案架构师的角色是AWS解决方案架构师助理。获得这一级认证后,IT人员可以转到专业级认证继续学习。

    AWS认证为拥有技术知识的IT专业人员提供了一定程度的认可,它增强了IT人员在设计、操作和部署应用程序和基础设施方面所需的技能。

    云计算工程师应该全面了解与云计算有关的每个概念。

    IT人士应该对所有的编程语言有全面的了解,其中包括Java,Ruby和Python。除了传统技术外,云计算工程师还应该在现代的基础设施方面具有更多的技能。

    大多数寻求云计算工程师的组织都必须要求应聘者具备Docker、Azure、AWS、Rackspace、Linux、Google Compute Engine和OpenStack的操作经验。此外,拥有DevOps和NoSQL数据库的经验也很重要。

    IT人员可以学习以下列出的书籍:

    云计算-从头到尾(Cloud Computing- Beginning to En)- Ray J. Rafaels著云计算-实践方法(Cloud Computing- A Hands-on Approach)- Arshdeep Bahga和Vijay Madisetti著云计算- 概念、技术和架构以及云计算设计模式(Cloud Computing- Concepts. Technology and Architecture and Cloud Computing Design Patterns) - Thomas Erl等人著Cloudonomics - 云计算的商业价值(Cloudonomics- The Business Value of Cloud Computing) - Joe Weinman著亚马逊网络服务傻瓜教程(Amazon web services for Dummies)- Bernard Golden著

    结论

    总而言之,云计算工程师必须通过互联网充分利用所有可用资源,并制定适当的应用程序,以充分拓展他们的职业生涯。

  • ?

    2018年五个云计算趋势

    羊以柳

    展开

    你会在未来一年期待什么?IT部门的领导和云专家表示,多云和容器的将会迎来巨大的增长。

    云计算将会是新的常态,但这并不意味着它是不变的。相反,云计算和相关技术,实践,比如容器、微服务架构、DevOps等等将继续以惊人的速度发生变化。

    随着2018年的到来,我们邀请了一些IT领导者和云专家,分享在未来的一年他们对云及相关领域的期望。请阅读下面5个对云的发展趋势的预测:

    1. 多云将成为主流 - 开源是可移植的推动者

    Heptio首席执行官兼联合创始人Craub McLuckie是Kubernetes最初的开发人员之一,他认为2018年将是多云策略成为IT常态的一年,特别是那些现在对自己的初始云环境充满信心的组织,希望能增加第二个,第三个,或者说更多,(你懂的。。。。)

    McLuckie说:“大多数企业现在都在云中运行工作负载,许多企业正在开始评估他们的第二个云提供商是谁?

    正如红帽通用管理战略部门的亚历山德罗·佩里利(Alessandro Perilli)在今年早些时候指出的那样,这是一个自然而然执行多云、多供应商策略的时代。

    Perilli建议说:“大多数公司都是以这种方式开始的,即从管理每个单一的供应商开始,之后快速获得投资回报并建立下一阶段所需的专业知识。

    McLuckie指出,寻求扩展到其他平台和环境的原因因不同组织而异,它们都导致了相同的基本结果:多云。“在某些情况下,这只是一个采购政策问题,那些规模大的公司很少会依靠单一的供应商。在其他情况下,企业可以看到其它提供商提供的解决方案中潜在的服务质量,能力或价格优势。”

    为了实现这些好处 ,快速进行工作负载的迁移和优化的想法,开源将需要扮演主角,McLuckie说。

    他解释说:“开源技术本质上将成为一个重要的考虑因素,因为它是避免被供应商锁定到特定环境的一种方法。“更复杂的组织将开始重视与开源社区建立更紧密的关系,以此来满足他们的需求。”

    2. IT将从使用云转向优化云

    OneNeck IT Solutions咨询顾问和产品管理副总裁Jeff Budge表示,2018年的云计算也将成为一个阶段,从使用云转向优化云。

    Budge说:“优化将出现在许多不同的层面,包括成本,多云治理和管理以及数据优化。

    云计算成本已经是一个重要的话题,但是Budge预计,IT领导者明年将对它们进行优化和管理,尤其是在云策略成熟的情况下。

    同样,随着多云环境的激增,人们越来越重视所有这些问题:我们如何管理所有这些问题?

    Budge说:“随着客户在云计算之旅中的进步,他们意识到需要混合云来满足他们公司的需求。“在当前,这通常意味着这种混合云的管理涉及到从A供应商的云端控制台切换到B供应商的云端控制台。

    Budge预测,明年统一的云管理工具领域将会成为热门话题。

    Budge预计,特别是跨多种云组合的数据优化将成为重中之重:“数据整合,数据隔离,数据安全,数据加密,数据!数据!数据!”,Budge说。“随着公司正在为他们的应用程序组合确定正确的云组合,将会对数据的影响产生巨大的推动作用。”

    3. 混合云继续扩展并推动相关领域

    Tech Data全球云解决方案高级副总裁Sergio Farache表示,随着数字转换和边缘计算等趋势的不断发展,混合云模式的情况可能会在许多IT部门内部增长。

    Farache说:“从通信成本,知识产权,应用程序接近用户和可靠性等几个方面,都需要混合计算环境。

    Webair首席技术官Sagi Brody说:“企业的数据和应用程序越来越多地在内部平台、SaaS、IaaS和边缘物联网之间传播。换句话说,混合信息技术正在成为生活中的一个事实。“

    因此,布罗迪指出,IT领导者及其团队需要管理比以往更广泛的产品组合,这可能需要做出明智的决定,决定在内部保留什么和那些需要迁移到其他地方。

    Brody说:“首席信息官和首席技术官必须慎重决定未来混合IT环境的哪些方面应该在内部进行管理和协调,以及他们可能更倾向于将责任和义务转移到第三方。”

    4. 容器,编排和微服务将成为主流技术

    容器,编排和微服务一直是IT界的热门话题; 预计这一话题将在未来一年转化为更广泛的应用。

    “随着云计算的不断发展,我们将看到微服务架构和容器编排技术成为主流,” CloudBees的高级顾问Viktor Farcic说。

    三者之间的关系是非常共生的 - 容器和微服务就像牛奶和面包一样聚集在一起,编排工具使一切都可以管理 - 这就是为什么我们会看到他们的使用率相互提高。

    Farcic说:“我们已经看到企业正在转向基于微服务的体系结构,但是当使用传统方法进行打包和部署时,微服务可能是昂贵而复杂的。这就是为什么我们会看到容器的持续增长,“,并补充,Kubernetes将巩固其作为主要领导者的地位。“Kubernetes将成为集群计算的标准。2018年将是Kubernetes及其生态系统的一年。我们将看到许多软件供应商将基于Kubernetes生态系统的支持策略建立起来,几乎每个人都会采用Kubernetes或者提供基于它的解决方案。“

    Heptio公司的McLuckie公司也有类似的预测,因为容器和编排正好到了软件供应商开始提供容器解决方案的时间点,在集成和其他任务时为客户节省了时间和金钱。

    “在2018年期间,随着容器日益成为主流,Linux应用程序容器OCI和Kubernetes认证计划等标准化计划开始在行业内发挥作用,越来越多的传统软件供应商开始越来越多地将相关技术视为他们的解决方案的起点,“McLuckie说。“我们将开始看到越来越多的解决方案被打包为容器进行交付和动态管理,这些产品建立在容器和调度器的生态系统之上。”

    Retriever Communications公司首席技术官Nic Grange 也预计Kubernetes今年将冲击IT主流,特别是在混合云环境中,部分原因在于工作负载的可移植性。Grange还指出,IT团队开始使用容器和微服务而不必立即在云环境中运行它们,或者根本不需要在云环境中运行它们,但是如果他们决定稍后迁移这些应用程序,也会更容易。

    Grange说:“大多数IT部门习惯于直接将应用程序部署到操作系统上,但是像Kubernetes这样的技术提升了抽象级别,这使得在本地和云之间移动应用程序变得更加容易。“IT部门必须适应这一点,通过降低改变方向的成本,让他们的业务具有竞争力并对市场变化作出反应。”

    灵活性也是另一个重要原因,也是支撑多云战略和混合云环境发展的原因。IT领导人非常清楚将工作负载与适当环境相匹配的重要性。SAS首席信息官基思·柯林斯(Keith Collins) 指出,你可以简单地将传统应用程序封装在容器中,将工作负载迁移到公有云上,这在许多IT部门中并不存在。相反,IT领导者需要仔细的去匹配工作负载和各种环境。

    5.CIO需学会以精益的方式扩展DevOps

    随着DevOps与云并行发展,Rainforest QA首席信息官Derek Choy预测同类IT领导者会面临越来越大的压力,去发掘潜能,而更快、更频繁地提供高质量服务 。

    “我们已经达到了DevOps采用的关键转折点。 Choy表示,CIO们将在2018年面临压力,确保他们的企业能够在不增加成本的情况下,高速和高质量的发布软件。 事实上,这是DevOps的一个关键承诺,但Choy指出,即使在DevOps商店中,软件开发生命周期的大部分仍然是人力密集型的。 随着团队接受像Kubernetes这样的自动化和云原生工具,希望团队能够更大规模地交付,而不必增加大量新的人员。

    Choy说:“2018年,首席信息官将会考虑如何实现DevOps的自动化扩展,同时实现人员和招聘的业务目标。”

    作者:Kevin Casey | 2017年12月28 | Kevin为各种出版物撰写有关技术和商业的文章,曾获取Azbee奖。

    翻译:云星数据 | 2017年12月29日 |云星数据是国内领先的多云管理平台和服务提供商,也是全球混和云领导者RightScale在国内的唯一合作伙伴。其合作推出的多云管理平台RightCloud可以帮忙企业客户更好的构建多云体系,提供管控效率,大幅降低企业云成本。

  • ?

    云计算为信息化战争助力

    酆南松

    展开

    云计算是网络应用与计算的崭新模式,是分布式处理和并行计算的外延发展,它通过网络集成计算机形成一个功能强大的系统。目前,军事专家意识到,应建设基于云计算的军事网络信息系统,以实现军事信息管理、资源及服务的高效统一调度,最终建立符合信息化战争需要的复合型信息系统。

    实现不同作战单位协同作战

    云协同作战,是指将广泛分布的战场资源相互连通而形成的一个云作战网络。它能够实时进行数据传递、资源共享和指挥控制,实现不同作战单位的协同作战。

    首先,借助云计算的云端服务,可实现指挥信息系统中的海量数据存储,并使信息实时共享。利用功能强大的云终端,各级指挥员不仅能够获悉敌我力量分布、运动状态以及武器装备情况,而且能够共享战场气候、地理位置、温湿度等自然环境信息,制定出科学的协同作战决策。

    其次,云计算可增强指挥信息系统的协同决策能力,加速兵种间横向联合,真正促进联合作战高度信息化。云计算中心可动态调控,因此能被广泛部署于军事网络信息系统中。数据信息经过高效处理后快速反馈至各级网络,让战场态势、武器装备与作战人员实时联合,实现部队协同作战。

    此外,云计算为用户解决复杂的协同问题奠定了基础。其分布式特点十分适用于战争环境,即当某个局部单元遭受攻击并最终失效,整个“云”不会因此崩溃。同时,分布式的特点也使得云协同作战系统能够合理调度资源,并通过多点计算、相互印证的方式提高计算可信度。

    构建基于“云”的军事训练体系

    长久以来,军事训练系统互不连通、各自为战,云计算为打破这种局面提供了良好契机。

    借助云计算,构建基于“云”的军兵种多元化军事训练体系将变得切实可行,有利于克服训练系统不兼容、训练标准不统一等“顽疾”。

    有别于以往跨部门、跨兵种军事训练复杂、繁琐的运行模式,各军事单位依托云计算中心搭建全景训练环境,可以跨越地域限制,从而真正实现异构作战单元、要素的有机聚合,为一体化联合训练构筑坚实的支撑平台。同时,云计算还可大幅提高系统和信息资源的利用率,避免系统逐级重复建设、信息资源冗杂等问题,从而有效降低训练成本。

    提升后勤管理与保障效率

    通过云计算技术建立起一个覆盖后勤全范围、贯穿保障全环节的后勤网络信息系统,将助力高效后勤管理的实现。

    后勤系统各个部分综合集成,一方面有效避免了保障需求和保障资源的脱节,另一方面能精准测算作战部队的需求。云计算可防止数据丢失,使信息安全系数得到较大提高,存储于云计算中心的数据信息将得到合理分配,实现硬件负荷均衡、软件应用友好、数据安全可靠的目标。

    值得关注的是,通过统一的云端服务,云计算可促进后勤相关技术标准与体系统一化,最终达到软件通用、系统层级交互和信息实时共享的效果,实现各类后勤保障系统和资源利用最大化。

    后勤管理与保障着眼于资源分配、数据共享和信息处理,让云计算技术为现代作战所用,有利于构建军队信息化建设安全、高效、智能的新模式。

    制 图:郭烨瑾

  • ?

    云计算中的超融合架构是什么?

    蛋蛋

    展开

    首先,选择超融合架构的原因,是传统存储解决不了现在企业数据中心的问题。

    据麦肯锡研究显示,全球的IT数据每年在以40%的速度增加中。数据正在逐步影响商业,企业通过数据的分析来做决策与管理。

    完成快速的分析决策和管理,就需要借助强大的数据中心。下图为传统SAN存储:

    图一、传统SAN存储

    但是,光靠越来越快、核数越来越多的CPU是不够的,瓶颈在于传统存储的硬盘太慢了,CPU大部分计算能力都空闲或者说在等待存储数据传输过来。传统存储容量和性能不具备和“计算能力”匹配的可扩展性,不能满足企业进行数据访问的需求。

    图二、传统SAN存储遭遇I/O瓶颈

    这个问题并不是现在才有。Google很早遇到这个问题。那么Google是如何做的呢?

    作为一个给全世界互联网网民提供数据检索的企业,Google考虑过EMC、IBM,还有当年的SUN存储产品,但是都解决不了它的问题。无论是容量还是性能,这些公司的产品都无法满足Google的规模需求。于是Google只能自己建立一个适合自己的数据搜索的存储结构了。

    Google优秀的计算机科学家们,打破了传统的存储思维,利用服务器的本地硬盘和软件构建了一个容量和性能不断可扩展的分布式文件系统,并在其上构建了其搜索和分析的计算引擎:不用把数据从存储端取出来,然后通过网络传输到计算端,而是将计算直接分发到存储上运行,将“计算”作为传输单元进行传输,这样大量的存储数据都是本地访问,不需要再跨网络上传输了,自然访问很快。于是乎,自然而然地,“计算”和“存储”运行(“融合”)在了一个服务器上,这里我们也看到超融合架构的一个优势就是,本地访问数据,不必跨网络。

    图三、超融合架构示意图

    现代企业的数据量越来越大,应用越来越多,他们开始面临当年Google遇到的问题,CIO要考虑怎么更高效的构建自己的计算和存储的基础架构,来满足应用的数据访问需求。

    虚拟化为更容易的管理应用而生,它解决了CPU、内存资源闲置的问题。但随着虚拟化的大规模应用,虚拟机越来越多,虚拟机在传统存储上运行却越来越慢了。“慢”造成“体验差”,“体验差”成为了限制虚拟化应用的最大的瓶颈。这里面的最重要原因自然是,存储的I/O性能不够,大量的虚拟机和容器同时运行,I/O的混合,使得随机读写急剧增加,传统存储的结构无法承受大量的随机I/O.超融合恰恰是为了解决这个问题,才被带到了虚拟化和容器领域。同时,业内也存在不同的解决I/O问题的方法,我们先尝试分析下其他的解决方法:解决方法一:在存储设备采用SSD做Cache,加速I/O.这在一定的规模下可能有效,但是存储设备的SSD Cache通常比例较小,不足5%的容量比的情况下,自然满足不了用户的热数据的缓存需求。另外,仍然无法随需扩展,所有的数据仍然要从集中的存储控制器流出,这个集中的“收费站”势必堵塞“高速公路”。

    解决方法二: 使用服务器侧SSD做Cache,加速I/O.这种类似的解决方案,通常缺乏高可靠性软件的支撑,服务器端的Cache如果用做写Cache,存在单点失效的问题,需要在多个服务器的Cache设备上,做副本来提供可靠性,可以说这是一个阉割版的超融合架构,将Cache放到服务器端,仍然使用传统存储,当Cache满,需要被写回传统存储的时候,仍然被传统存储的“控制器”限制整体性能。

    我们看到,上面的两种方案都是受限于传统存储的结构,超融合存储则不一样,通过完全去掉传统存储,利用分布式文件系统来提供“不可限量”的性能和容量,在这个基础上,再通过Cache进行加速,甚至全部使用闪存(全闪存产品)来构建都是自然而然,不被限制了。

    因此,超融合架构不是为了让单台服务器的存储飞快,而是为了让每增加一台服务器,存储的性能就有线性的提升,这样的存储结构才不限制企业业务的运行,并保证业务的可靠性。

    图四、超融合将存储池化,性能线性提升

    正因为这种扩展性很好的共享存储,使得整个Google的业务得以顺畅地运转。SMARTX在做的就是这样的更好的、更稳定的基础服务。

    另外,超融合近几年得以快速发展的原因,这要归功于硬件设备。CPU核数越来越多,服务器的内存容量越来越大,SSD设备和网络互联网设备越来越快,这意味着:a. 服务器的资源除了运行业务以外,仍然可以预留出来足够的CPU,内存资源来运行存储软件。将存储软件和业务运行到一块,既减少了设备量,减少了电力使用,本地读取也提高了I/O的存取效率。这在几年前是做不到的,因为CPU和内存太有限了。

    b. 网络互联越来越快,无论是万兆,40Gb以太网,还是Infiniband(无限宽带技术),使得我们的软件能够将独立的存储设备进行互连,通过分布式文件系统形成共享的存储池,供上层应用使用。

    c. 如果说SSD等硬件厂商让单个存储设备跑的更快,我们的软件的意义在于,让超大量的这些存储设备,一起工作,提供无止境的整体性能和容量。

  • ?

    这五种技术构成了云计算的核心技术体系,最后一种最重要!

    房念桃

    展开

    云计算作为一种基于互联网的计算方式,是一种技术的综合应用构成方式,必然要运用众多相关的技术,下面这五种技术构成了云计算的核心技术体系,在云计算中发挥着非常重要的作用。

    一.虚拟化技术

    作为一种资源管理技术,虚拟化技术指的是将实体资源以抽象的形式展现出来并得以应用的技术。

    二.数据存储技术

    所谓“数据存储技术”即数据以特定的格式在计算机内部或外部存储介质上被记录下来过程中所运用的技术。

    在云计算运行体系中,采用的是分布式存储的数据存储技术,这是由云计算的服务应用决定的。

    三.平台管理技术

    在这里,平台管理技术是针对云计算而言的,是对云计算的运行、存储和服务平台进行有效管理的技术。

    在云计算系统中,这一技术的完善和高效应用是平台管理过程中的巨大挑战。

    四.数据管理技术

    云计算是一个大型的有关于资源和服务提供的计算系统,这决定了其在系统运行过程中有着非常高效的数据管理。

    五.编程模型

    在云计算体系中,可以说,编程模型的应用是其得以构建和完善的前提条件。

    在云计算体系构建中选用得当且严格的编程模型,将极大地规范和简化云计算的工作环境。

    云计算的五大核心技术了解了么?欢迎持续关注!

  • ?

    云计算概念、模型和关键技术

    牟寄灵

    展开

    云计算指IP技术架构下的网络计算,其本质是ICT业务的一种新的应用方式。绝大数企业和运营商的数据中心的改造将是云计算未来发展的主要任务:使云计算技术更为普遍和更为广泛地为绝大部分企业、机构、团体和运营商服务。云计算技术将不仅提供传统意义的IT资源和应用服务,而且将支持包括IT、通信、电视、移动和物联等一切互联网技术融合后的资源使用和业务应用。云计算发展的关键技术主要有统一交换构架、统一虚拟化和统一计算系统,云计算发展的战略推手将是组建开放产业联盟和推动开放技术标准。

      随着有关云计算概念、术语和技术的不断涌现和大量报道,人们对在企业中采用和实施云计算技术的热情大增。现在人们对云计算可能带来的好处已有所了解,但同时也应该看到,由于云计算概念和技术比较新颖,含义比较宽泛,再加上市场上一些人将云计算放大成无所不包、无所不能和无所不在的万能技术,因此对云计算的描述和推销多少出现了一些浮躁和炒作的嫌疑。云计算有点像天上的云的感觉:飘忽不定,虚无缥缈。本文认为,脱离实际过分夸大或缺乏全面分析地炒做云计算不仅可能带来误解,也会使得云计算的市场实践盲目推进,对于云计算产业在中国的成长非常不利。事实上在中国产业界有关云计算的介绍文章较多,对云计算发展趋势的理性分析文章较少。所以,有必要对云计算的由来和概念进行了较为全面的梳理和定义,并在此基础上,分析云计算的早期技术模式和业务形态。在总结云计算技术为IT产业带来好处的同时,理性分析其技术的不足及局限,从而找出云计算未来发展的突破方向十分必要。

      值得一提的是,目前中国云计算的讨论多数集中在早期云计算的概念、技术和模式。早期的云计算是一种动态的、易扩展的、通过互联网提供虚拟化IT资源和应用的一种计算模式。用户不需要了解云技术内部的细节,也不必具有云内部的专业知识,更不需要直接参与、投入、建设、维护和控制就能直接按需使用并按用量付费。早期的云计算技术本质特征是采用虚拟技术使用户共享一个共同的物理资源池,但应看到虚拟技术不是云计算技术的全部。

      早期云计算的IT资源包括服务器、存储、宽带、网络及安全等资源组件,而数据中心是云计算资源和能力的主要支持和供应核心。早期云计算实践结合了虚拟化技术、网格计算技术、分布式计算技术,不但体现了新兴技术的组合和创新,更代表着业务和商业模式的创新和开拓。早期云计算的实践不仅影响了IT技术和架构未来的走向,还影响着商业模式、应用开发、业务部署、运行交付的一系列IT应用和实现。

      尽管人们所普遍熟悉和广为介绍的这些早期的云计算概念、技术和模式已经商用,并取得一些瞩目的成功,但是必须看到,早期的云计算理念和技术还有极大的局限性。本文分析了早期的云计算理念的由来、基础设施、云业务适用的模式、商业模型以及相关技术和应用场景,同时也指出了其局限性及造成局限性的技术根源,并从产业发展的视野来分析云计算下一个阶段的重点。本文认为绝大数企业和运营商的数据中心的改造将是云计算未来发展的主要任务:使云计算技术更为普遍和更为广泛地为绝大部分企业、机构、团体和运营商服务[1-4]。

      早期的云计算概念、技术和模式将得以全面拓展,云计算将不仅提供传统意义的IT资源和应用服务,而且将支持包括IT、通信、电视、移动和物联等一切互联网技术融合后的资源和应用。毫无疑问,云计算作为一个新技术和新的运营模式正影响着IT产业的未来走向。

    1 云计算的概念

      计算机的应用模式大体经历了以大型机为主体的集中式架构(数据中心1.0)、以PC机为主体的客户/服务器分布式计算架构(数据中心2.0)、以虚拟化技术为核心面向服务的体系结构(SOA)及基于Web2.0应用特征的新型架构(数据中心3.0)。计算机的应用模式、技术架构及实现特征的演变是云计算发展的时代背景。

      云计算由英文Cloud Computing直接翻译而来。这样一个通俗的技术术语,却难以找到业界统一的定义。随着云计算术语的流行和广泛使用,有必要对云计算的由来和其核心概念简略进行介绍,以方便理性分析和讨论。

      云计算中的“计算”是一个简单而明确的概念。“计算”系指计算应用,在产业和市场中,可以指一切IT应用。随着网络技术的融合,一切信息、通信和视频应用也都整合在统一的平台之上。由此推而广之,云计算中的“计算”可以泛指一切ICT的融合应用。所以,云计算术语的关键特征并不在于“计算”,而在于“云”。

      应该说,云概念这个术语的诞生和使用纯属偶然。在互联网技术发展的早期阶段,技术人员都习惯性地将互联网画成一朵“云”来代表,因为这样一来,人们可以简化网络内部的技术细节和复杂机制来方便讨论新技术。随着互联网技术的飞速发展,互联网应用的全面普及和广泛深入,互联网技术使ICT应用架构发生了深刻和根本的改变,于是采用云计算来代表和体现新型的网络计算特征和技术趋势就变得非常自然。因此,云计算这一术语很容易就在业界流行起来。

    互联网技术成为ICT应用的基础,层出不穷的互联网应用需求也要求ICT理念进行重新思考和设计。这种改变不仅带来ICT应用平台的更新换代,而且也带来ICT应用实现和商用模式的创新。这种变化的影响是如此巨大而鲜明,以至于人们可以从多个角度和视角来描述这些新的特征和现象。尽管云计算的概念和定义很多,但究其本质还是为了满足ICT应用和业务的网络实现。为了理论和讨论的严谨性,本文给云计算更为明确而严格的定义:云计算是在整合的架构之下,基于IP网络的虚拟化资源平台,提供规模化ICT应用的实现方式。

      云计算的实质是网络下的应用,是由IP和IT技术共同构建的。从发展的角度来看,“云”的技术和目标是一个逐步演化的过程。比如,Web技术出现时,就具备了云计算的应用特征有了统一界面的雏形。随着服务器应用平台上的虚拟化技术的成熟和Web统一界面的推出,虚拟化和Web走向结合,使得云计算可以在一个整合的架构上统一实现。

    2 云计算的实现模型

      如果说“云”的本质就是业务实现的方式,那么云计算有哪些新的业务模型呢?

      比较熟悉的早期云计算实践来之于国际上以亚马逊、谷歌(Google)和Saleforces为代表的公司,并且都提供了具有显著特征,但又代表着不同模式的成功云业务。

      基云系指将IT的基础设施作为业务平台,直接按资源占用的时长和多少,通过公共互联网进行业务实现的“云”。基云的用户可以是个人,也可以是企业、集体和行政单位。基云在英文里是IaaS,也称基础设施即服务。亚马逊(Amazon)是业界通过其弹性计算云(EC2)最早实施基云的运营商。基云的IT业务将计算、存储、网络、安全等原始IT资源以出租形式租给用户。用户可以通过操作系统和应用软件(如数据库和Web服务软件)使用租来的IT资源。

      平云系指将应用开发环境作为业务平台,将应用开发的接口和工具提供给用户用于创造新的应用,并利用互联网和提供商来进行业务实现的“云”。平云可以利用其他基云平台,也可以用平云运营商自己的基云平台。平云在英文里是PaaS,也称平台即服务。谷歌(Google)通过其AppEngine软件环境向应用开发者提供平云业务,应用开发者必须采用AppEngine应用接口来开发应用。

      软云系指基于基云或平云开发的软件。与传统的套装软件不同,软云是通过互联网的应用来进行业务的实现。软云业务可以利用其他的基云和平云平台,也可以利用软云运营商自己的基云和平云环境。软云在英文里是SaaS,也称软件即服务。Saleforces是最著名的软云运营商之一,提供企业资源规划(ERP)应用服务。软云为用户省去了套装软件安装、维护、升级和管理造成的麻烦,因为应用程序完全由软云运营商集中管理。

      云计算按照层次可将业务模式划分为3层,最顶层是软云,中间层是平云,底层是基云。在基云之下是构建云计算的基础技术。

      基于云计算的实践与运营案例,可以总结出云计算的基本特征:

    (1)动态的高可扩展性

      云技术使用户可以随时随地根据应用的需求动态地增减IT资源。由于应用运行在虚拟平台上,没有事先预订的固定资源被锁定,所以云业务量的规模可以动态伸缩,以满足特定时期、特定应用及用户规模变化的需要。

    (2)虚拟化的超大规模

      云业务的需求和使用与具体的物理资源无关,IT应用和业务运行在虚拟平台之上。云计算支持用户在任何有互联网的地方、使用任何上网终端获取应用服务。用户所请求的资源来自于规模巨大的云平台。

    (3)高可用性

      云平台使用数据多副本拷贝容错、计算节点同构可互换技术来保障服务的高可用性。任何单点物理故障发生,应用都会在用户完全不知情的情况下,转移到其他物理资源上继续运行,使用云计算比使用其他计算手段的可用性更高。

  • ?

    云计算让生活更方便

    解沛芹

    展开

    图:如今“云计算”与生活息息相关

    “云计算”(Cloud Computing)是当前信息技术领域的热门话题,它能为云服务用户提供“触手可及”的IT服务。云计算以其方便、经济、高可扩展性等优势吸引企业的目光,将其免於IT基础设施建设与维护的沉重压力,更专注於自身核心业务发展。日常生活中,“云盘”令我们可以大量存储文件,“云办公”可以在不同设备上浏览编辑文件,提高工作效率。如今云计算与生活息息相关,本文以深入浅出的方式,带领读者一睹云计算的风采。

    我们为什么需要云计算?社交网络、大数据、物联网、人工智能、区块链等一大批应用迅速发展,这些新兴应用具有大量数据存储和高性能计算需求,这给软硬件的建设成本和维护成本带来不小的压力,许多中小企业无以为继。那么采用云计算可以解决上述问题吗?

    降低成本 按需分配

    举一个例子,旧时乡村没有自来水管道,为了解决用水问题,每家每户会挖一口井。随着人口增长,挖井成本增加,收益(水的产量)在减少——事实上家家都有井是一种浪费,而且需要自己管理,於是村民计劃大家一起建一个自来水厂,各家装上自来水管以解决大家用水需求。这是一个典型的云计算的例子,大家把资源统一管理,按需使用。简单地说,水厂就是“云”,水就是“计算”。由自来水厂供水这种方式就是“云计算”。云计算最大的好处是降低成本并按需分配,由专业人员统一管理,提供更安全的使用环境。

    云计算的特点

    以服务为中心将资源虚拟化是云计算重要的表现形式,它屏蔽底层细节和具体的技术实现,使数据中心管理、大规模数据处理、应用程序部署等技术问题对用户透明,最终实现即点即用的效果。云计算的特点可归纳如下:

    弹性服务。资源配比可以根据用户的业务需求做到按需分配,动态调整,避免了因为服务器性能过载导致服务质量下降或冗馀而导致资源浪费。

    资源池化。利用虚拟化技术,把物理资源整合成一个巨大的资源池,资源以共享资源池的方式统一管理。资源的放置、管理与分配策略对用户透明。

    按需服务。将数据存储,基础设施等资源以服务的形式提供给用户,用户可以个性化的选择,云服务可以根据用户需求,自动分配资源。

    精确计费。由於服务的可定制化,那么根据资源的使用情况对服务计费,可以更精确的权衡用户的实际资源使用情况,从而降低用户的计算使用成本。

    多端接入。用户可以随时随地利用各种终端设备(如手机和电脑)通过互联网访问云计算服务,进行数据同步,实现一云多屏,一云多端。

    云计算服务模式

    以现时最常用、较权威的NIST(National Institute of Standards and Technology,美国国家标準技术研究院)定义,根据用户体验、从不同的层级划分,云计算主要分三种服务模式:

    IaaS:Infrastructure-as-a-Service(基础设施即服务),IPs(Infrastructure Providers,基础设施提供商)管理了大量的计算资源,例如存储和计算能力。IaaS公司负责提供场外服务器,存储和网络硬件等基础设施资源。

    PaaS:Platform-as-a-Service(平台即服务),PaaS是在云基础设施上进一步抽象,为用户提供系统运行的软件平台服务,例如开发平台、商业部署和应用平台等。PaaS获取硬件资源的方式对於用户来说是透明的,用户不必关心底层的硬件配置和硬件开销,由平台自动分配,用户只需基於平台开发和发布自己的应用即可。

    SaaS:Software-as-a-Service(软件即服务),SaaS是基於云计算基础平台所开发的应用程式。企业可以通过购买软件提供商的SaaS层应用服务解决企业信息化问题,最常见的就是基於云的OA系统。对於普通用户来讲,SaaS应用服务令用户无须安装客户端或者App,直接通过网络获取服务,比如基於web端的H5应用,基於微信的小程序等。

    云计算的目标是在降低成本的同时,还能提供大规模,高可靠,高可用,可伸缩的个性化服务。为了实现这个目标,背後需要数据中心管理、虚拟化、海量数据处理、资源管理与调度、安全与隐私保护等若干关键技术加以支持。

    云计算技术分类  

    分布式技术

    分布式系统利用网络,把成千上万台电脑连接起来,组成一台虚拟的超级计算机,这样的超级计算机不仅强大而且非常可靠,如果只是有某些节点坏了并不会影响整个系统的运行。分布式技术其实已经发展了很多年了,上世纪80年代末,Intel公司利用局域网将大量空閒的工作站联合起来进行芯片的计算数据集设计。随着互联网的发展和普及,分布式计算的研究在90年代之後达到高潮。

    虚拟化技术

    虚拟化技术是云计算的核心技术,虚拟化是表示计算机资源的抽象方法,可以将物理资源实体进行虚拟化,以实现对物理资源的整合、池化和共享,它在本质上就是将物理硬件和逻辑层进行一个映射。使用云计算时,用户总是向“云”发出服务请求和资源请求,而不是具体的某台机器。对用户来说,具体的硬件资源就是“只在此山中,云深不知处。”应用在“云”中某处运行,但实际上用户无须了解、也不用担心应用运行的具体位置。

    数据中心构建技术

    数据中心是云计算的核心部队,如何保持数据中心的强大和稳定性是保证上层服务可靠的基础问题。主要有两种重要的机制,一种是分布式文件系统,以HDFS为代表,另一个是分布式运算框架,以Mapreduce为代表。HDFS是Hadoop团队开发的开源系统,大部分IT厂商,包括百度云、英特尔“云”,Cloudera採用的都是HDFS的数据存储技术。MapReduce最早是由Google研究提出的一种面向大规模数据处理的并行计算模型和方法。

    云计算安全技术

    安全是亙古不变的话题。云计算具有用户数据集中存在云端,资源虚拟化、多用户跨域共享等特点,这些特点带来新的安全挑战。传统安全技术,如加密机制、安全认证机制、访问控制策略通过集成创新,可以为隐私安全提供一定支撑,但不能完全解决云计算的隐私安全问题。

    目前对於云端的安全技术可以从不同的层次进行描述。在云的基础设施层,云用户身份管理服务、云访问控制服务、云审计服务、云密码服务等安全措施。在云的应用层,主要有DDOS攻击防护云服务,Botnet检测与监控云服务,云网页过滤与杀毒应用,内容安全云服务。但实际上,云计算安全远远不只是技术问题,它还涉及标準化、监管模式、法律法规等诸多方面。因此仅从技术角度探索云计算的安全问题远远不够,必须联合网络信息安全界、企业界以及政府相关部门,共同解决这个问题。

    改变信息消费模式

    以云计算为代表的技术革命对现有的信息产业及应用模式产生巨大影响。主要体现在互联网领域、工业领域和国家政府领域。信息消费模式可以这样描述,人们的信息消费模式大致经历了以硬件为中心的PC时代,到以软件为中心的移动互联网时代,现在我们正在进入以服务为中心的云计算时代。

    在PC时代和智能手机时代,我们都习惯下载客户端或者App,进而学习如何使用这些软件,不仅需要佔用存储资源,更烦的是还需要不断的更新。云计算时代,以服务为中心,个人和企业用户将不再学习客户端软件的操作,只需要根据简洁的界面和窗口,访问站点就可获取服务。微信上的小程序,实现了“即点即用,用完即走”,这是云计算即服务的成功运用。除了面向个人提供基於云的服务,比如说云存储,云办公等。许多新的创业公司也将其业务基於阿里云,腾讯云这样的大型公有云上,以降低企业成本。目前互联网的所有应用可以说都是基於云的,从智慧物流,到大数据金融,在打开手机的瞬间,就已经在使用手机云进行数据云备份。

    此外,云计算的特殊优势也吸引了各国政府的关注。例如美国各州政府,交通部和商务部基於亚马逊的AWS GovCloud搭建云平台,AWS目前为全球超过2300个政府部门提供云服务;中国政府也积极加入云政务建设,工信部出台《云计算发展三年行动计划(2017-2019年)》鼓励利用云计算技术优化电子政务系统。

    本文对云计算技术及其应用做了简要介绍,云计算是当前发展十分迅速的新兴产业,具有广阔的发展前景,但同时其所面临的安全技术挑战也前所未有,任何技术的发展都是一个长期曲折的过程,我们需要足够的投入和支持。云计算已经在生活的各方面影响我们,但距离“万物智联”的时代还有一段路要走,云计算作为这辆列车的引擎,将和二十世纪电网一样彻底改变现代人生活方式,让我们一起拭目以待。

  • ?

    云计算的发展变化及对策

    姜听双

    展开

    云计算是当前一个热门的技术名词,很多专家认为,云计算会改变互联网的技术基础,甚至会影响整个产业的格局。正因为如此,很多大型企业都在研究云计算技术和基于云计算的服务,亚马逊、谷歌、微软、戴尔、IBM等IT 国际巨头以及百度、阿里、著云台等国内业界都在其中。几年之内,云计算已从新兴技术发展成为当今的热点技术。从2003 年Google 公开发布的核心文件到2006 年Amazon EC2(亚马逊弹性计算云)的商业化应用,再到美国电信巨头AT&T(美国电话电报公司)推出的Synaptic Hosting(动态托管)服务,云计算从节约成本的工具到盈利的推动器,从ISP(网络服务提供商)到电信企业,已然成功地从内置的IT 系统演变成公共的服务。

    云计算是一个产生于IT 领域的概念,IT(Information Technology),即信息技术,包括感测技术、通信技术、计算机技术和控制技术等。在技术发展的历程中,类似于电子商务,云计算也是一个比较模糊的技术术语。这其中一个原因是云计算可以在很多应用程序场景中运用,另外就是大量公司的商业炒作推动了这种趋势。Gartner 公司是全球最权威的技术咨询机构,它的技术成熟曲线就是根据技术发展周期理论来分析新技术的发展周期曲线(从1995 年开始每年均有报告),以便帮助人们判断某种新技术是否采用。这个曲线将技术成熟的过程划分为5个阶段:

    一是萌芽期(Technology Trigger)又称感知期,人们对新技术产品和概念开始感知,并且表现出兴趣;

    二是过热期(Peak of Inflated Expectations),人们一拥而上,纷纷采用这种新技术,讨论这种新技术。典型成功的案例往往会把人们的这种热情加上把催化剂;

    三是低谷期(Trough of Disillusionment),又称幻想破灭期。过度的预期,严峻的现实,往往会把人们心理的一把火浇灭;

    四是复苏期(Slope of Enlightenment),又称恢复期。人们开始反思问题,并从实际出发考虑技术的价值。相比之前冷静不少;

    五是成熟期(Plateau ofProductivity),又称高原期。该技术已经成为一种平常。从著云台2011 年的技术成熟度报告,我们可以看到云计算已经绕过了应用上的瓶颈,开始真正“落地”。云计算如一阵飓风席卷整个IT 界,伴之而来的优势是非常明显的。2012 年更是云计算快速发展的一年,各种云技术、云方案将陆续出台,无论是早期亚马逊的Cloud Drive,还是2011 年苹果公司推出的iCloud,抑或是2012 年4 月微软将要推出的System Center 系统等,都把目标盯紧了云计算这块大“肥肉”。

    产业发展对策

    一、充分利用云计算发展机遇,推进中国经济转型升级

    二、制定积极的产业发展政策与法规,构建适度宽松的云计算发展环境

    三、着力试点示范,由点到面推进云计算产业全国统筹规划布局

    四、提高政府管理精细化程度,划分云安全细分领域,提供分级区别管理措施

    五、突出资源整合能力,主抓有国际竞争力的标杆企业,形成行业应用示范

    六、积极扩大与他国政府和相关机构合作,推进世界级的中国云计算实践

  • ?

    老司机教你基于云计算构建高可用应用!

    沈寒天

    展开

    业务高可用是我们每个项目的需求,一个经常故障的项目,会让我们觉得不靠谱而选择放弃,从而导致项目的失败。今天,我们来聊一聊,如何让你自己的业务能够更加稳固的运行!

    本次我们从四个不同的角度,来分析,如何让我们的应用更加稳固,平稳运行。

    一、 程序架构

    优秀的代码

    优秀的代码非常重要,即使我们拥有最好的硬件资源和架构,如果我们没有一套健壮的代码,其他资源再好都没有用,所以代码在设计和编写时,应当注意代码的健壮程度。优秀的代码不止开发起来方便,同时维护成本也较低,对于后续的优化来说,健壮的代码会让优化人员更加容易的找到问题的关键。

    合理的架构

    一个大型的、负载的单体应用可能会让你的整个开发进度缓慢、部署困难。所以,为了解决这种问题,不妨在开发初期便将应用程序设计为微服务架构的程序,虽然可能会提升程序之间的沟通难度,但却为你的应用提供了后续自由伸缩的可能,帮你解决后期发展起来的伸缩难题。

    对于已经上线的应用,整体微服务化可能是非常困难的,毕竟你不可能让整个团队重新开发一套系统出来,这样的情况下,不妨把核心的、请求量较高的业务单独拆分出来,作为一个服务,让每一个服务都变成专注与单一的责任和功能的小的区块,更好的对外提供服务。

    二、 资源架构

    在云计算的时代,云计算大行其道,为各行各业提供计算能力的支持,合理的利用云计算所提供的能力,就能帮助我们更加轻松的去做好应用的高可用。

    一般来说,我们的每一个应用大体上都可以分为四层:入口层、业务层、缓存层、数据库层。当我们做好每一层的优化,那么我们的应用本身对于可能出现的问题进行避免。

    入口层

    入口层通常的情况下指的是Nginx、Apache等层面的东西,来负责应用的入口。一般情况下,我们会将应用程序定位在某一个IP,那么如果我们这个IP宕机了,就会导致服务的不可用,所以,在入口层我们不妨使用负载均衡,通过对压力的评估和成本的预估以及技术实现的难度,我们可以选择自建负载均衡或者使用云服务商提供的负载均衡器,在这样的情况下,当我们入口层后面的业务出现了单点故障时,可以自动借助于负载均衡的健康检查和请求分发的机制,把请求转发分配到可用的节点,保证服务的正常运转。

    业务层

    业务层通常是由PHP、Java、Python、Go等写的逻辑代码构成的,需要依赖于后台数据库及一些缓存层面的东西。如何实现业务层的高可用呢?最核心的就是,业务层不要有状态,将状态分散到缓存层和数据库。目前大家通常喜欢将以下几种数据放入业务层。

    第一个是session,即用户登录相关的数据,但好的做法是将session放在数据库里,或者一个比较稳定的缓存系统中。

    第二个是缓存,在访问数据库时,如果一个查询很慢,就希望将这些结果暂时放到进程里,下次再做查询时就不用再访问数据库了。

    一个简单的原则就是业务层不要有状态。在业务层没有状态时,一台业务层服务器当掉了之后,Nginx/Apache会自动将所有的请求打到另外一台业务层的服务器上。由于没有状态,两台服务器没有任何差异,所以用户完全感受不到。如果把session放在业务层里面的话,那么面临的问题是,这个用户以前是登录在一台机器上的,这个进程死掉后,用户就会被登出了。

    缓存层

    非常简单的架构里是没有缓存这个概念的。但在访问量上来之后,MySQL之类的数据库扛不住了,比如在SATA盘里跑MySQL,QPS到达200、300甚至500时,MySQL的性能会大幅下降,这时就可以考虑用缓存层来挡住绝大部分服务请求,提升系统整体的容量。

    缓存层如果希望实现高可用的架构,最好的方案就是将缓存层分的细一些,采用分布式的缓存或者是云计算服务商提供的云缓存能力,来减轻数据库层的压力。

    数据库层

    在数据库层面实现高可用,通常是在软件层面来做。例如,MySQL有主从模式(Master-Slave),还有主主模式(Master-Master)都能满足需求。MongoDB也有ReplicaSet的概念,基本都能满足大家的需求。

    三、 云计算资源利用

    上述的内容,主要还是和开发层面有关的,接下来我们来聊聊和运维强相关的内容

    业务不单点

    无论我们怎么对服务器的能力进行优化,终归是有个上限的,而且,单点服务器也更容易出现安全的故障问题。即便是云计算,也无法保证业务的永久可运行,即便是国内TOP1的阿里云,也出现过机房光缆被挖断过。所以,不要指望云计算服务商为你提供绝对可用的服务,更何况,在他们自己的服务等级协议里也不是100%。

    所以,对于我们自己来说,要让自己的应用尽可能的不要单机运行,即使你的应用是单体服务,也可以让他跑在同一个节点的不同可用区(节点故障很少见)、不同节点的多个可用区(异地多活)、甚至,为了保证业务的运行,不要相信一家服务商,你可以同时采购多家的云计算资源(如果预算足够),就算有百分之一的可能,这个服务商挂掉了,你还可以切换到别的服务商去提供服务。

    合理利用云资源

    除了云计算最基础的计算能力,我们往往会购买一些附加的业务,比如云数据库、云缓存、云存储等等。

    通过云存储,我们可以将非结构化的附件数据,存储到云服务商所提供的对象存储服务中,减少本地的文件存储压力,同时为业务服务器减少IO读写压力,更加专注于运算。

    通过云缓存,我们可以在使用同一个可用区的多台主机时,将状态进行同步。帮助我们的应用同步状态,以免用户登录状态的丢失。

    通过云数据库,我们可以借助云服务厂商所提供的能力,来拓展我们数据库的多备份、主从分离等等。让我们的业务数据查询请求进行分流,避免单一数据库的读写压力过大而导致业务的崩溃。

    利用云计算供应商的提供能力,能够为你自己维护减轻压力,把精力放在业务本身。

    注意备份保安全

    云服务商不是神,我们自己部署服务器会出现的问题,云服务商同样也会出现,只是他们可能比我们的优势在于能够更好的去帮我们保存数据,避免数据的丢失。同时借助数异地双活、异地多活、数据三备份等技术,保证我们数据的安全和可靠。我们在使用云服务商为我们提供的种种安全措施的同时,看清楚人家的能力,同时要保证自己的数据的定期备份,以免出现问题。

    四、 关注服务商提供的公告信息

    维护和故障是不可避免的,再大的云计算服务供应商,都有可能遇见这样或那样的故障文档,只要我们关注服务商所提供的公告信息,尽可能的去提前准备,那么就可以更换的提供服务。

    这一方面做的比较好的是AWS和Azure,在每次出现故障后,他们都会提出故障公告,诚恳的说明故障的原因和解决方案,让用户明白故障的问题所在。这一方面,国内阿里云在完善故障通报机制,可以看到同一个故障出来阿里云都是通报最快,算是比较靠谱,其他云厂商,基本上官网不会公开,则大多是能瞒则瞒,能不报就不报,但是问题总归是问题,没有说明反而会让用户更加的疑惑,其他云厂商需要向AWS、Azure以及阿里云学习。

    在维护方面,AWS、Azure就显得比较坑爹了,他们过往的维护周期比较长,如Xen底层的一个漏洞,无法采用热升级,一般就需要分批停机维护胡,用户如果没有准备,就需要关站一天,不过好在往往会提前一周发出维护公告,声明维护的节点,让用户提前做好准备。这一方面,国内遇到的还比较少,印象中如阿里云没有大规模停机维护的事件,一方面是AWS在前可作前车之鉴,另外也有技术上的因素。

    不过,凡事无绝对。毕竟,云计算也是由一个个机房组成的,不是真正飘在天空中,飘在云上的服务器,我们在使用传统独立服务器可能会遇见的掉电、故障等问题,也会出现在云计算的主机上,只是相对来说,要少了很多,更加的安全。

    所以,不管是AWS、Azure、还是阿里云或国内其他厂商,都在鼓励用户使用多个节点和可用区来部署业务,单点情况下出现的故障是不可避免的,当你使用多个节点时,出现故障的可能就大大的减小了。比如你可以在同一个可用区使用两台主机来做主备,再另外一个可用区做备份,这种情况下,即使一个可用区出现了问题,整体的服务也不会受影响。

     

    最后,我们来总结下如何构建高可用的应用:

    1.        健壮的代码为高可用保驾护航

    2.        合理的架构为高并发情况下的伸缩提供可能

    3.        入口层的请求分发

    4.        业务层尽可能不存在状态

    5.        缓存层使用分布式缓存缓解压力

    6.        数据库层使用主备模式进行备份

    7.        业务不单点运行

    8.        合理利用云计算资源

    9.        注意数据的安全与备份

    10.     关注云计算厂商的维护公告

    最后,祝大家的业务都能正常的运行!

云计算构建

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP