• 微服务 Micro Service

    一花一世界

  • 微服务有什么用

    什么是微服务?

    相对于单体(Monolithic)应用而言,微服务是采用一组服务的方式来构建一个应用,服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信,例如 RPC、HTTP 等,服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护。

    微服务的价值

    首先,在功能不变的情况下,应用被分解为多个可管理的服务,每个服务开发、维护变的简单。

    其次,每个微服务独立部署,开发者不再需要协调其它服务部署对本服务的影响,这可以加快部署进度。

    最后,每个服务可以自行决定自己的容量。

  • 希云微服务解决方案

    内置微服务框架和各种中间件

    平台内置常用微服务框架的基础组件,包括服务注册,服务编排,服务发现,配置和负载均衡等基础组件。这些基础组件可以通过一键部署快速实例化,使开发者从中解放出来,可以把精力全部投入到微服务业务的开发中去。

    集成微服务的CICD流水线

    为微服务建立统一的持续集成配置,支持从应用代码变更到代码编译、打包构建并进行测试和发布的能力,加快了应用开发、测试和最终上线生产环境的速度。

    强大的微服务运行平台

    平台通过容器运行引擎为微服务应用提供了包括资源调度,资源配额,健康监控,故障自动修复,自动弹性伸缩,灰度部署,升级回滚,日志收集,高性能负载均衡等在内的强大的运行支撑平台。

  • 希云微服务的优势

    编排快速,使用灵活

    内置的微服务基础组件和各种中间件,方便快速编排起一个复杂的微服务系统。各种组件和中间件可以非常灵活地组件使用,满足各种复杂需求。

    端到端的微服务体验

    通过容器平台为微服务应用提供了完整的运行支撑,涵盖了微服务框架无法涉及的各个方面。

    高性能高可用

    通过容器平台内置的自动扩缩容,故障自动修复等能力,使微服务的每个单元都能轻易地获得高性能高可用的能力。

  • 欢迎体验我们的微服务解决方案

  • 自动化运维

    从枯燥的重复操作中脱身,聚焦于业务支撑规划

  • 自动化运维的挑战

    SLA保障

    运维工程师对生产环境可用性负责。如何达到99.99%的可用性,对于运维人员而言是一个巨大的压力和挑战。特别是在一个频繁发生变更的系统中,如何达成这个目标,需要高超的系统架构设计能力。

    复杂性

    为达成可用性目标,系统架构设计上不得不考虑HA、服务扩展性、备份冗余、容灾等机制,并在变更操作上进行风险控制、自动化处理等。所有这些综合起来是一个复杂的工程。

    标准化

    对于大规模的IT设施管理没有自动化是无法想象的。不仅仅是因为自动化大幅度提升了效率,还由于自动化能够大幅度降低故障率。然而自动化的前提是标准化,没有标准化,自动化是不可能达成的目标。

  • 希云自动化运维方案

    升级回滚

    对于不同的应用场景可能用到不同的升级方案。滚动升级计划升级灰度升级失败回滚

    配置变更

    生产环境配置变更很常见,当需要修改配置时,在中心修改,修改后再统一下发,并触发生效。当变更错误,快速回退恢复服务。

    扩容缩容

    扩容缩容依赖服务发现的能力,即增加的节点能够在服务可用后加入到服务注册表中对外服务,在减少节点时要能够优雅地关闭并从服务注册中删除。扩容缩容既可以根据系统或者业务指标自动触发,也可以人工触发。

    服务自愈

    通过定义服务的健康检查规则以及恢复的动作,可以有效提升服务的可用性,提升运维管理水平。

    日志管理

    日志管理一般分为多个阶段,从采集,传输、归类、存储、展现、查询分析等。日志采集从流式(stream)或从文件中读取,并采用一些通用的日志传输协议如syslog等将日志实时传输到中心,并实现日志的分布式存储和分析,最终提供展现、查询等能力。当前比较流行的开源日志处理方案为ELK。

    监控告警

    获取主机和容器的资源消耗,并实时汇总到监控数据库(TSDB)中。监控数据库一般采用时序数据库。并对外提供数据统计的API接口,汇总到其它的监控平台中。

  • 希云自动化运维方案的优点

    提升标准化

    容器有助于开发测试生产的一致性,以及操作流程的标准化,这使得提供一个统一的运维管理平台成为可能。在过去每个公司做自动化时往往是制定自己的“小标准”,甚至是多个“小标准”。带来问题是方案很容易碎片化,最终导致管理复杂度太高。

    灵活性更高

    运维为了提升服务的可用性水平,往往会对开发实施非常严格的规范约束,这些约束并不总是有利于开发部门开发出更好的应用。使用容器技术后,运维更加关注容器基础设施的健康运行,开发运维的分工更加清晰。

    强化幂等性

    幂等性是指同一个操作执行多次可以获得相同的输出。这对于运维中的变更操作可以提升正确性避免更多的错误。容器天生具有强幂等性。

    管理一体化

    管理工具和管理方式的统一有助于运维工作的开展,包括多种工具的集成。使用容器技术来统一管理,降低了对零散脚本的需求,并且更加高效。

  • 欢迎体验我们的自动化运维解决方案

  • PaaS平台即服务

    One Day One PaaS

  • 为什么PaaS比IaaS建设更困难

    应用多样性

    没有两个一模一样的树叶,也没有两个一模一样的应用。如何让平台适应应用的多样性需求,是个巨大的挑战。毕竟每个应用需要的软件、运行的参数、需要的规模等都存在很大的差异。

    基础设施多样性

    单一的基础设施时代已经是过去时。不论是物理的基础设施、虚拟的基础设施还是云的基础设施,如何让PaaS平台能够适应多种不同的基础设施同样挑战巨大。

    技术发展过快

    每隔半年到一年就会有新的技术栈出现,这是一个百花齐放的时代。如何让平台具有持续不断的生命力,不断容纳新的技术能力,这是平台设计初始就应当考虑清楚的重要事情。

    已有应用的融入

    已经开发的应用,如何能够柔性地迁移到PaaS平台中。对于有历史的企业,平台建设不考虑遗留的应用是不现实的。已有的应用承载着企业重要的业务,保护已有投资非常重要。

  • 希云PaaS方案

    基于容器标准化

    容器是一种封装的、标准化的运行载体,它拥有标准的打包、标准的操作接口、标准的运行规范,基于标准化的平台才能拥有更强的生命力。

    运行和管理分离

    平台纵横式设计体系,纵向是管理体系,横向则是运行体系。管理能力和应用运行在设计上完全分离,管理功能故障不影响应用运行,反之也是一样。

    按需快速定制

    真正的One Day One PaaS,每个应用都可以通过搭积木的方式快速组合出自己需要的运行环境,且可以进行横向的统一管理,真正实现了共性和个性的统一。

    集成CICD流水线

    每个应用拥有自己的代码仓库、持续集成配置,并且支持从应用代码变更到代码编译、打包构建并进行测试和发布的能力,加快了生产应用的速度。

    拥有自动化运维能力

    平台中运行的应用,都拥有升级回滚、配置变更、扩容缩容、服务自愈、日志管理、监控告警等自动化运维的能力,真正实现高效的运维。

    从开发到生产全流程

    开发环境既需要和生产严格隔离,但又需要能串联起来,尽可能保证两个环境的一致性,这可以大大降低甚至消除因为环境差异造成的各种问题。

  • 希云PaaS方案的优势

    平台主动适应应用

    按需定制PaaS的模式,使得应用不需要削足适履地去适应PaaS平台,能够按照开发者自己的习惯和特长,高效地开发出好的应用,这使得平台更加容易在企业内部推广,降低了平台失败的风险。

    平台主动适应基础设施能力

    平台自身不创造基础设施,而是最高效地利用并发挥出基础设施的能力。让应用能够顺利部署到不同的基础设施环境中,降低了应用对单一基础设施的依赖性,甚至能够让应用在不同的基础设施之间进行低成本的转移。

    平台自身可进化

    技术总是在不断变化,当更先进的分布式系统、AI技术等出现,将他们纳入到PaaS平台的统一运行管理体系中,大大增强了平台的可持续发展能力。希云One PaaS平台可以轻松实现能力的不断延展,包括一些行业能力、大数据API能力的快速纳入。

    十年PaaS运营经验的总结

    希云One PaaS平台是团队总结了十年以上PaaS运营经验后开发出来的方案,因此具有非常强的实践性。并且团队在PaaS方面丰富的运营经验,也可以为企业提供更好的建设咨询指导,避免走太多的弯路。

  • 欢迎体验One Day One PaaS

  • 开发测试环境管理

    随时都可以获得干干净净的环境

  • 开发测试环境管理的难题

    环境搭建费时费力

    服务器环境复杂,部署难度很大。且涉及关联系统面广,自动化程度很低。缺乏有效的环境一致性管理办法,环境的配置变动无法有效管理,容易因环境不一致而增加项目测试成本。

    资源回收难度大

    开发环境运营的时间久了,往往会存在大量虚拟机占用着资源不能释放出来,即使有些开发机一年只需要使用一次,也会一直运行着。由于手工重构环境的时间成本过高,大家都不愿意回收。

  • 希云开发测试环境管理方案

    项目开始开发时,需要对整体项目用到的所有软件栈做一个编排配置,配置完成之后,就可以分享给团队所有的人部署自己的开发环境,这样每个人员拥有自己完全独立的开发调试环境,避免相互之间的冲突影响,但同时大家的环境又都是一致的,避免了后期由于不一致导致的集成难的问题。

     

    通过代码发布系统向开发环境提交代码并不断调试应用,并在提交测试之前,项目组做一个代码集成调试。一旦通过,就可以对应用进行打包,并将打包生成的镜像推送到镜像仓库中。

     

    最后将镜像和配置分享给测试部门,部署到测试服务器上。测试完成之后,可以将测试环境销毁。

  • 希云开发测试环境管理方案的优点

    一次配置多次复用

    一个项目的开发环境,只需要开始时配置一次,然后在团队中分享,方便所有人快速搭建开发环境。

    简化交付环节

    从开发到测试的交付更快,正确性有预期。开发只需要将镜像和配置交付给测试,就可以在测试环境中顺利运行,避免安装配置。

    隔离开发环境

    一个项目团队共享一个开发调试环境,带来的弊端是相互之间会发生冲突,比如数据库变更或者某个配置错误,往往会影响整个项目团队。

    多版本并行测试

    由于容器天热的自包含以及相互隔离的特点,使得多分支多版本的并行测试,成为可能。在过去则需要为每个分支版本准备一个独立的环境,测试环境管理复杂。

  • 欢迎体验我们的开发测试解决方案

  • 持续集成持续交付

    缩短应用开发周期必须掌握的技能

  • 持续集成CI

    为了解决软件开发过程中一个项目内多个开发者代码合并问题的一种工作方法。持续集成要求每个开发者尽早把代码合并到团队共享的代码仓库主线里。合并之前通过运行自动化测试用例,保证只有通过测试的代码才能合并到主线里。

    持续交付CD

    在持续集成的基础之上,通过更加全面的测试、自动化的重复部署验证等手段来保证主线的代码随时处于可交付状态。其目的是缩短软件发布周期,降低交付风险。

  • 希云CICD解决方案

    希云CICD解决方案是基于Jenkins和SCM(如cvs、svn、git以及其它商业的代码版本管理系统),并集成了cSphere平台的应用部署销毁API能力,以及Pipeline流水线支持,开发人员能够监控构建过程的每一步。

     

    通过代码仓库的钩子(Hook)能力,触发自动构建工作,并将自动构建生成的可执行程序以及其它依赖的各类软件进行打包,一起部署运行起来,然后执行自动化的集成测试代码。

     

    如果通过了集成测试,说明代码处于可发布的状态,这时就可以合并代码到主线,并将构建生成的镜像推送到镜像仓库中。

     

    最后将测试的环境销毁掉,下次需要做CICD时再部署,不需要长期保留,既避免了资源浪费,又能保证环境始终是新鲜的。

  • 希云CICD优点

    改变交付方式

    过去是代码加文档脚本,使用希云CICD方案后是通过镜像和配置模版,通过标准化减少了脚本编写工作,并对正确性能有一个确定的预期。

    测试环境无污染

    由于容器自包含和易于销毁,使得维护一个干净的测试环境成为了可能。对比使用容器技术之前,一台测试服务器上如果测试了多个项目,服务器上的环境配置往往是杂乱无章的。

    并行测试互不影响

    多个分支版本在自动化测试时,需要的依赖可能是有差别的,除了网络端口的冲突外,依赖的配置也可能有冲突。通过调用希云cSphere产品的应用部署能力,解决应用多版本测试冲突的问题。

  • 欢迎体验希云CICD

  • 应用无状态化改造方案

    无状态是应用可故障自动迁移和横向扩展的充分必要条件

  • 为什么应用无法横向扩展

    配置没有中心化

    没有中心化的配置管理,应用需要横向扩展时,必须手工校准软件的版本、运行参数和配置文件,往往产生很多故障。

    本地有数据

    数据写在本地磁盘,没有中心化,如果应用在其它节点运行,将会由于找不到数据文件导致运行故障。

  • 希云无状态化改造方案

    配置中心化版本化

    通过中心化、版本化的配置管理(包括软件版本、配置版本),自适应地在应用横向扩展时配置运行好,避免错误。

    Session池化

    提供高可用的、中心化的Session池,即使某个应用节点宕机,也不会造成用户登录会话的丢失。

    本地缓存转移到缓存集群

    构建高可用的、中心化的缓存集群,避免使用本地磁盘做缓存,既可以有效提升缓存的利用率,也有助于系统可用性。

    本地文件转移到分布式文件存储

    提供分布式文件存储系统,无论是宕机自动转移恢复还是横向扩展,应用都能够找到需要的文件,可用性大大增强。

  • 希云无状态化方案优势

    成本低

    尽可能不修改代码,不需要应用开发方配合。更多的是应用环境梳理工作。

    方案可靠

    方案具有很强的实施性和复制性,实施过程不中断业务。

    实施快

    一般数周时间足够将一个应用改造完成并实施上线。

    效果好

    实施完成后,既可以应付节点当机造成的故障,还可以应对访问高峰扩容。

  • 联系我们为您提供应用改造方案

  • 多云混合云管理

    公有云、私有云、物理基础设施统一管理

  • 多云混合云管理的价值

    可移植,避免云锁定

    云计算特别是公有云平台对应用是强锁定,提升应用在不同基础设施间的可移植性,有助于企业抵抗各种风险。

    应用环境强一致性

    应用如果运行到多个基础设施上,基础设施的差异对应用开发部门应透明化,并实现应用在不同基础设施上的一致。

    应对突发流量

    互联网+的业务特点在于无法准确预估流量,利用公有云应对突发的流量,降低企业自身的硬件库存,并提升交付效率。

    业务合规安全

    行业、企业对一些关键的敏感数据往往有合规性要求,通过将数据存储在本地数据中心,可以有效应对安全合规检查。

    集中化应用运维管理

    数据中心越多,管理越复杂,降低复杂的办法是将应用运维管理集中化,避免分散的IT支持。

    一致的视图和监控

    管理多个异构的基础设施挑战很大,利用多云混合云管理平台可以有效地降低管理压力。

  • 希云多云混合云方案

    云接入

    支持AWS、阿里云、腾讯云、青云、VMWare、OpenStack等不同云平台的接入管理。

    分组管理

    针对不同基础设施、不同云平台进行分门别类。

    一次编排多地运行

    应用系统编排配置完成后,可以顺利运行到多地。

    高可用架构

    不论是中心管理单元,还是计算单元,都拥有高可用。

  • 希云多云混合云优势

    基于容器技术实现

    天生具有标准化、可迁移特性

    支持多种工作负载

    不论是现代应用还是传统应用,都可以运行良好。

    挖掘每种基础设施的优势

    业界很多多云管理的做法是阉割掉每种基础设施的独特优点,这是得不偿失的错误做法。

    应用对基础设施最大程度解藕

    应用编排时对基础设施进行解藕,但是运行时充分调动每个基础设施的能力。

  • 欢迎体验跨云混合云功能

  • 应用同城双活

    应对不可抗力的终极武器

  • 同城双活的困难

    同步时延恒定

    双活数据中心之间的网络传输不仅要求时延小,更要求时延恒定,且不能有丢包。

    脑裂问题

    高可用系统的双方争抢共享资源导致数据损坏,在大量HA集群中都存在脑裂的可能。

    应用抽象解藕

    应用如果直接依赖基础设施,势必对底层硬件的一致性提出苛刻要求。

    变更一致性问题

    应用系统是在不断演进,不断变更中的。时间久了,往往会造成两地机房的应用配置不再强一致,这是很大的隐患。

  • 希云同城双活方案

    管理中心高可用

    管理中心运行三个副本,分布于三地,实时同步配置和管理策略。

    应用程序仓库高可用

    应用运行时优先从本机房的应用程序仓库拉取对应版本的应用程序,当失败时,自动fallback到对端的仓库拉取。

    配置数据高可用

    所有应用配置相关信息统一存储在管理中心数据库中,保存3分,并且所有配置版本化管理,可安全回溯。

    通过名字服务调用接口

    应用之间的api访问不可以用ip,必须以名字来访问。这样保证了应用可以在两个机房同时运行,同一个名字在不同数据中心可以解析到不同ip。

    数据库采用主主模式

    数据库采用成熟的多地复制,支持数据库主主模式。两个机房的同一个应用可以对同一个表做操作。

    分布式文件存储采用主主模式

    文件存储采用成熟分布式存储方案,支持主主模式,在两个机房同一个应用可以同时操作同一个文件。

    所有分布式的仲裁都运行于第三地

    为避免脑裂,所有分布式系统的仲裁器运行在第三个地方,可以选择异地的数据中心或者同城的办公网络。仲裁器不运行业务,只负责仲裁。

    智能DNS解析

    用户大量的应用系统往往都需要做很多域名解析。通过实时的监控,当A机房宕机后,智能DNS将自动屏蔽A机房中的IP。

  • 希云同城双活方案的优势

    基础设施约束小

    希云的方案不是在物理层做强一致规划,而是在平台架构层做好抽象,这样才能真正实现同城高可用。

    应用环境一致性强保障

    通过中心化的应用变更管理,避免两个数据中心在运行时间久了后配置不一致。

    数据同步方案在上层而不是基于磁盘块

    基于队列的方式进行同步,不管是数据库还是文件存储。优势在于更好地理解应用。

    方案清晰易验证

    应用、配置、数据的同步和高可用方案,成熟且易懂。

  • 欢迎体验希云应用同城双活

All Posts
×