中企动力 > 商学院 > 云计算核心技术
  • ?

    云计算是什么意思?云计算刚起步工资多少

    Odetta

    展开

    随着国家政策的进一步侧重,2018年我国云计算产业获得迅猛发展,不仅阿里云、腾讯云、金山云三国鼎立烽火连天,华为云、京东云等其他一众大小云平台如雨后春笋,云计算人才的高薪前景可期。

    IBM的创立者托马斯·沃森曾表示,全世界只需要5台电脑就足够了。比尔·盖茨则在一次演讲中称,个人用户的内存只需640K足矣。李开复打了一个很形象的比喻:钱庄。最早人们只是把钱放在枕头底下,后来有了钱庄,很安全,不过兑现起来比较麻烦。现在发展到银行可以到任何一个网点取钱,甚至通过ATM,或者国外的渠道。就像用电不需要家家装备发电机,直接从电力公司购买一样。云计算就是这样一种变革——由谷歌、IBM这样的专业网络公司来搭建计算机存储、运算中心,用户通过一根网线借助浏览器就可以很方便的访问,把“云”做为资料存储以及应用服务的中心。

    目前各大招聘网站对于云计算人才的岗位职责要求是:负责云计算平台相关软件及系统的开发,包括基础架构系统设计、功能设计、技术实施和运营;负责搭建云计算服务后台管理系统设计和开发;负责为运维人员提供整个平台的长期运维支持和存储生产环境架构优化;整合、研发以及测试评估海量数据的处理和管理,涉及快速流式计算、高级数据挖掘,智能数据展现、科学智能评估等技术。

    “我有几个朋友参加过千锋培训班,反响都挺好,课程设置合理,所学内容在企业中都能用到。老师也非常棒,授课风格多样,态度认真负责,总是很耐心的给我们解答问题。课程内容覆盖亿级网站架构技术、自动化运维技术、云计算核心技术、Python运维开发技术以及Web安全渗透技术等企业核心技术点。除了有教学经验和实战经验丰富的大牛讲师面授教学外,还会邀请新浪、链家、小米、智联等名企技术官定期授课,以实战项目驱动教学过程和内容,因此毕业学员入职即可上手工作,当然能够快人一步拿offer。

    云计算刚起步工资多少这个事情,其实还是有所区别的:所谓一分耕耘一分收获,能力越强收入越高是毋庸置疑的事实。

  • ?

    云计算的前世今生和未来

    以珊

    展开

    如果要我来划云计算的里程碑,我会划出两个点。

    第一个点是Xen等虚拟化技术的出现,第二个点是Docker等容器兴起。

    在虚拟化技术出现之前,我们都在使用物理机。记得08年创业时,我一个人扛着一台1U托管进了顺义电信,然后就每隔一段时间给机房打电话,请师傅帮忙按电源重启服务器。

    当有了虚拟化以后,其实只发生了一个小改变:一台物理机可以被分割成许多台虚拟机了。

    这件事情有什么意义呢?

    至少有两个方面的意义。

    首先是利用率。

    每台物理机只能有一个操作系统,而在一个操作系统里边,各种业务可能互相干扰。所以我们一般会把机器按业务分组,来创建集群。对于大型项目来说,集群的利用率是不错的。但是对于小项目,这种方式利用率就很差了,因为一个业务节点最少需要一台独立的机器。

    有了虚拟机,就不一样了。一台机器可以虚拟化为很多个操作系统,分配给很多不同业务和不同的人。这样利用率就上来。

    然后是可控性。

    在虚拟机之前,有很多控制是物理的,就像我前边提到的,重启是需要按电源的。但是虚拟化以后,重启就变成软件可控的东西了(当然,前提是挂掉的不是宿主机)。

    可以用软件或者API接口随时启动、关闭虚拟机说起来是件小事,但这后来却演变成了可以自动调度的弹性云服务—— 当你的应用压力大时,云平台可以自动帮你创建新的虚拟机;当应用压力小时,它可以帮你关几台,省电省钱。自动化的能量就是这么大。

    以这部分服务为基础,云计算的最基础的一个层次,IaaS(基础设施即服务)出现了。之后虚拟化技术本身开始日益成熟、很多服务器开始在硬件级别支持虚拟化;再后来,以操作系统为粒度的隔离方案不断加强,保证在同一台物理机上的虚拟机用户不会因为写磁盘太猛、用网络过度等情况影响别人。

    隔离技术可以说是云计算的核心技术点之一,正是隔离技术不断的进步,使云的隔离粒度一层层加深,从而推动了云计算产业的一级级迭代更新。

    接下来,这帮用惯了虚拟机的程序员们开始不满足了。为什么我写20个PHP项目,需要我装20个操作系统?为什么不能这20个操作系统共享一个Web运行环境,而20个PHP项目之间彼此隔离就好了呢。这样我就只需要上传PHP代码就好了。

    于是我们对云计算的隔离粒度提出了更高的要求:隔离能不能从操作系统层次进化到应用层次。

    PaaS(平台即服务)出现了。

    由于应用本身对于平台有依赖,所以我们一般会选择将通用功能做成平台共享的,而将应用代码和数据隔离。

    为了实现这个隔离,我们需要制造沙箱。沙箱必须足够安全,除了能合理的分配各个应用消耗的资源外,它还要保证两个用户之间绝对不能非授权访问到彼此的数据。

    不同语言用到的沙箱技术不同,所以这个时代的PaaS多是可语言相关的。

    比如GAE支持Java和Python、HeroKu支持Ruby。用得最多的PHP语言却没有可用的PaaS,所以新浪做了国内,大概也是全球第一个支持PHP的大规模公有PaaS平台,那就是SinaAppEngine。

    我喜欢把这些PaaS称为专用PaaS。

    专用PaaS有突出的优点,也有蛮致命的弱点。

    优点是它可以非常有效的降低资源消耗,并在开发者遵守约定的前提下极大的提升开发效率。由于PaaS平台的管理者可以统一管理绝大部分资源,所以它可以实现去运维化。

    去运维化是PaaS和IaaS最大的区别,这个区别让PaaS平台有了和IaaS平台PK的资本。

    以我们公司为例,如果将JobDeer放置在IaaS上,我们就需要维护完整的操作系统。

    日志是否超过4个G了,Apache和Nginx的升级布丁是否打好了,SSH是否被人恶意扫描了……

    种种烦心事都随之而来,最后我们就只能去雇佣一个系统管理员来做这一切。对于一个创业公司,这是至少每年10万的投入。

    于是我们选择了将JobDeer放置在SAE上,从6月到现在,我们的花费不过几万云豆——等于几百块钱,这里边没有因为运维花一分钱。

    那么为什么这么好的模式,没有把所有生意都从IaaS服务商那里抢过来呢?

    因为专用PaaS有一个挺大的弱点,就是沙箱技术的不完美,大部分的PaaS平台都要求应用程序本身针对平台进行相应的修改才可以运行。比如在SAE上,代码目录是不可写的,文件上传的路径是SAE_TMP。这些看似微小细节的不兼容,却导致了大量的现有项目不能直接运行在SAE上,而要修改成千上万的项目并让其在最新版本中支持PaaS平台,是一件费时费力的事情。

    正是因为这点,专有PaaS才没有成就其霸业。不光是SAE,GAE也没能在竞争中PK过AWS。其实我觉得挺遗憾的,我内心里还是相信有机会的。

    看到这里你一定会问,那我们能不能造出一个完美的容器,让其可以完全兼容标准应用环境,这样这些应用就不用修改就可以直接运行了呢?

    我对这个问题也很好奇,而且做出过努力。这个努力就是全兼容沙箱(它被应用在新浪云商店上),这是新浪云在全兼容容器上的一个尝试。但不得不承认,我当时的想法还是局限了一些,我们只做了对PHP在单机级别的全兼容。

    一方面是从专用PaaS平台带过来的惯性思维,觉得这种容器也应该是和语言相关的;另一方面在技术投入上也存在一些制约因素。

    往后过了一段时间,系统级别的容器技术成熟了。Linux container(简称LXC)开始应用在各种场景。于是我们规划了沙箱2.0,完全基于LXC,可以兼容各种语言,但SAE已经腾不出来人开发了。

    再晚一点时间,Docker出现,它不依赖于语言,可以轻松的把机器隔离到进程粒度——于是泛PaaS时代到来了。

    进程粒度的隔离意味着什么?

    本质上来讲,它不过是一个性价比更好的虚拟机而已。但是当虚拟化到达进程级别,「虚拟机」就廉价化了。你会为了一个Apache起一个虚拟机么?你会为了一个MySQL又起一个虚拟机么?不会的。

    但你会为Apache起一个Docker,为MySQL起一个Docker。因为它们不过是两个进程而已。分成不同的进程,可以更好的对架构去耦合,当Apache升级时,MySQL不会受影响。

    但是,泛PaaS未必任何地方都比专用PaaS强,由于没有了专用PaaS里边的平台层,运维成本又被重新引入了进来。现在你有一堆的Docker要管理了,不比一坨虚拟机轻松多少。

    所以泛PaaS要发展,必然要出现一个在Docker容器外层对其进行统一管理的平台。因为借助这个平台,我们才能重新去运维化。

    在国外,CoreOS就在这个方向上一路飞奔。它提供管理工具,可以按配置批量创建容器,又将各种Docker容器服务化,提供了服务发现机制。这些都是为了把碎片化的Docker容器重新拼接成一个进程粒度的、分布式的、免运维的平台。

    在国内,前SAE总监王利俊也是为Docker去运维化服务的,他们采用了更独特的方式,目前产品还没正式发布,我就不剧透了。

    可以看到,隔离技术的不断进步,就如同智子在不同维度的展开,一层层的推动了云计算往纵深发展。如果用一幅图来表示的话,大概就是这个样子:

    当隔离层次进入应用层后,会发生一个质的飞跃。这个飞跃我叫它分布式SaaS(软件即服务)。

    先来说说原来的集中式SaaS。

    其实SaaS虽然是云计算最上边的层次,但其出现却非常早。这是因为它其实和虚拟化没有什么关系,也并不依赖于IaaS平台。

    它指的是人类通过网络(特别的是浏览器)直接消费服务,但如果按这个标准,网站就是最早的SaaS —— 我们通过浏览器消费资讯、社交等服务。但其实我们并不把网站叫做SaaS,而是把原来C/S结构的产品,比如CRM、ERP的B/S形态称为SaaS。(Salesforce:怪我咯)

    集中式SaaS有一个非常大的问题,就是它的数据安全。

    iCloud最近被攻击,你们都看到明星的艳照了。集中式SaaS出问题时,使用SaaS服务的所有公司都没法工作。这就是中心化的代价。

    在我看来,互联网的发展都是以去中心化为方向的,即使是像微博、Facebook这种原本封闭的网络,也通过开放平台,在一定程度上实现了去中心化。

    所以我相信,一定会有比集中式SaaS更好的模式存在。

    我们回过头来看隔离粒度。

    当隔离粒度从物理机器进化到操作系统层次时,催生了IaaS业务,实现了去机器化,我们不用再关注机器本身。

    当隔离粒度从操作系统进化到进程层次时,催生了PaaS业务,实现了去运维化,我们不用再关注操作系统,可以专注业务本身。

    所以我花了几个月时间去思考,下一个粒度是什么。但当我往下挖了几铲子,「哐」的一声,发现旁边的门打开了。

    当隔离粒度达到进程级别,一类特殊的进程开始催生新的业务 —— 这类进程叫做云APP。

    APP层隔离和进程层隔离在技术上大同小异,但是他们的受众发生了巨变。

    一个Apache进程,只有程序员能消费;一个WordPress APP,不懂技术的人也能轻松享用。

    所以,当隔离粒度专注于云APP时,将实现去技术化,不懂技术的人群将可以第一次享受到完全自主可控的个人云。

    分布式SaaS来了,云APP 2C的时代来了。

    这撬起了个人云APP这个巨大市场的一角。想想手机这个市场,App store出现之前,我们只能被动的去使用手机上仅有的那一点点应用,没有人会为了手机上的应用花钱;而当App store将这个手机应用市场做起来,将其透过手机推给每一个普通人时,一个几百亿的市场出来了。

    云App也是一样的。以前我们只能被动的接收各个网站、App提供的云端同步功能,将自己的隐私数据保存在一些有流氓前科的公司服务器上(这对不懂技术的人群来说,其实是没有选择的)。

    但是如果他们可以选择了呢?

    这就是Docker为什么要做Hub,Docker是云APP的封装技术,Hub就是云App的分发器和渠道通路、是云计算中的App Store、是云APP商业化的关键节点。

    先是提供技术中间件级别的分发,覆盖企业和开发者;再是提供个人云APP级别的分发,让SaaS进入从来没覆盖过的个人市场。

    顺便说一句,从这里我学到的是,技术进步的方向是由需求带动的,而不光是技术本身。如果没有一个强需求来拉动,技术进步本身就会变成学术论文——就像一枚种子,只能静静的等待属于它的时代。不幸的是这个时代经常还没到来就已经过去了。

    上一节说得很抽象,我说个现实的例子你们感受下。

    还是从iCloud的艳照说起吧(我是有多在意艳照,笑),当分布式SaaS到来后,我们不会将自己的私密照片同步到iCloud的云,而是去云APP商店挑选一款私人数据同步软件,比如OwnCloud。

    只需要点一下鼠标,将其加入购物车,然后输入我们想要的网址,支付购买。30秒不到,地球上就有了一个专属于你的私有云,别人连它的网址都不知道,更别说密谋攻击它了。

    然后网站会显示一个二维码,扫描二维码后,你的手机上就有了一个APP,可以随时消费来自你私人云端的数据。

    个人再也不用担心隐私(其实是概率小了非常多)、公司再也不用担心数据安全(其实是掌控了数据所有权)。

    那么,谁会去开发这些专门使用于私人云的应用呢?

    每一个成功的软件产品背后,都有一个和它功能相当,而体验略差的开源产品(笑)。这是因为大部分开源软件在和商业软件竞争中不挣钱导致的二期投入不足。

    一旦分布式SaaS建立起来,开源开发者可以从平台售卖的云空间利益中分成,我也相信,有越来越多的优秀开源产品,可以直接对消费者收费。(即使是开源的,不懂技术的消费者也不愿意自己去手工搭建环境 —— 他们更愿意付钱解决问题,这是程序员们难以理解的。)

    开源软件如果能挣到钱,挣到大钱,那么那些以控制和中心化为生的商业软件在它们面前将会黯然失色。

    这是一个多么灿烂的未来。

    再来说说其他层次。

    IaaS这个层次正猛烈分化,一部分在快速下沉,另一部分快速上升。

    所谓下沉,是指原来做机房的、做通信的公司都在快速进入这个市场。而随着IaaS平台管理软件(比如openStack)的日益成熟,这个层次的技术含量将越来越小,工程强度和日常运维层次的要求反而会越来越高。

    最后,会催生一个平行于银行系统、交通系统、通信系统同等体量的云系统。会不会被国有化难说,但必然会进入国家控制范围。

    所谓上升,是指原来依托虚拟机来做弹性扩展等业务的平台,会迅速转移到进程级隔离的技术(比如Docker)上来。这将从根本上改变软件开发、软件测试、软件分发、以及软件销售的流程和格局。

    如果还觉得抽象我说几个比较接近的词:Github、DevOPS、分布式SaaS。

  • ?

    神龙计划是阿里云为打造下一代云计算核心技术

    干尸

    展开

    原标题:阿里云发布神龙云服务器:96核心+768GB内存

    在今天举办的2017杭州·云栖大会上,阿里云发布了全新一代计算类服务器“神龙云服务器”(X-Dragon Cloud Server)。

    神龙计划是阿里云为打造下一代云计算核心技术,开展的中长期研究课题,通过自研芯片、核心业务加速设备、重新定义服务器硬件架构,打造深度融合物理机和虚拟机特性的创新型计算架构。神龙云服务器就是基于此新型计算架构而推出的下一代云服务器产品。

    据阿里介绍,神龙云服务器是一种可水平弹性伸缩的高性能计算服务,融合了物理机与云服务器的各自优势,可实现超强、超稳的计算能力,具备极致性能、加密计算(芯片级可信赖执行环境)、秒级交付、与阿里云全站云产品互联互通等四大特性。 该服务器支持阿里云自主研发的虚拟化2.0技术,兼备普通云服务器的弹性,物理机的高计算性能、物理级别隔离,客户可独占计算资源,无虚拟化性能开销和特性损失。

    硬件配置方面采用Intel最新的可扩展至强平台,最高可以配置铂金牌Xeon 8163,最多96个核心——Intel公开发布的型号中并没有这一款,看来是阿里云定制的,应该是颗24核心,四路并行——与之最接近的铂金牌Xeon 8168也是24核心,批发报价5890美元,定制的只会更贵。

    除此之外还可以选择8核心、16核心、32核心、64核心等不同配置,其中8核心的主频为3.7-4.1GHz,同样应该是定制的,与之最接近的8核心金牌Xeon 6144主频为3.5-4.2GHz,批发报价2925美元。

    另外,内存可选最低32GB,最高768GB DDR4-2666,搭配25Gbps带宽、400万收发包能力的高性能网络,并支持挂载多块SSD云盘,每块最大容量32TB。

    针对高性能计算,阿里云还将推出基于神龙云服务器的超级计算集群(SuperComputer Cluster),各节点之间采用高带宽低延迟的RDMA网络互联,RoCE网络速度媲美Infiniband。

    延伸阅读:

    权威跑分暴涨10倍!阿里创惊人全球纪录

  • ?

    云计算IaaS的核心技术:虚拟化技术

    彭元风

    展开

    我们知道云计算平台上面的云主机实际上都是虚拟机,但我们感觉不出来,用起来和一台真实的服务器没什么区别,这都要归功于虚拟化技术(Virtualization)。可以说虚拟化技术是实现云计算基础架构层面(IaaS)的核心技术。那么这种虚拟化技术究竟是怎么回事?

    云计算所使用的虚拟化技术,其实并不是一项新技术。1998年成立的VMWare(威睿)公司就是做虚拟机软件的,后来被数据存储技术公司EMC(易安信)收购了,再后来EMC又被Dell收购了。

    我们先不谈VMware公司的历史,重点说一下他们的虚拟机软件:VMwareWorkstation。这个软件允许多个x86虚拟机同时被创建和运行。每个虚拟机实例可以运行其自己的客户机操作系统(GuestOS),如Windows、Linux、BSD等。说白了就是,VMwareWorkstation允许一台真实的计算机同时运行好几个操作系统。

    从底层操作系统来看,每个虚拟机都是一个用户进程;从虚拟机中的的GuestOS来看,自己拥有整个计算机。

    虚拟机的工作原理

    虚拟机软件解决了一个关键的技术问题:就是如何让GuestOS认为自己正运行在一个真实的计算机上。

    VMware的架构图

    管理多个虚拟机的软件叫做VMM(VirtualMachineMonitor),或者叫hypervisor。VMM做了三件事来欺骗GuestOS:分别是虚拟CPU、虚拟内存、虚拟I/O。

    虚拟CPU:为每个虚拟机的CPU准备了一个虚拟寄存器的数据结构,跟踪着CPU所有寄存器中的值。CPU的全部状态其实就是所有寄存器的值,只要在GuestOS看来寄存器的值没问题,GuestOS就可以正常执行。

    GuestOS作为一个用户进程,实际上运行在CPU的ring3模式(最低权限),但VMM让它以为自己运行在CPU的ring0模式(特权模式)。如果GuestOS访问ring3模式的寄存器,VMM是不会管的。但如果GuestOS试图访问一些ring3模式的寄存器,VMM就直接修改虚拟寄存器的值,让GuestOS认为自己真的操作了这些特权模式下才能访问的寄存器。

    虚拟内存:VMM实现了从虚拟内存到虚拟机物理内存再到物理内存的三级地址转换,解决了GuestOS访问内存的问题,在GuestOS看来,地址还是从虚拟内存映射到物理内存。

    虚拟I/O:如果VMM发现GuestOS要对某个I/O设备进行操作,那么就用软件模拟这个过程,比如要对磁盘进行读写,VMM就把这个操作改成对文件的读写。

    总的来说,GuestOS的运行在VMM的严密监控下,在权限允许的范围内,GuestOS干啥都行,但如果超出了权限,VMM就要干预。

    虚拟化技术与云计算

    目前比较常用的虚拟机技术有VMWare,Xen,KVM,虽然虚拟化的思路差不多,但具体所使用的虚拟化技术还是有所区别的。

    VMWare是商用软件,需要付费,且不开源。Xen和KVM都是开源的。不过Xen的操作复杂,维护成本较高,Linux官方内核已经去掉了对Xen的支持。KVM是LinuxKernel的一部分,因此会随着Linux内核的升级而不断优化和改进。在云计算领域目前用的虚拟机技术最多的也是KVM。

    云计算管理软件通过libvirt接口管理虚拟机

    目前比较流行的云计算管理软件是Openstack,支持各种虚拟机技术。libvirt是一套免费、开源的支持Linux下主流虚拟化工具的C函数库。libvirt起初是专门为Xen设计的一种管理API,后来被扩展为可支持多个虚拟机监控程序。云计算管理软件通过libvirt接口就可以控制各种虚拟化技术创建的虚拟机了。

  • ?

    细数云计算产品和核心技术-Windows Azure

    莫名其

    展开

    背景

    从一份《互联网服务时代来临》的备忘录开始,微软公司开始全面转向“软件+服务”的战略。并且明确提到了要构建一个下一代互联网服务平台,为微软自己、客户和合作伙伴提供一个互联网规模的应用服务平台。在2006年一个代号“Red Dog”的项目组成立,这正是Windows Azure的前身。

    简介

    云计算是把信息技术作为服务提供给客户,且按需服务,用户可根据需求即时得到服务。通过云计算可以简化用户使用信息技术的复杂度,让信息真正触手可及。Windows Azure就是一个为应用程序提供托管和运行的互联网规模的平台。完全按照云计算要求和技术构建,按需动态分配、弹性计算、按照用量计费等等。开发人员只需关注应用程序开发即可,平台底层完全是透明的。

    Windows Azure应该是一个PaaS的平台即服务的产品,对底层物理资源进行抽象,实现资源管理,对服务器、存储、交换机和负载均衡等。为开发真提供托管的、可扩展的、按需应用和资源存储。也是一个开放的平台,支持各种流行的标准与协议,SOAP、REST、XML和HTTP等。

    组成

    Windows Azure平台包括Windows Azure、SQL Azure、Windows Azure AppFabric和Windows Azure Marketplace:

    Windows Azure:一个云计算服务操作系统。

    SQL Azure:云中的关系型数据库。

    Azure AppFabric:基于Web的开发服务,可以把现有应用和服务与云链接、用户认证授权等

    Azure Marketplace:针对开发人员的在线市场。

    CDN:将用户经常访问的数据临时缓存在距离用户比较近的地方,从而加快访问速度。

    Windows Azure Connect:将云服务和本地服务进行安全连接。

    计算服务

    Windows Azure计算服务通过Web Role、Worker Role和VM Role来提供,可以理解成两种不同的虚拟机模板。Web Role为利用IIS 提供运行Web应用程序的服务,Worker Role通常用来处理业务逻辑。VM Role主要用于让用户运行自己的VHD虚拟机镜像,类似IaaS服务,可以快速的对已有应用迁移到Windows Azure上。

    存储服务

    Windows Azure的存储不是关系型数据库系统,主要提供三种数据存储方式,Blob、Table和Queue,并且通过REST API提供数据访问接口。

    Blob通常适合存储二进制等非结构化数据,如图片、音频和视频等多媒体数据

    Table不支持关系型和数据模式,采用键值对的方式存储半结构化数据,有效进行分布式数据扩展和收缩。

    Queue用于存储临时数据消息,主要用于Web Role和Worker Role进行通信。

    存储服务具有以下特点:

    存放大量数据

    大规模分布式

    无限扩展

    数据备份完备(多份备份)

    存储地点可选择

    SQL Azure

    Azure的存储对非结构化和半结构化数据存储满足,但是基于关系型数据库的使用历史,而且对事务、完整性等功能的支持。SQL Azure提供功能如下:

    SQL Azure Database:基于云的数据库管理系统,本地和云应用都可以使用

    SQL Azure Reporting:云版本的SQL Server Reporting Service,提供SSRS报表

    SQL Azure Sync:用来同步SQL Azure和本地的SQL Server

    Azure AppFabric

    通过AppFabric提供分布式的云服务,解决普遍存在的基础架构方面的问题,如服务总线和访问控制服务等。

    服务总线:为每个服务端点分配一个固定的URI,帮助其他应用定位和访问

    访问控制服务:主要用于认证和授权的应用安全方面。

    分布式缓存:为了提升应用程序性能,除了CDN还提供分布式缓存,加快访问速度,提升用户体验。

    释放价值,分享知识和经验,解读IT前沿和技术。帮助他人,提升自己。更多交流请关注itboxes(IT智囊)。

  • ?

    细数云计算的核心技术-Salesforce

    夜梦

    展开

    云计算的使用场景有很多,例如:IDC云,企业云,云存储系统,虚拟桌面云,开发测试云,大数据处理云,协作云,游戏云。不同场景使用的核心技术略有不同。下面我们一起走进Salesforce来看一看他们的云产品和云服务

    简介

    在云计算方面,Salesforce应该算是业界的领袖了,核心云产品主要在SaaS和PaaS领域。Force是Saleforce的一款PaaS云产品,主要特点如下:

    强大的定制功能:可以定制UI,工作流和表格等等

    完善的开发环境:在可视化角度有自己的Visualforce工具方便地使用拖拽来设计页面,同时在IDE方面可以使用Eclipse进行快速定制开发

    复杂事务和流程支持:使用Apex语言设计和开发复杂的事务和流程

    优秀的整合能力:提供对外的服务接口,可以无缝集成其他系统,如:SAP,SharePoint等。

    多租户

    多租户是云计算比较典型的技术,就是单独软件实例可以为多个组织服务,对各个组织间进行数据和操作隔离,保证数据安全等等的一种常见的SaaS云服务模式。软件需要在设计上对数据和配置信息进行虚拟分区。多租户说起来相对简单,在实现上并非易事,需要对软件架构进行修改,并且对数据库结构进行特殊设计,同时在安全和隔离性方面要求相对比较高。

    和多用户的区别:多用户在于不同用户拥有不同访问权限,多租户实现了虚拟的实例和数据等进行隔离,各个租户相互不知道其他人的存在,而且完全独立。

    和虚拟化的区别:多租户和虚拟化很类似,都使用了虚拟的概念。区别在于虚拟化关注在操作系统,而多租户关注在应用实例。

    优缺点:优点是经济、易于更新和开发、管理方便,同时也有不足之处,技术相对复杂,而且在安全方面要求比较高,也存在很多挑战,值得我们不断提高和改进。

    三种实现模型:私有表,扩展表和通用表

    私有表:最简单的扩展模式,为每个租户自定义数据表,优点简单,但是缺点是高成本的DDL操作,并且在优化难度比较高。

    扩展表:和私有表类似,扩展表会被多个租户共享,比私有表有更高的整合度和优化的可能性,架构上要比私有表复杂,设计成本比较高。

    通用表:用于存储公用的统一的数据信息,存在很多列和空值(稀疏列),在整合和优化方面更高,但是设计和实现难度更大。

    所以在多租户设计和实现过程中,根据实际的业务场景选择最适合的模型去实现,而且不同的阶段合适的模型也不一样。

    架构

    POD实际上是一组服务器集群,通过负载均衡实现来平衡相互之间的工作压力,应用服务器是无状态的请求处理服务器(http/https)。

    总结

    其实多租户的设计和实现远远不是短短一篇文章就能够说清楚的,还有很多设计和实现细节值得我们深入探索。

    设计理念:以数据为驱动,实现规模经济(支持多个租户),并且保证租户数据和操作安全,同时要以在业务上满足客户的业务需求为前提。所以在实际设计和实现中要进行一定的权衡,从设计、实现、整合以及优化的角度考虑。并且软件的架构是一个渐进的过程,不能够一次就达到“彼岸”,所以需要不断的优化改进去适应业务的需要。

    释放价值,分享知识和经验,解读IT前沿和技术。帮助他人,提升自己。将复杂技术简单化,简单技术商业化。

  • ?

    细数云计算核心技术-云计算安全

    唐水桃

    展开

    由于云计算特性和已有的IT模式有很大差异,自从云计算诞生之后,在安全方面受到极大非议,安全问题是企业内部引入云计算的最大顾虑。不可否认在安全方面,云计算确实面临许多挑战,但是云计算的一些优秀的特性将不仅能够有效应对这些挑战,而且也将会比已有模式更安全。

    简介

    挑战:信任边界变化,更多利益相关方,公有云暴露在互联网上,虚拟化技术引入,数据存放的讨论。

    公有云是暴露给所有互联网用户的,这一点无疑是企业安全者最担心的问题,通常大家都认为“放在自己家里更安全”。

    现有安全系统不足:成本高,复杂度也很高,内部盗窃等。很多企业都不会配备自己专门的安全团队,采用第三方的运维解决方案满足安全方面得需求,大部分企业内部核心数据丢失是内部人员所为。

    云计算优势:管理、信誉和容灾方面都有很大的优势。一般都是国内外知名的厂商,而且有专业的管理和技术团队保障我们正常的业务。

    安全架构

    在安全方面云计算不仅需要应对已有传统IT挑战,还需要应对云计算特定的挑战。下面我们一起来看一下云计算的安全架构。

    云客户端:客户端一般和用户体验相关,确保用户在安全和稳定的情况下使用云应用,需要很多方面得增强,主要采用防火墙、杀毒软件、补丁和沙盒机制等使客户端免受侵害。并通过云端检测和计算能力进行快速的安全解析,且进行相应的处理。

    云端:是云计算核心,安全通信、用户管理、数据管理、应用保护、系统和网络等整体监管以及合规性等等。

    第三方机构:一般具备很好的公信力,且在安全领域具备丰富的经验和技术,可以提供认证和安全级别评估,使用户有信息将数据存储在云端和使用云服务。并且可以进行监管,确保在安全范围内运行,提供用户的信任度。

    Salesforce的安全机制

    从云端的模块角度说明安全性,用户管理方面采用禁止cookie存储用户信息和会话信息,支持集成认证和基于SAML协议来在多个相关web服务之间传递认证和授权信息的方式。在数据管理方面对数据进行有效的隔离和加密等方式确保数据安全,在网络方面使用SPI、防御主机、双因素认证和全程加密机制确保网络传输安全等等。

    AWS的安全机制

    在用户管理角度AWS使用多种手段保障用户安全,使用安全token,这个token不仅用户SSH协议登录,也用户API的调用,提供多因素认证和密钥循环机制保障用户账号和访问控制。数据安全放面采用两层ACL控制机制,并使用HMAC-SHA1签名认证,所有通信都是会用SSL协议等等。

    云计算为什么安全?

    安全管理:专业的安全管理团队,保障云计算中心的同构型和专业性,有效的保证安全管理。

    高可用性:普通的企业数据中心在高可用方面得投入肯定不如云计算中心,所以在保障核心应用角度很难和云计算相比。

    数据安全:避免内部人员对数据危害,采用快照、备份和容灾等手段来保护数据的安全。

    举一个不是很恰当的例子,大多数人选择把钱存在银行,而不是自己修建金库,其实就是这个道理,从成本、技术和安全角度来说,云计算能够给我们低成本、高安全的保障。

    释放价值,分享知识和经验,解读IT前沿和技术。帮助他人,提升自己。

  • ?

    细数云计算的核心技术-系统虚拟化

    俞听白

    展开

    简介

    说到系统虚拟化,我们应该从虚拟化开始说起。虚拟化是表示计算机资源的抽象方法,可以简化基础设施、系统和软件等,技术有很多种,如网络虚拟化,内存虚拟化,桌面虚拟化和应用虚拟化等等。

    系统虚拟化是使用虚拟机管理程序在一台物理机上虚拟和运行一台或多台虚拟机,虚拟机和物理机一样运行软件,而且相互之间的隔离的,互补影响。

    用途

    软件测试:使用虚拟机配置软件测试环境,比五路方式快很多,而且在硬件成本上节省很多。

    桌面应用:可以打破平台专属软件限制,提升桌面安全性和相关性。

    服务器整合:可以将多台物理机工作整合到一台物理家上,简化了IT架构复杂度

    自动化管理:使用分布式资源调度,动态迁移和高可用性等虚拟化管理技术能极大提升数据中心的自动化管理,并实现容灾。

    快速应用部署:引入虚拟化应用发布格式,可以快读的发布虚拟机,方便多个数据中心之间进行迁移。

    技术分类

    硬件仿真:在物理机操作系统上创建一个模拟硬件的程序来仿真索要的硬件,并且在这个程序上跑虚拟机。

    全虚拟化:在客户操作系统和硬件之间捕捉和处理那些虚拟胡敏感的指令,使客户操作系统无需修改就能运行。知名的产品有VirtualBox,VMware等

    半虚拟化:和全虚拟化类似,利用虚拟机管理程序实现对底层硬件的共享访问。典型产品是Hyper-V。和全虚拟化相比,这种模式的架构更简洁,在整体速度上有很大优势。

    硬件辅助虚拟化:主要是英特尔和AMD等硬件厂商通过对部分全虚拟化和半虚拟化使用到软件技术进行应建华来提高性能。

    操作系统级虚拟化:对服务器啊哦做系统进行简单的隔离实现虚拟化,实现成本低,性能不错,但在资源隔离方面稍差一些。

    虚拟机的特征

    一致性:一款软件运行在虚拟机和物理机上的行为基本要一致。

    可控性:虚拟化管理程序对系统资源有控制能力和管理权限。

    高效性:大多数客户机指令应该由硬件直接执行不需要虚拟化管理程序参与,提高效率。

    在硬件角度可以对CPU、内存和IO进行虚拟化,而且各有优缺点,根据实际的虚拟化需求选择相应的虚拟化技术来实现。

    VMware

    VMware在这个虚拟化行业占据近乎垄断的地位,下面让我们一起看一下VMware,vSphere主要用于服务器端虚拟化,通过在一台物理机上虚拟出多台虚拟机实现服务器整合和资源优化等目的。vCloud是云计算计划IaaS和PaaS产品。VMware View是左面虚拟化的产品,简化IT管理和降低IT成本。虚拟化是云计算的基础,VMware当然也没有放弃云计算这块“肥肉”

    虚拟网络

    当我们谈到电脑的时候,我们首先想到CPU、内容和IO,在互联网高度发达的时代,网卡是我们不能忽略的,因为没有网卡我们就不能够将电脑连到互联网。根据虚拟化的一个核心思想(一致性),我们要让客户操作系统无法察觉到他是在一个虚拟化的平台上工作,那么我们需要一个和物理网卡完全一致的虚拟网卡支持客户机连接到网络,一般通过虚拟交换机完成物理和虚拟之间的沟通。

    动态迁移

    动态迁移是让一台运行中的虚拟机从一台主机迁移到另一台主机,并且确保上面的应用在迁移过程中正常运行。

    优点:排除危险、方便维护和资源优化。

    挑战:虚拟磁盘无法迁移,网络设置无法迁移,迁移速度不够快,指令集的兼容性,范围限制等等。

    针对虚拟化技术还有很多相关的技术、产品和厂商,我今天就先介绍到这里,以后再做深入的探讨。

    释放价值,分享知识和经验,解读IT前沿和技术。帮助他人,提升自己。

  • ?

    阿里5年的程序员解读云计算8项核心技术解读,大家看看是不是正确

    楼不平

    展开

    云计算的“横空出世”让很多人将其视为一项全新的技术,但事实上它的雏形已出现多年,只是最近几年才开始取得相对较快的发展。确切地说,云计算是大规模分布式计算技术及其配套商业模式演进的产物,它的发展主要有赖于虚拟化、分布式数据存储、数据管理、编程模式、信息安全等各项技术、产品的共同发展。近些年来,托管、后向收费、按需交付等商业模式的演进也加速了云计算市场的转折。云计算不仅改变了信息提供的方式,也颠覆了传统ICT系统的交付模式。与其说云计算是技术的创新,不如说云计算是思维和商业模式的转变。

    下面详细谈一谈云计算的核心技术。

    云计算是一种以数据和处理能力为中心的密集型计算模式,它融合了多项ICT技术,是传统技术“平滑演进”的产物。其中以虚拟化技术、分布式数据存储技术、编程模型、大规模数据管理技术、分布式资源管理、信息安全、云计算平台管理技术、绿色节能技术最为关键。

    1、虚拟化技术

    虚拟化是云计算最重要的核心技术之一,它为云计算服务提供基础架构层面的支撑,是ICT服务快速走向云计算的最主要驱动力。可以说,没有虚拟化技术也就没有云计算服务的落地与成功。随着云计算应用的持续升温,业内对虚拟化技术的重视也提到了一个新的高度。与此同时,我们的调查发现,很多人对云计算和虚拟化的认识都存在误区,认为云计算就是虚拟化。事实上并非如此,虚拟化是云计算的重要组成部分但不是全部。

    从技术上讲,虚拟化是一种在软件中仿真计算机硬件,以虚拟资源为用户提供服务的计算形式。旨在合理调配计算机资源,使其更高效地提供服务。它把应用系统各硬件间的物理划分打破,从而实现架构的动态化,实现物理资源的集中管理和使用。虚拟化的最大好处是增强系统的弹性和灵活性,降低成本、改进服务、提高资源利用效率。

    从表现形式上看,虚拟化又分两种应用模式。一是将一台性能强大的服务器虚拟成多个独立的小服务器,服务不同的用户。二是将多个服务器虚拟成一个强大的服务器,完成特定的功能。这两种模式的核心都是统一管理,动态分配资源,提高资源利用率。在云计算中,这两种模式都有比较多的应用。

    2、分布式数据存储技术

    云计算的另一大优势就是能够快速、高效地处理海量数据。在数据爆炸的今天,这一点至关重要。为了保证数据的高可靠性,云计算通常会采用分布式存储技术,将数据存储在不同的物理设备中。这种模式不仅摆脱了硬件设备的限制,同时扩展性更好,能够快速响应用户需求的变化。

    分布式存储与传统的网络存储并不完全一样,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

    在当前的云计算领域,Google的GFS和Hadoop开发的开源系统HDFS是比较流行的两种云计算分布式存储系统。

    GFS(Google File System)技术:谷歌的非开源的GFS(GoogleFile System) 云计算平台满足大量用户的需求,并行地为大量用户提供服务。使得云计算的数据存储技术具有了高吞吐率和高传输率的特点。

    HDFS(Hadoop Distributed File System)技术:大部分ICT厂商,包括Yahoo、Intel的“云”计划采用的都是HDFS的数据存储技术。未来的发展将集中在超大规模的数据存储、数据加密和安全性保证、以及继续提高I/O速率等方面。

    3、编程模式

    从本质上讲,云计算是一个多用户、多任务、支持并发处理的系统。高效、简捷、快速是其核心理念,它旨在通过网络把强大的服务器计算资源方便地分发到终端用户手中,同时保证低成本和良好的用户体验。在这个过程中,编程模式的选择至关重要。云计算项目中分布式并行编程模式将被广泛采用。

    分布式并行编程模式创立的初衷是更高效地利用软、硬件资源,让用户更快速、更简单地使用应用或服务。在分布式并行编程模式中,后台复杂的任务处理和资源调度对于用户来说是透明的,这样用户体验能够大大提升。MapReduce是当前云计算主流并行编程模式之一。MapReduce模式将任务自动分成多个子任务,通过Map和Reduce两步实现任务在大规模计算节点中的高度与分配。

    MapReduce是Google开发的java、Python、C++编程模型,主要用于大规模数据集(大于1TB)的并行运算。 MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。

    4、大规模数据管理

    处理海量数据是云计算的一大优势。那么如何处理则涉及到很多层面的东西,因此高效的数据处理技术也是云计算不可或缺的核心技术之一。对于云计算来说,数据管理面临巨大的挑战。云计算不仅要保证数据的存储和访问,还要能够对海量数据进行特定的检索和分析。由于云计算需要对海量的分布式数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。

    Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase是业界比较典型的大规模数据管理技术。

    BT(BigTable)数据管理技术:BigTable是非关系的数据库,是一个分布式的、持久化存储的多维度排序Map.BigTable建立在 GFS, Scheduler, Lock Service和MapReduce之上,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。 Bigtable的设计目的是可靠的处理PB级别的数据,并且能够部署到上千台机器上。

    开源数据管理模块HBase:HBase是Apache的Hadoop项目的子项目,定位于分布式、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。作为高可靠性分布式存储系统,HBase在性能和可伸缩方面都有比较好的表现。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

    5、分布式资源管理

    云计算采用了分布式存储技术存储数据,那么自然要引入分布式资源管理技术。在多节点的并发执行环境中,各个节点的状态需要同步,并且在单个节点出现故障时,系统需要有效的机制保证其它节点不受影响。而分布式资源管理系统恰是这样的技术,它是保证系统状态的关键。

    另外,云计算系统所处理的资源往往非常庞大,少则几百台服务器,多则上万台,同时可能跨跃多个地域。且云平台中运行的应用也是数以千计,如何有效地管理这批资源,保证它们正常提供服务,需要强大的技术支撑。因此,分布式资源管理技术的重要性可想而知。

    全球各大云计算方案/服务提供商们都在积极开展相关技术的研发工作。其中Google内部使用的Borg技术很受业内称道。另外,微软、IBM、Oracle/Sun等云计算巨头都有相应解决方案提出。

    6、信息安全

    调查数据表明,安全已经成为阻碍云计算发展的最主要原因之一。数据显示,32%已经使用云计算的组织和45%尚未使用云计算的组织的ICT管理将云安全作为进一步部署云的最大障碍。因此,要想保证云计算能够长期稳定、快速发展,安全是首要需要解决的问题。

    事实上,云计算安全也不是新问题,传统互联网存在同样的问题。只是云计算出现以后,安全问题变得更加突出。在云计算体系中,安全涉及到很多层面,包括网络安全、服务器安全、软件安全、系统安全等等。因此,有分析师认为,云安全产业的发展,将把传统安全技术提到一个新的阶段。

    现在,不管是软件安全厂商还是硬件安全厂商都在积极研发云计算安全产品和方案。包括传统杀毒软件厂商、软硬防火墙厂商、IDS/IPS厂商在内的各个层面的安全供应商都已加入到云安全领域。相信在不久的将来,云安全问题将得到很好的解决.

    7、云计算平台管理

    云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效地管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。云计算系统的平台管理技术,需要具有高效调配大量服务器资源,使其更好协同工作的能力。其中,方便地部署和开通新业务、快速发现并且恢复系统故障、通过自动化、智能化手段实现大规模系统可靠的运营是云计算平台管理技术的关键。

    对于提供者而言,云计算可以有三种部署模式,即公共云、私有云和混合云。三种模式对平台管理的要求大不相同。对于用户而言,由于企业对于ICT资源共享的控制、对系统效率的要求以及ICT成本投入预算不尽相同,企业所需要的云计算系统规模及可管理性能也大不相同。因此,云计算平台管理方案要更多地考虑到定制化需求,能够满足不同场景的应用需求。

    包括Google、IBM、微软、Oracle/Sun等在内的许多厂商都有云计算平台管理方案推出。这些方案能够帮助企业实现基础架构整合、实现企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,打破应用对资源的独占,让企业云计算平台价值得以充分发挥。

    8、绿色节能技术

    节能环保是全球整个时代的大主题。云计算也以低成本、高效率着称。云计算具有巨大的规模经济效益,在提高资源利用效率的同时,节省了大量能源。绿色节能技术已经成为云计算必不可少的技术,未来越来越多的节能技术还会被引入云计算中来。

    Carbon Disclosure Project(碳排放披露项目,简称CDP)近日发布了一项有关云计算有助于减少碳排放的研究报告。报告指出,迁移至云的美国公司每年就可以减少碳排放8570万吨,这相当于2亿桶石油所排放出的碳总量。

    总之,云计算服务提供商们需要持续改善技术,让云计算更绿色。

  • ?

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

    粱新儿

    展开

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

    一.虚拟化技术

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

    二.数据存储技术

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

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

    三.平台管理技术

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

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

    四.数据管理技术

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

    五.编程模型

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

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

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

云计算核心技术

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

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

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP