精华内容
下载资源
问答
  • CloudCore引领核心网云化转型

    万次阅读 2016-05-25 10:24:56
    华为CloudCore解决方案全面采用领先的云化软件架构设计,包括全系列的核心网云化产品,并且可以将通信能力非常方便地开放给第三方应用,全面领跑核心网转型。

    文/刘皓

    2015年7月,全球著名咨询公司IHS Infonetics发布最新NFV(Network Functions Virtualization,网络功能虚拟化)市场调研报告。报告显示,NFV市场空间将从2014年的9.5亿美元增长到2019年的116亿美元,年复合增长率高达65%,价值逐渐从硬件转向软件,其中软件占比达80%,这表明NFV的时代已经全面到来。

    与此同时,全球LTE建设全面铺开,运营商也加快了VoLTE(Voice over LTE)的建设,Vodafone、德国电信、AT&T、中国移动、香港电讯、SKT和LG Uplus等均推出了商用VoLTE网络,预计2015年底全球将有460张LTE网络、1亿多VoLTE用户,其中超过一半以上将采用NFV技术建设。

    NFV发展进入快车道,核心网将率先云化

    2012年10月,在ETSI由13个领先运营商联合成立了NFV-ISG组织,致力于推动“网络功能虚拟化”,发布了NFV白皮书,提出了NFV的目标和行动计划,旨在将传统电信设备的软件与硬件解耦,基于通用的计算、存储和网络设备实现电信网络功能,提升管理和维护效率,增强系统灵活性。

    经过3年多的发展,NFV技术已日趋成熟,进入快速发展期,标准组织、开源组织、运营商和设备商等倾力合作,共同推动NFV产业链大力发展。根据IHS Infonetics调查,2015年将有35%的运营商部署NFV,全球各大领先运营商更是基于NFV和SDN技术纷纷推出了自己的网络转型战略。

    例如,AT&T启动Domain 2.0计划,旨在将网络基础设施从以硬件为中心向以软件为中心转变,实现基于云架构的开放网络,重构运营商业务,将网络能力对外开放,其目标是2020年实现75%的网络虚拟化。

    Telefonica启动UNICA项目,基于SDN网络和电信业务云化部署,构建分布的、统一的和易于管控的云数据中心,满足电信业务及通用云业务敏捷部署、按需使用和简易管控的诉求。

    中国移动在2015年上海世界移动大会期间,正式发布NovoNet 2020愿景,希望融合NFV和SDN等新技术,构建一张资源可全局调度、能力可全面开放、容量可弹性伸缩,以及架构可灵活调整的新一代网络。

    运营商已经充分认识到NFV对未来网络演进的重要性,纷纷将之列为未来网络战略发展的基石。整个行业对于NFV的发展也达成了两项共识:第一,NFV的发展路线将从核心网开始,首先是控制面,然后是信令面和数据面,最后是媒体面;第二,NFV带来的不仅仅是运营成本的降低,基于NFV打造一张敏捷、有价值和智能的云化网络,进而带来更多的收入增长,才是NFV真正的商业价值体现。

    华为CloudCore引领核心网云化之路

    核心网作为电信网络的交换和控制中心,云化之后需要继续保持高可靠、高性能、故障自愈和队列流控等电信级的服务等级要求,同时又要具备开放的架构能力,这必然要求核心网具有真正云化的软件设计。

    华为CloudCore解决方案全面采用领先的云化软件架构设计,包括vIMS(IP Multimedia Subsystem)、vSDM(Subscriber Data Management)、vDRA(Diameter Routing Agent)、vPCRF(Policy and Charging Rules Function)和vSBC(Session Border Controller)等全系列核心网云化产品,以及新增的MANO(Management and Orchestration)部分,并且可以基于全面云化的核心网将通信能力非常方便地开放给第三方应用。

    敏捷的核心网络

    网络的敏捷性是运营商在向NFV/SDN演进中所带来的首要功能,完美整合基础设施云化带来的资源弹性、SDN赋予的网络弹性,以及NFV带来的业务弹性,根据业务需求对网络、VNF(Virtualized Network Function,虚拟网络功能)以及云基础设施统一调度和协同工作,使其能够在业务增长时自动增加业务实例,并在业务下降时自动减少业务实例,实现整个系统资源端到端地自动部署和灵活调度,加快业务上线速度。

    网络功能虚拟化在采用COTS(Commercial Off-the-Shelf)通用服务器后,预期可以节省70%以上的硬件和40%以上的OPEX(Operation Expenditure)运营成本,而这一切必须建立在软件重构以支持云化特性的基础之上。

    华为CloudCore解决方案采用先进的云化软件架构,支持程序与数据分离,业务处理单元无呼叫状态数据,将业务状态存储在独立的分布式数据库中,使得业务处理单元可以任意弹性伸缩,可根据业务量的增减灵活增加或释放所占用的虚拟机资源,并且伸缩过程中当前会话不会受到任何损失。此外,核心网作为通信网络的中枢,电信级的服务等级保障不可或缺。华为CloudCore解决方案通过多层级的可靠性策略、基于业务KPI的健康检测和故障自愈、基于时延的业务队列流控、基于虚拟计算/存储/网络资源优化的高性能设计,以及异构资源池等多种技术创新保证了网络虚拟化后仍然保持99.999%以上的电信级可靠性。

    不仅如此,华为CloudCore解决方案架构完全开放,能支持各种通用硬件和云化操作系统,且还具备与多厂商集成的能力。

    【案例分享】

    2015年7月初,华为助力Vodafone在其意大利子网正式商用了全球首个云化VoLTE网络,成为电信云化转型的里程碑事件,其成功经验吸引了业界广泛关注。在该项目中华为负责提供成熟的云化IMS,并作为首要集成商提供端到端的水平和垂直集成服务,保障了云化网络的电信级能力。

    有价值的核心网络

    运营商在面对OTT玩家竞争时,业务创新能力不足,难以发挥其在网络管道上的优势,难以在业务及用户体验方面与OTT玩家抗衡。NFV/SDN技术的出现使得运营商可以方便、灵活地整合自身的管道能力,利用大数据、NFV和SDN等技术,将自身能力开放给第三方,打造一个全新的生态环境,增加运营商自身的营收。

    华为CloudCore解决方案可帮助运营商向第三方合作伙伴提供一站式网络能力开放平台,即包含开发、测试、上线和运维等全业务生命周期在内的DevOps(Development and Operation)一体化运营模式,将运营商的语音、视频、会议、消息、位置、带宽和数据等通信资源封装成API(Application Programming Interface)或者SDK(Software Development Kit),开放给合作伙伴,以加快新业务的创新和上线,实现运营商与合作伙伴的双赢。

    此外,运营商也可以借助网络功能虚拟化将自身的网络能力直接开放给第三方提供服务,即VNF as a Service。例如,运营商可以统一媒体面为基础,结合控制面以及能力开放,提供无处不在的实时音视频和流媒体服务,包括音视频转码、音视频优化和音视频分析等能力,满足个人、家庭、企业和行业不同商用场景的要求。

    现有的电信网络无法完全满足各行各业对于电信能力千差万别的需求,例如,车联网需要超低时延,视频网站需要高带宽能力,而银行业务则需要极高的网络可靠性。NFV/SDN技术的到来,使得给每个企业或行业建立虚拟化专网成为了可能,我们可以形象地称其为网络分片(Network Slicing)——把传统的电信网络切割成成千上万个网络分片,每个分片对应到一个企业或行业客户,而运营商提供的服务则可以称之为网络分片服务(Network Slice as a Service)。

    【案例分享】四川移动在面临同行业和OTT严峻竞争的形势下,采用华为CloudCore能力开放平台为企业、开发者和OTT开放多媒体呼叫、多媒体会议和多媒体消息等丰富的通信能力,共同打造企业和行业应用,将用户从人扩展到了手机、机顶盒、摄像头和物联网等多种设备。其中,某OTT的微会业务通过调用四川移动的通信能力对外提供即时通信服务,业务上线半年已累计给四川移动带来2亿多分钟的话务量,每天通话时长可达上百万分钟。此外,该平台基于NFV技术所提供的弹性伸缩和智能运维能力还使四川移动可以轻松应对爆发式的第三方业务增长,为运营商和OTT实现双赢树立了行业典范。

    智能的核心网络

    基于数据中心的网络虚拟化、网络软硬件的解耦、网络个性化、海量第三方业务的引入,以及业务与资源的自动编排和弹性伸缩都要求整个网络必须具备可维护、可服务和可运营的特征。

    华为CloudCore解决方案在基础设施池化和完全能力开放的基础上,可通过统一的智能编排系统,按照不同的业务和策略对网络、资源和网元进行统一调度和统一变更,并自动集成和整合运营经验,实现业务自动编排和运维自动化,降低了工作量,减少了维护复杂度。

    基于KPI的健康检测和故障自愈也是保证系统电信级服务等级的重要手段。华为CloudCore解决方案支持对业务KPI进行实时监控,并将其与历史统计值进行对比分析,在关键业务KPI下降达到一定范围后,针对故障原因启动自动告警、自动切换等一系列措施,实现系统故障的自愈。

    华为CloudCore解决方案还支持在网络软硬件解耦后进行端到端的故障定界定位,对各个组件的安全信息,例如日志、告警和异常输出等进行智能分析和关联,快速定位或提前预测系统的安全隐患。此外,云化架构下的业务处理单元无呼叫状态数据,并支持N+M的备份方式,大大提高了整个系统的可靠性,也降低了维修的紧急程度和成本。

    【案例分享】

    华为作为首要集成商助力Vodafone在其意大利子网正式商用全球首个云化VoLTE网络之际,也提供了一系列端到端运维工具。双方在华为NFV/SDN开放实验室进行了联合创新验证,并合作开发了健康检测工具,在完全镜像Vodafone意大利现网的环境下人工模拟注入故障,实验证明:系统按照预期实现了亚健康的自动检测和系统自愈,将原本需要耗时4小时以上的故障定位转变成提前3小时预警,避免了故障的发生。

    NFV将成为未来全联接网络的使能技术

    华为预测,到2025年,全球将有1000亿联接,65亿互联网用户,80亿部智能手机,这表明我们将迈入一个全联接的世界。以联接为基础的ICT技术,如云计算、5G、物联网等,正是撬动这个世界可持续发展的杠杆,虚拟现实、增强现实、全息通信和浸入式通信等酷炫逼真的业务体验将成为现实。

    全联接世界要求通信网络进行全面的重构,NFV将成为网络重构、架构重构、运营重构和业务重构的使能技术。而不管网络如何变化,其核心功能仍然离不开连接控制、数据管理和策略管理,但需要具备更高的要求以适应海量终端和海量业务的需要,比如超高带宽、超低时延、大数据、基于上下文的策略控制、网络分片和分层分布式部署等等。

    华为CloudCore解决方案全面领跑核心网转型,并积极与全球领先运营商开展全联接核心网的研究。与此同时,华为在与NFV相关的标准组织和开源社区中也发挥着重要的作用,在ETSI NFV标准组织中承担NFV基础架构组的联合主席,截止目前已被采纳提案数达1153篇,位居第一。

    不仅如此,在2015年IMS世界论坛上,华为再次荣获“最佳云化IMS解决方案”大奖。华为还通过设立在亚洲、欧洲和北美的NFV/SDN开放实验室,携手合作伙伴共同推动着NFV产业的发展,并成为OPNFV全球9大认证实验室之一。

    (更多华为资讯请关注华为开发者社区,华为自己的对外开放门户:http://developer.huawei.com/cn/ict/ ,不要问我叫啥,别人都叫我雷锋


    展开全文
  • 目前亟待增加裸金属服务器配置相关知识和原生相关内容,那就从容器原生下手,本节把基于k8s的容器知识挂载到自己的知识树上,然后在测试环境进行开发测试; 一、理解容器 什么是容器 容器是原生...

    总聚焦于应用系统开发和建立在应用系统上的业务模型开发,很容易忽略基础资源重要性(包括裸金属服务器配置和优化、最优组网实践和网络拓扑优化、应用部署的持续集成和持续开发、云上资源分配和云原生),努力走出舒适区尝试新知识才能打开新思路,目前亟待增加裸金属服务器配置相关知识和云原生相关内容,那就从容器化和云原生下手,本节把基于k8s的容器化知识挂载到自己的知识树上,然后在测试环境进行开发测试;

    目录

    一、理解容器化

    什么是容器

    什么是Docker

    什么是pod

    什么是微服务

    什么是devops

    二、理解云原生

    三、本地测试-DockerDesktop

    四、后续学习路径


     

    一、理解容器化

    什么是容器

    容器是云原生概念的重要组成部分,一种计算单元,容器比虚拟化技术更轻量化、更小开销的方式运行,作为应用的包装形式,容器赋予应用独立和便携的能力。随着Docker、Kubernetes技术的成熟,容器也成为了时下最火的开发理念。并非所有的应用都适合选择容器,开发者可以根据自己应用的特点和需求选择最适合的计算单元。如果应用是高性能、互信的,且处于同一个管理区域,那么用线程或者进程就可以满足;但如果你的应用是多租户的,并且和其他应用运行在同一个空间,那么你就需要考虑如何将这些应用安全地隔离开,使得数据不会被泄露或性能受到影响,容器也许就是一个不错的选择。

    容器是「高度隔离的进程」:在一般进程的隔离基础上增加了新的隔离机制,这些隔离机制是使用Linux的内核提供的,它包括一些命名空间(Name Spaces)和CGroup。命名空间可以分为网络、存储和计算三大类。其中,最为重要的是网络命名空间。它保证了容器的网络是独立于其他容器网络的。每个容器自己看到的文件系统和其他容器的是不共享的,每个容器只能看到自己的进程ID,而进程编号也是连续的。容器最大的特征没有自己独立的操作系统,而是共享其宿主机上的一个操作系统;而虚拟机则运行在「一台独立的服务器上」,容器相比于虚拟机的成本小但隔离性欠缺。

    容器是「应用的闭包」:应用不是单一的可执行文件,稍微复杂的应用包括:代码、可执行文件、配置依赖、外部依赖(动态链接库)等。所以在应用发行包装的时候,需要考虑目标操作系统的版本、系统架构以及它所依赖的模块等因素。否则应用安装时会改动系统的不同部分,容器作为应用的包装,它最大的特点就是实现了应用的独立和便携,容器本身包含了应用所有的依赖,这使得它可以再任意的基础设施上运行,不会因为系统版本、架构的问题,而导致各种意外。

    什么是Docker

    Docker是容器管理平台,容器是应用运行单元,Docker用来创建、管理和销毁这些单元的,在创建和管理这些计算单元的时候,需要用到计算单元的包装(也就是它的软件发行包),这些包装以容器镜像的方式存放在它的运行环境中,所有的容器计算单元都是通过这些镜像来创建的。

    镜像本身会有版本的发布、升级等需求,这就涉及到Docker的另一个重要组成部分DockerHub了。DockerHub有点像苹果的App Store,它是一个非常大的「容器市场」,所有常用的软件都可以在DockerHub上找到。

    最后一个Docker的重要模块,就是用户界面和管理工具,它们用来向容器的运行环境发布命令或查看状态。只需要用一个Docker的命令加上一些参数,就可以实现创建、删除、查看容器的运行情况等操作,只需要安装好Docker就可以尝试运行这个Hello World的容器了,容器的典型应用可以分为两类:微服务和DevOps。

    什么是pod

    Pod是组合的多容器运行单元,也是Kubernetes的基础单元,可以看作是容器的扩展或者增强型的容器。Pod里面包括一个主容器和数个辅助容器,它们共同完成一个特定的功能。把多个进程(容器也是一种隔离的进程)打包在一个Name Space里的时候,就构成了一个Pod。Pod里面不同进程的应用包装仍然是独立的(每个容器都会有自己的镜像)。 

    Pod的意义在于既保持主容器和辅助容器的的密切关系,又保持主容器的独立性。由于主容器和辅助容器的生命周期相同,可以同时被创建和销毁,因此把它们放在一个Pod中,可以使他们的交互更加高效,另一方面主容器需要完成一些主要工作,而另一些工作可能是有共性的,就可以单独打包由辅助容器来运行。 非常推荐大家去一个叫Katacoda的网站,它上面有大量免费的在线实验,包括Docker及Docker Image等动手操作项目

    什么是微服务

    微服务是指系统的不同单元或功能运行不同的容器,每一个服务的容器数量可以根据自己的负载进行调整。比如,一个大系统包含用户登录、货品展示、货品交互等功能,但这个系统的各个部分并不是同时线性增加的,有些部分可能忙一些,有些部分的容量可能还有富余。 

    什么是devops

    DevOps是指开发者、测试、生产过程流水线化。因为容器的「自包含」特性,当它作为标准的流通物品,可以使开发环境、测试环境和生产环境的应用包装完全一致,这样就减少了应用由于依赖关系配置错误等导致的意外,从而使得开发、测试、生产的整个流水线变得更高效。

    二、理解云原生

    云原生(CloudNative)以容器化、微服务、可持续交付性,快速构建/运行弹性扩展应用,应用构建简便快捷,部署轻松自如,应用按需伸缩,云原生是一套技术体系/方法论。Cloud表示应用程序位于云中,而非传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

    云原生概括为4个要点:DevOps+持续交付+微服务+容器,云原生架构的应用系统应该采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。

    云原生构建应用简便快捷,部署应用轻松自如、运行应用按需伸缩。优点不一而足,缺点微乎其微;秒杀传统Web框架,吊打祖传IT模式,实在是保命装逼、评优晋级不可多得的终极绝密武器。

    三、本地测试-DockerDesktop

    本地使用docker-desktop安装mysql;

    官方下载地址:docker-desktop的链接地址

     安装过程中报错,WSL 2地址:wsl2

    设置国内镜像地址,并重启;

    {
      "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com"
      ],
      "insecure-registries": [],
      "debug": false,
      "experimental": false,
      "features": {
        "buildkit": true
      }
    }

     本地安装mysql是如此地复杂,但是在使用docker-desktop就非常的简单:

    # 拉取镜像
    docker pull mysql:5.7.29
    
    # 镜像运行之后就是容器container了,run就启动了该容器
    docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.29
    
    # 进入mysql这个容器内,在docker-desktop可以进入
    docker exec -it mysql bash
    
    # 进入镜像后就可以访问mysql
    mysql -u root -p //回车输入密码
    

    把window的telnet功能打开;telnet 127.0.0.1 3306端口可用,说明已完成安装,跟本地安装mysql相比快捷而省时间,秀的一批;

    四、后续学习路径

    1.学习dockerfile;

    2.云原生内容;

    展开全文
  • 简介:2020年9月18日,阿里云邀您参加2020年云栖大会——引领企业基础设施云化分会场。2020年9月18日,阿里云邀您参加2020年云栖大会——引领企业基础设施云化分会场。在数字新基建时代,IT基础设施成为企业数字化...

    **简介:**2020年9月18日,阿里云邀您参加2020年云栖大会——引领企业基础设施云化分会场。

    2020年9月18日,阿里云邀您参加2020年云栖大会——引领企业基础设施云化分会场。

    在数字新基建时代,IT基础设施成为企业数字化转型的一个瓶颈,企业需要更高的资源弹性,更有效的资源利用率,更灵活的响应业务的迭代和创新。通过云化,将基础设施从一个成本中心变为创新中心,赋能企业的核心竞争力。

    (欢迎点击此处链接进入直播间报名参与直播)

    专场-无二维码.png

    **1、构建企业级云上网络:企业上云必备 **

    各行业上云已成趋势,磨砺多年的阿里云弹性计算ECS已然服务了各行各业的客户,拥有面对各个场景的服务能力。随着大数据、人工智能、物联网、5G等技术的快速发展,百亿联网设备、海量数据、超低延时等需求都对现有的云计算模式提出了挑战,边缘计算应运而生,对公共云节点部署提出更高的要求。云需要从“场景的全覆盖”,扩展到“地点的无处不在”。为此,阿里云 ECS 正在布局云边端场景,支持多种形态的部署,与客户一起为 5G 时代的到来做好准备。

    2、弹性计算服务 助力客户All In Cloud

    介绍上云最正确的部署和运维方式,结合阿里的最佳实践,打造快速,安全,可复制,标准化的DevOps体验。同时介绍弹性计算在过去一年发布的新功能和平台能力,体现在ECS实例基础上,阿里云还提供哪些产品能力更新和在云计算行业的领先性。

    旭卿1.jpg

    3、构建企业级云上网络:企业上云必备

    企业上云已是大势所趋,互联网和传统企业的边界愈加模糊,网络则决定了总体企业IT系统架构。阿里云企业级云上网络协助企业降低上云难度和风险,选择合适的云上网络架构,充分利用阿里云的网络、安全、IT治理等能力,满足企业安全、运维管理要求,并通过开放平台和生态服务,全面构建云上企业生态

    4、云, 让灾备更简单,数据更安全

    云灾备不仅有着比传统灾备解决方案更高的资源利用率,同时也是一种降低IT成本、加速业务创新、演练常态化的普惠解决方案,让数据保护,可靠、可控,可见。依托于阿里云强大的技术能力和丰富的产品生态,阿里云混合云备份HBR,可以实现数据库,文件,大数据,虚拟机的全能备份,同时具有11个9的数据可靠性,并且空间几乎可以无限动态扩容。

    李洋1.jpg

    5、混合云存储助力医疗行业互联网转型最佳实践

    阿里云邀请医疗企业浙二医院,分享如何通过混合云实现传统业务与新兴场景的融合,并邀请行业客户数字化转型之路分享。

    李媛1.jpg

    6、面向企业CIO,一招破解存储预算和灵活应用的难题

    如何追本溯源,把IT预算规划好、用好是摆在CIO们面前的一个重要问题。邀请SAP嘉宾,介绍使用SCU的降低存储成本的最佳实践,如何基于基于SCU多产品抵扣能力,简化存储规划难度,提升灵活性。

    陶毅1.jpg

    原文链接:https://developer.aliyun.com/article/772244?

    **版权声明:**本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

    展开全文
  • 微服务架构云化指南

    千次阅读 2016-07-11 10:40:14
    来源:时代的寻路者 微服务的架构,大多可能只会想到我们把业务拆分成一个一个互相协作的服务“模块”,但是并非那么想当然地这么简单,这里我先不谈业务拆分的复杂性,因为它足够需要很多文章来分析了,我的...

     1.webp

    作者:高磊(世忠)

    来源:云时代的寻路者

    微服务的架构,大多可能只会想到我们把业务拆分成一个一个互相协作的服务“模块”,但是并非那么想当然地这么简单,这里我先不谈业务拆分的复杂性,因为它足够需要很多文章来分析了,我的后续文章会跟上,我这里先从执行架构角度来分析微服务的基础设施、通信以及应用框架的各种考量和思考。

    首先我们先不看那种财大气粗的大公司的资源体量下的设计思路,假设我是一家创业型公司的CTO,老板只给我小于20台的物理机(当然这看起来也相当豪华了),而且业务持续快速的发展,IT部门的系统压力越来越大,CEO要求是对业务快速跟进、高压强下没有宕机风险等等,我们怎么作这个方案?

    如果按照传统的方式:

    2.webp

    去做,比如上面的架构:

    • 所有东西在物理机上跑,在设计架构是不得不考虑现有的资源范围。
    • 依靠监控进行手动故障迁移,导致监控系统异常复杂。
    • 想象可以通过安装新的机器,得到性能拓展,但是均衡负载器实际成了最大的性能瓶颈,一旦崩溃,进群不可用。单机资源利用率不高!
    • 异地双活架构侵入性强,不得不在各种服务器节点上,尤其是集群治理以及数据库服务器上要保持同步策略。

    明显我们不得不在这有限的机器中不停的取舍和决策,更加可怕的是物理的资源数量限制了我们架构的设计思路,这反过来是限制我们平台的发展的,如果添加新的东西,也会影响其他已有的部分,真是狗血!居然让硬件限制了我们的想象力!怎么办呐?另外还有硬件水平拓展无法自动管理、容灾治理等等的问题,还有服务自理的问题,应用部署的问题等等,如何搭建基础设施以便简化日后的升级、维护和获得高可用性?

    先给一个整体架构:

    3.webp

    建议先不要做微服务(SAAS)这一层,先将物理机、网络、存储进行虚拟化,这一层提供IAAS的能力,这里推荐openstack来做这个事情,因为它非常成熟并且社区、文档齐全,但是它的设计是要涵盖所有业务场景,所以组件非常庞大,所以要用openstack的话,先要做减法并和其他组织内因素做平衡:

    1.    成本:财务问题对任何组织来说都是头等大事,可能我的决策最终会死在这个上面,因为CEO可能会卡我的脖子。所以需要先设计一个通用性的方案,以此为基准设计其他类型的架构,比如计算型(给大数据用的)、业务型的等等,有了基准,成本核算相对容易。最后,一个很靠谱的建议就是不必使用openstack所有的组件(这一点请查看官方的文档),做出一个最小化、简单、可用的集群架构就可以了,先up上去,然后慢慢添加资源,成本则为可以控制的,并且是有依据的添加资源。

    2.    上线时间:如果都把时间用在了搭建IAAS上,明显项目就要完蛋,因为老板给的时间是有要求的,所以也是上面提出来的要先建立最小化、简单、可用的集群的原因,并且长远来看,IAAS基础设施为减少后期在基础上花的成本是有很大好处的。

    3.    受利益空间:将来还可以将业务产品云化,变成公众产品变现,这是一个挺好的想法,峰值底下的时段,让外部用户也可以接入他们的应用,变现对超出预算的硬件投资是个很好的补偿措施,说不定会变成一个新的生意,这是公司喜欢看到的结果。

    4.    技术因素:

    规划计算资源容量

    当设计计算资源池时,有很多情形会影响到用户的设计决策。例如,和每种hypervisor相关的处理器、内存和存储仅仅是设计计算资源时考虑的一个因素。另外,将计算资源用户单一的池还是用户多个池也是有必要考虑的,我们建议用户设计将计算资源设计为资源池,实现按需使用。一个计算设计在多个池中分配资源,会使云中运行的应用资源利用的最为充分。每个独立的资源池应该被设计为特定的类型的实例或一组实例提供服务,设计多个资源池可帮助确保这样,当实例被调度到hypervisor节点,每个独立的节点资源将会被分配到最合适的可用的硬件。这就是常见的集装箱模式。

    使用一致的硬件来设计资源池中的节点对装箱起到积极作用。选择硬件选择硬件节点当作计算资源池的一部分最好是拥有一样的处理器、内存以及存储类型。选择一致的硬件设计,将会在云的整个生命周期展现出更加容易部署、支持和维护的好处。

    OpenStack支持配置资源超分配比例,即虚拟资源比实际的物理资源,目前支持CPU和内存。默认的CPU超分配比例是16:1,默认的内存超分配比例是1.5:1。在设计阶段就要想要是否决定调整此超分配比例,因为这会直接影响到用户计算节点的硬件布局。

    但是最终的问题是,任何合理的设计在经过一段时间之后就变得不合理,原因是业务的发展以及外部用户使用频率、方式的变化导致容量规划退化了,所以需要做阶段性的计划,不断根据监控反馈的负荷增加物理硬件或者调整执行架构(物理拓扑)!

    网络虚拟化规划:

    也就是所谓的SDN,IAAS的成败大都集中于此,网络通则一切都通,网络虚拟化包括链路虚拟化、路由器虚拟化、交换机虚拟化等等(具体如何做虚拟化大家可以查看Openstack的具体做法即可),举一个现实中的例子,日前有个飞机场的路由器挂掉了,结果整个服务不可用,飞机全部停飞,这个损失可是够大的!

    如果我们虚拟化了网络,并且在物理层提供多台路由器做冷备,那么当主路由器挂掉的时候,虚拟网络可以为我们切换到一台备机上,服务就不会间断!网络规划是个细活,我建议第一层网络作为外部API访问使用,第二层作为管理网络,用于管理员部署VM、监控等使用,第三层内部通信网络,作为内部节点和服务通信的网络。这样划分之后流量在专属网络中流淌,不会互相影响,也最大减少网络风暴的影响程度。

    存储虚拟化规划:

    传统的方式是一组机器负责数据库服务,一组服务应用服务器,但是数据库系统的底层是基于文件的,也就是说数据库服务器的根本结构是上层的数据库引擎+数据文件,如果数据文件都存储在这一组机器上,明显浪费了其他机器的资源,不过这只是一个例子哈,不要对号入座!

    我们虚拟化存储,就可以磨平大集群的存储的文件存储策略,有存储虚拟化组件管理文件存储,文件可能存储在任何一个地方,上层设施不必关心,但是需要采用何种存储虚拟化方案,是需要考量的,比如LVM还是cinder,另外就是我们需要把计算和存储虚拟化在同样的物理节点上,形成所谓“超融合架构”,最大化物理机资源的利用!

    综上我们会有这样一个适当可控的规模、简单、可用的IAAS架构出来:

     4.webp

    • 集群中一种是计算存储节点,另一种是网络控制节点,由于网络节点做了HA的高可用,所以任何一个计算节点宕机,只会影响其上面承载的虚拟机,不会影响其他节点,如果是一个可以预知的宕机,可以先将其上的虚拟机迁移到其他机器,这样就可以将对服务的影响降到最低。
    • 控制节点是主备模式,并且采用冷备的方式,但是数据库保持实时同步。因为这种私有云的架构对控制节点的依赖非常小,控制节点宕机,在不重启计算节点的OpenVswitch-Aagent的情况下,几乎不会影响虚拟机的正常运行。
    • 在网络的架构上,虚拟机网络通过网桥,采用Trunk模式,直接连接到交换机,具有较好的性能和极高的稳定性。管理网络是OpenStack各个组件通信的网络,包括镜像分发,虚拟机迁移等都是走这个网络。存储网络是虚拟机访问共享存储GlusterFS或Ceph的网络(超融合架构中,存储网络一般不独立使用)。
    • 超融合架构的目的,是最小化硬件集群的规模,充分利用硬件资源、在保证最小单点失败可能性下,保证IAAS建设的顺利实施,把存储层虚拟化成统一的资源池,并且存储离计算很“近”,文件和数据本地化的优势就是性能得到了很大的提升,有比与Hadoop的datanode会把数据本地化一样,提高了效率。

    当然亲的openstack实施更需要谨慎从事,以上的架构建议,您可以在一个隔离的最小化硬件集群中作实验,一步一步验证,逐步建立一个恰当的IAAS,openstack的组件太多了,并且还在发展,所以给您的建立就是先要做减法,分步实施!

    接着,我们有了IAAS之后,就相当于我之后很少考量物理层的问题了,它为我们的CAAS云保驾护航,我们所要做的是针对N个VM来考量(不可能是N个,越多可能越慢,这个需要一个规划的红线,主要是监控要跟得上去)我们的CAAS的架构,这样就极有很少的限制了微服务架构的发展!

    我们在IAAS上加入容器云之后,就有这样的一个私有云能力平台架构了(有关CAAS应当具备哪些能力,后面有表格说明):

    5.webp

    接下来,我们先把CAS-k8s本体放在一旁,我们来看看应用架构,它也影响了我们对CAAS设计的决策,正所谓业务驱动技术,这一点有一定道理!

    假设我们现在有这样一个传统应用架构(烟筒型应用):

    情形一:单一块状设计和部署方式

     6.webp

    情形二:比第一种好一些

     7.webp

    因为单元功能被解耦了,但是依然是整体化单一化部署模式,无法很容易的拓展,性能弹性也比较差,开发缠绕也比较厉害,开发不得不得依赖于模块关系,整体系统无法做到性能和容灾和合理的分布。

    情形三:比之前的都好

    8.webp

    但是,均衡负载挂了,怎么办?好,那就搞个热备!DB如何保持同步?好,再搞个同步复制,性能上不了怎么办?好,再搞个读写分离……,似乎没有问题?

    单个服务器挂掉,还有另外几个!上了新服务器,手动改一下配置表…..

    一看监控,同时只有一个服务器在提供工作,单进程Web服务器程序无法充分利用系统资源!成本越来越高!

    情形四:SOA!

    9.webp

    这个接近很优的情况了,为什么哪?因为SOA将业务拆分出来,并且每个进程一个承载一个SOA服务,很像我们之后要做的微服务架构,每一个服务自治发展不会影响其他服务的设计、高度容错、提供弹性!

    • 单体出现问题,或者某个机器出现问题,因为不同物理节点部署不同的SOA服务,所以整体只是失效一小部分,大部分可用。
    • 每个SOA独立部署,可以同步开发。
    • SOA调用其他SOA,协同完成业务任务,这一点和微服务一样的。

    但是与我们将来的微服架构有什么差别哪?微服务更加讲求较小的业务API粒度、内建环境自治、异构技术栈,可以说它是更加灵活的SOA:

    • 较小的粒度,但是也不能太小,调试和测试就比较麻烦了,要适度,这是业务拆分的难点。
    • 内建环境自治:这不是微服务必须的,但是有了它,我们就可以将一个服务背后的小体系结构打包,针对每个服务面对的不同业务场景在技术架构上进行针对性的设计,这就是为什么我们说Docker是微服务很好的宿主环境,但是微服务和Docker不一定是强绑定的关系,Docker有那么多好处,干嘛不用?
    • 异构技术栈:微服务推荐采用轻量级通信协议,比如REST,可以采用不同的技术栈所建立的微服务进行相互调用。

    前面说了我们有个IAAS,用openStack实现了,我们决定paas用CAAS作为PAAS层,为我们的微服务业务框架提供基础环境(有关CAAS-k8s提供的分布式和服务治理能力,请参考后面的表),这样我们就有了一个完整的运行时治理环境,接下来可以考虑业务架构了,不过我这里要提醒一下:

    • 应该最先从业务场景考量基础架构
    • 确定基础架构之后,继续考量业务架构
    • 不断重复,直到把技术规划和业务建模精细化。

    假设我们将来有一个微服务业务架构:

    10.webp

    一个框代表一个微服务,红线代表调用关系,和SOA很类似,我们看一下某一个微服务块中的治理结构:

    11.webp

    • 提供一个服务抽象Gate,透明化一个微服务内的Docker集群,此Docker集群可能分布在不同host节点上,服务调用方并不知道这些,容灾自动迁移、服务治理全部透明化和自动化,docker有独天独后的条件,就是拉起来运行很快,销毁也很快,调用方几乎感觉不到。
    • 还应该把这种能力基础设施和应用服务本身的代码全部隔离起来
    • CAAS能力指标可以参考后面有关容器治理能力的表
    • 比SOA更加可封装不同的内部架构,更加自治,更加快速
    • 在CAAS SDN的架构下,通信更加高效和透明。

    基础业务服务需要考量它的通用性,上层服务基本都是功能编排和流程编排,我们拿商品中心基础服务为例子,来说明基础服务的设计(这里就不画图了,这个具体业务细节相关,不过下面给出思路):

    • 不同商品可能会有不同处理流程,订单的模式也可能不同,所以首先要有一个定义流程的机制,比如JBPM
    • 然后在生成订单的节点绑定订单模板,以便不同流程下生成不同订单格式
    • 对商品打标,并在标上绑定某个流程,因为标签可以重用,流程必然可以重用。
    • 商品本身进行拓展模式的设计。
    • ….

    总结出思路:

    • 为商品进行抽象,也就是把业务实体、流程、功能进行抽象和分离,提高它的独立性,减少因为业务变化引起的波动。
    • 考虑通用性,不同业务场景可能需要不同的商品schema,需要设计好拓展结构。
    • 商品实体被抽象出来之后,还要考虑如何维护它的数据一致性。
    • 设计好数据存储层面结构的设计,主要是共同字段和拓展机制的设计,可以适应各种场景的要求,这就是抽象的意义所在。

    以上种种实现了基础服务的通用性。

    我们再深入下去,看一下更细的基础服务实现架构:

    1.因为上层业务服务应该向稳定的一方依赖过去,防止业务变化的扩散化,所以我们考量在基础服务上采用命令与查询分离的架构,具体如下:

     12.webp

    写侧:

    • 将基础服务API抽象成命令模式,并由CommandBus负责路由到一个具体的CommandHandler进行业务逻辑处理(有关路由的实现设计,可以参考后面有关应用框架的设计思路),commandHandler负责进行业务逻辑处理。为了简化它,它只需要针对Domain实例进行setter操作,Domain从数据Service(请看图)“水化”出来的,带有业务数据,我们只需要在commandHandler中根据业务逻辑进行判断和对domain的setter(就是通过其setter设定数据的意思)操作即可,最后交给Repository。
    • Repository负责将Domain包装成Event类型,并将事件记录到EventStore(有可能是DB,也可以是文件,如果是文件最好保存在分布式存储中,比如HDFS中),同时通过EventPublisher发布事件,事件中心queue(一般采用kafka)会对订阅者进行分发。
    • 事件订阅者是一群EventHandler,它们可以根据Event类型以及包含的Domain数据进行解析和保存到业务数据库中,此时一个上层的业务功能可能会通过基础服务层激发一群EventHandler的工作,每个EventHandler有可能在不同的微服务Node上,提高了效率,并且提供事务群的机能,将一群EventHandler的写入活动用事务群包裹起来,保证一致性,所有激活的事件都有一个EventId关联起来。

    读侧:业务数据查询引擎的设计:

    记得前篇的一片文章分析过,我们如果不把查询做得更加通用,就会有一个尴尬的局面,1:1针对业务设计查询的话,那就是会有API膨胀的问题,您的架构这会朝不保昔,逐渐腐化,所以查询部分要设计成“逻辑后推”模式,做成查询引擎,基本结构如下:

    13.webp

    有人可能会问,为什么基础服务会这么设计?这里隐藏着好几个维度的考量:

      • 暴露给上层调用者的是data API,它们不需要关心数据的问题,也就是数据一致性、异常处理、数据完整性逻辑等等,上层微服务变成了单纯的功能、流程编排。
      • 写侧与读侧彻底分离,世界上的软件系统存在这样一个规律,就是写的少,读得多,一般读写比是10:1,甚至更大,具体读写比这个和业务场景有关,大家都清楚我们要做数据库的读写分离,也是这个原因,但是往往应用层没有分离,也造成热点集中了,所以也要分离。
      • 写侧通过记录两个库的数据来维持完整性,event库保存着所有对系统副作用的记录,这些记录由着统一的格式,可以认为是一种log,和mysql的binlog一样,它记录所有东西,另外一个业务库,它负责保存业务数据,它基本可以使用分布式数据库中间件,比如mycat来进行集群透明化处理,它会自动分库分表和读写分离,进一步保全数据和保证性能。
      • 读侧通过插件式查询引擎从业务数据库抽取上层想要的数据。
      • 上面的设计还带来了一些很好的副产品:

     

      • 通过监控系统返回的数据所指明的热点用户群,比如1%的热点用户流量隔离到一个独立的业务系统域当中去,我们可以在CAAS层(使用docker几乎是非常快的,这是它的很大的优点)使用诸如K8s名字空间的办法快速隔离出一个容器集群并拉取代码重建一个相同的业务功能系统,并从原先的系统中的event库中拉取event发送给新隔离出来的系统的事件中心,快速重建一个克隆的系统,并发热点用户流量隔离到这个系统中。保证热点系统分配更多的系统资源,保证热点不扩散。
      • 多版本回滚,当我们做错事情的时候,我们利用是event库中的某个版本的事件记录回滚业务数据库的数据,做到多版本推送更新和快速业务错误止血的作用。
      • 快速错误定位,一旦是写侧出问题,那么一定是写侧有bug,如果读侧有问题,那么一定是读侧有问题,再加上log,可以很容易定义问题所在!

    因为有了基础数据微服务层,上层就不需要考虑太多有关数据的事情,专心关注功能和流程编排的设计和开发。

    为了开发落地,需要设计和开发一种应用框架,提高应用或者业务开发效率,减少开发人员风格以及思想不一致导致的错误(这个进程内模型,以及进程间通信模型,采用SpringMVC拓展而来,如果有人对框架感兴趣,我有现成的源码,我自己开发的):

    14.webp

    • 接入层:负责转换通信协议或者格式,负责暴露API提供给外界,负责接入安全、吐出和端相关的schema数据,做到多端适配。
    • bizhandler容器:容器提供根据版本+服务名称+API名称的路由机制,提供多版本混排的能力,定位具体API服务实例并通过反射调用方法提供服务。Biahandler是一个普通的POJO,它是按插件的方式插入到微内核的
    • 插入的方式采用SPI的方式,动态加载到内存中,并且自注册到本地版本注册表当中,我们可以通过一个微服务管理portal来部署和卸载某些bizhandler,做到业务插件化,升级动态化。
    • 服务集成器层:可以通过统一接口将内部和外部服务,比如推送、短信等等集成到Context通道中,bizhandler通过context获取服务,屏蔽不同服务差异性和实现细节,我们的基础层数据服务也是这样集成到上层微服务当中去的。
    • MEX:元数据交换机制,调用方与本方基于契约进行通信,方式是调用方先访问MEX节点获取json-sechma表示的接口契约,并解析去调用目标服务API,而它自己会进行缓存,而不必每次都要查询MEX,每次契约升级,比如依赖的一侧的接口定义变化了,就直接通知上游微服务更新接口契约缓存,达到解决因为接口升级而造成的兼容性问题。
    • 异常处理统一化处理:为bizhandler以及集成服务层提供统一的异常处理器,它们使用traceId关联,并发送到log模块以及接入层异常处理模块。
    • 日志统一化处理机构:采用客户端产生的traceId并使用AOP埋点异步发送日志到日志服务器(比如open-flacon)完成日志收集,日志收集侧使用traceId关联分析出来整个调用链以及RT情况。
    • 将基础数据层的数据包装成一个一个和领域业务相关的工具库,简化业务开发的难度。
    • 分布式缓存集成:可以透明化的进行数据缓存,而开发人员不必关心,失效策略是,为在查询数据时根据一定规则生成一个key,并写入缓存代理中,并在底层基础数据服务层的增加EventHandler,在写入事件发生时根据key更新或者失效缓存项。

    有了以上这套东西,基本上可以解除业务变化快、修改频繁、业务开发人员容易出错等等的问题,不过世界没有银弹,必须要不断改进和沉淀才可以!

    其实实际情况要设计一个电商是超级复杂的,所以上面的例子只是为了说明微服务业务架构的一种思路罢了,具体情况还得具体分析。

    但是仅仅在应用级别上有一套框架,依然解决不了很多问题的,我们需要有一套业务服务治理的策略和运行时服务治理策略,其中运行时治理策略,诸如k8s这样的CAAS平台可以提供,这里我们着重讨论一下业务服务治理的话题:

    • 缓存失败重试:在接入层或者RPC层设计一套可配置的缓存重发机制,方调用失败它能够根据配置重试N次,失败后通知集群管理器重新调度。
    • 异步与同步依赖治理:在分布式配置系统上建立开关系统,其中建立一套异步和同步治理的开关,对同步调用的服务(只发不回的API)可以切换到异步,在特定场景优化链路调用T时间,但是需要是没有业务逻辑依赖的调用才可以这么做。
    • 组件依赖关系治理:依赖关系可视化,优化依赖关系拓扑。
    • 任务型计算并行度自动划分:根据让TASK自动记录自己的执行时间,并由框架计算其执行时间KPI,给任务定义打标,逐渐动态达到准确化,通过打标,区别长任务和短任务,短任务就地计算,长任务推入工作线程池执行计算,提供任务拓扑设计器,告知执行器哪些任务可以并行执行,哪些必须顺序执行。
    • 幂等性:提供幂等性支持组件,防止某些业务场景下,重复提交造成的问题,比如“重复发货”
    • 接入端防刷机制,如果同一个调用被重试了N回,并且成功,说明有刷单的嫌疑,对此用户进行标注,由接入层阻拦。
    • 对微服务进行优先级设定,高峰时期,低优先级服务进行优雅降级,由CAAS平台动态平衡资源,保持系统稳定。
    • 热点隔离:基于log以及KPI实时计算,进行热点隔离,并为它提供更多的系统资源(比如水平拓展更多的docker,这些docker将被自动分布在不同node上),保证整体服务稳定。
    • 建立业务逻辑以及规则的元数据化机制,提供类似git方式多版本推送的能力,当业务出现问题,快速回滚到上一个版本,止血。

    15.webp

    *有关元数据管理平台,之后的文章会有讲解

    • 内部通信采用RPC,不过你要关注它的码流、序列化效率、线程模型是否高效、地址透明化等问题,减少内部通信的延迟!

    16.webp

    那么最后我们需要把这些部署到k8s上,那么k8s本身的考量和设计就非常重要了,接下来我们看一下k8s本身:我们需要考量什么东西和作什么样的架构决策。

    17.webp

    k8s-运行时服务治理能力说明:

    18.webp

    640.webp

    K8s-CAAS执行架构(物理拓扑)如下:

    19.webp

    以上是简化图,后续有关执行架构的文章会详细说明。

    异地多活技术:

    20.webp

    有关运维、监控、客户端架构设计、安全方面、异地多活等话题,因为这些话题也是好大好大,所以我会在后续文章讲到。

    总结

    我们要把控全局,关键因素要心里有数,关键部分逐步验证,分步实施,不仅仅是要有大的架构规划,还要有细到应用框架的设计,保证全栈形成有机整体,而不是脚痛医脚,头痛一头,做到统一化治理,注意成本平衡,相信我们会越做越好!

    展开全文
  • 云原生(CloudNative)将成为应用云化开发的主流方式 原文地址:https://zhuanlan.zhihu.com/p/27196777 1 什么是云原生(CloudNative)平台? 2015年谷歌成立了原生云计算基金会(CNCF),...
  • 从图上可以看出亚马逊排名第一,微软第二,谷歌云排名第三,阿里排名第四,腾讯和华为目前还没入前五。 2019年第四季度,中国云计算市场规模达33亿美元,持续保持高速增长。相比上一季度,市场领头羊...
  • 2019,原生技术的商业元年

    千次阅读 2019-01-09 19:08:58
    、大数据、人工智能、物联网和区块链等数字技术所驱动的企业数字转型,最终的目标是什么?这就是原生的数字企业,或者称为数字原生企业。简单的理解,数字原生企业,其核心竞争力在于大规模的软件的开发、...
  • CloudDB 内 置 集 成 了大 数 据 分 析 引 擎, 可对自身存储的数据进行汇聚分析,也可通过数据联邦的方式获取网络中的其它数据源...其不仅满足灵活多元的新业务开发,更突出的是大大缩短 TTM,实现新业务快速上市。
  • 传统框架云化迁移到内存数据平台

    千次阅读 2016-03-02 21:22:03
    12306混合云成功案例给予最大的启发就是打造一个从下到上都可做弹性扩展的“云应用”系统,企业客户可将关键业务的“子系统”部署在资源丰富的云计算数据中心,“云化”后的子系统可“按需”获取所需要的服务器虚机...
  • 近年来,随着生活水平的不断提高,人们对于农牧产品的质量要求也越来越高,提高产出和质量已经成为畜牧养殖业的迫切需要,但缺乏有效管理手段,疾病频发以及多个农场、棚舍之间繁杂的劳动已经成为制约畜牧养殖业...
  • 华为SD-DC²架构, 聚焦数据中心云化

    千次阅读 2016-02-24 14:14:11
    华为云数据中心解决方案聚焦于云时代IT架构下的数据中心云化,提供整合、端到端、全层级的数据中心架构,通过持续创新、合作共赢,帮助客户创造更高价值。
  • 女士们、先生们,各位老朋友、新朋友,大家上午好!非常高兴在同样的地点跟各位...这次大会的组委会给我定的主题是《全面推进云化,使能数字化转型》,我一直在思考怎么把全面推进云化和数字化转型能够有机的衔接起来。
  • 根据 Gartner 统计,2015-2020年全球云计算市场渗透逐年上升,由4.3%上升至13.2%,至2021年全球云计算渗透将上升至15.3%。 在前不久刚刚闭幕的2021阿里峰会上,阿里智能总裁张建锋提出2021年阿里的发展...
  • 一、腾讯——腾讯增长新引擎 财报显示,腾讯服务收入在2018年增长超过100%至91亿元,接近百亿。2018年第四季度,云服务的付费客户也同比增长逾一倍。 作为腾讯新的增长引擎,腾讯发展十分迅猛。2018年前三...
  • 负责12306改造的技术架构师刘云程从技术的角度、用科学论证的方式说明 12306是如何实现高流量高并发的关键技术,以及深入探讨了12306两地三中心混合云架构,今天,他继续为大家带来第三篇:传统框架云化迁移到内存...
  • 对于非技术人员来说,要搞清楚所有种类的桌面,确实有点难度。况且网上铺天盖地都是商家做的软文,这时如果肚子里没点墨水,真的很容易被人忽悠。今天小微从方案原理、优缺点和市场趋势跟大家梳理一下目前市场上...
  • 自动测试体系不完善、缺少自助式的持续交付平台、系统间耦合度高服务...11月23日,京东开发者社区和英特尔联合举办的「京东DevOps自动运维技术实践」沙龙在上海落地,为开发者们分享京东在DevOps上的经验...
  • 背景:周末有幸亲自聆听了...自由执业(医生职业)是新医改是否成功的标志【0】,本篇博文继续从一名传统医疗信息行业从业者角度出发,探讨“未来医生职业大环境下,传统医疗信息厂商(HIS、LIS、RIS、PACS)的变革
  • 引言:华为瑶光(Alkaid)作为面向、AI、5G时代的分布式操作系统,承载未来“分布式、确定性、多维智慧”的,...伴随华为持续的规模扩展及服务种类创新,必须通过底层全链路的数字,才能进一步优化经...
  • 网易音乐的个性推荐算法简析

    千次阅读 2020-04-30 16:52:42
    网易音乐的个性推荐算法简析 本文是一个云村九级用户,根据多年的使用体验,对网易音乐个性推荐系统(私人FM,每日歌曲推荐,推荐歌单)运作模式的猜测分析。 很早以前刚开始使用网易音乐的时候,我就对...
  • 云计算是一个平台,而搭建云计算...相对于传统的方式而言,基于虚拟技术搭建的平台有着想当大的优势,主要体现在以下几个方面: 1.易伸缩,可伸缩性是指系统通过对资源的合理调整应对负载变化的特性,以此来...
  • 腾讯虚拟:坚定的开源主义者

    千次阅读 2020-11-05 16:02:19
    除此之外,针对大规格虚拟机(多CPU和大内存)场景中性能下降明显的问题,腾讯经过深入研究和探索,自主设计了完全支持CPU并行的vMMU方案,克服了KVM原有设计中CPU执行被迫串行带来的性能损失,实现了虚拟机内存...
  • 2017年中国ERP市场增长高达76.2%

    千次阅读 2018-06-26 09:47:59
    这份业界首次发布的ERP报告认为,2017年中国ERP市场规模为21.5亿元,增长为76.2%。2017年中国ERP市场份额排名第一位的是SAP,占比13.0%。ERP应用规模最大的行业是新零售,应用最多的区域是华南地区。2017...
  • 平台的成本优化-提升资源利用

    千次阅读 2020-07-02 08:36:00
    引言有个朋友和我探讨“大型平台如何提高资源利用,以优化资源成本”,我当时很兴奋,这是行业走向成熟的标志,为了整理思路我还特地写了一个提纲。后来我采集行业信息去完善和验证这个议题...
  • 说起私有,相信大家应该都不会陌生,同时也会想到私有的概念,在几年前,私有通过虚拟的技术就已经改变了传统企业的IT架构,全球各地的企业纷纷在其数据中心实施私有,以扩大虚拟优势,提高敏捷性,...
  • 【摘要】 服务来自于真实世界的映射。对于微服务,我们也要寻找真实世界的隐喻。 上篇主要讲服务,下篇我们谈谈微服务。很显然,服务来自于真实世界的映射。对于微服务,我们也要寻找真实世界的隐喻。 1....
  • 现在,有个别中小型的或区域性的IDC,守着自己的“一亩三分地”,同时再给BAT做做代理,可能日子过得也挺...在业务方面,由于业务结构单一,缺乏增值空间,不能全面满足时代客户的应用需求;在资源与技术方面,只能提
  • 资源按峰值配置,独立不共享,服务器利用低 大量使用小型机,或SAN存储,成本高 系统部署扩容环节多、周期长 期望: 打破原有模式(每个平台厂家提供软、硬件),统一构筑硬件平台,只向业务厂家采购...
  • 更多关于【+X 案例征集】的相关信息,点击了解详情丨挖掘展现更多优秀案例,为不同行业领域带来启迪,进而推动整个“+行业”的健康发展。 ​​​​ “2004年到2015年,是中国农机行业的黄金十年。”江苏沃得...
  • 时代IDC自动运维的几大神器

    千次阅读 2016-09-18 10:27:41
    自动运维是数据中心、互联网企业高度重视的方向,数据中心的从纯手工、重复地进行...在时代的数据中心实现预设自动安装服务器环境、应用环境等不仅提供数据中心的运维效率,而且还能大大减少运维的工作任务及出错

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,780
精华内容 49,912
关键字:

云化率