通用电气GE微服务实践:在容器中部署有状态应用

通用电气GE

通用电气GE,创立于1892年,是世界上最大的技术和服务跨国公司。自托马斯·爱迪生创建通用电气公司以来,业务遍及世界上100多个国家,拥有员工315,000人。

GE在航空,电力,运输,能源等行业具备丰富的产品线和运营经验。同时GE也通过数字化的方式帮助客户进行产品的运维,数据分析和改进。GE为此建立了自己的物联网数字化平台。

GE采用微服务架构,并通过容器来运行有状态应用。为此,需要建立CSI(Container Storage Interface),GE尝试了一些办法,但是从使用上来说并不成熟,无法给平台的用户和合作伙伴,提供简单易操作的容器存储和数据管理方法。需要有一个能够同时运行无状态应用和有状态应用的基础层。

最终,GE选择了与Portworx携手,来建立CSI对容器存储和数据进行有效管理。

Portworx建立了物理存储之上的软件定义的存储抽象层,用户不需要思考具体在使用那种物理存储,也不需要知道承载应用的是哪朵公有云或者私有云。

在没有这样一个抽象层之前,用户需要手动的把物理存储卷来分配到某个容器上。传统的存储,都是通过虚拟机和操作系统来驱动存储的,对于容器来说则很不适用。因为容器通常被编排程序Orchestrator排程在多节点的环境下来运行。应用程序也不都是在单一的容器内运行。比如Cassandra, 通常是部署在一系列的容器上。一个Cassandra集群可能会有3个、10个、15个Cassandra容器,被部署在15个不同的虚拟机上,甚至可能在不同的物理数据中心里。所以当我们尝试把某个卷添加到这样一个分布式系统里的时候,就会出现非常多的问题。这些问题需要运维工程师花大量的时间来做调整,让卷与这样的分布式系统产生映射。假如说一个5节点的Cassandra集群,这些节点都运行在哪些虚拟机上呢?又是在哪个存储上呢?于是我们不得不把应用跟虚拟机对应起来,因为我们在使用虚拟机对应的存储资源。如果虚拟机停机了,我们就不得不去手动寻找相对应的存储,然后把它和新的虚拟机对应起来。这跟云原生的思想和容器排程器Orchestrator的定位并不对路。同时新的问题又会产生,如何在这样的分布式系统里为存储设定密码?如何做快照?这些问题都将留给我们的用户,这就更有问题了。

作为GE,我们并不想把这样的复杂的基础架构爬坑工作留给用户。

Portworx本身是一种基于容器的超融合架构,将计算资源与存储有机结合在一起。同时Portworx与K8S的调度软件scheduler无缝集成。

像数据库这样的有状态型容器化应用需要在分布式节点上的永久数据。Portworx使用有状态的Stateful Fabric来管理数据卷,即container-SLA-aware,来做到这一点。复制卷数据确保其状态,同时满足容器化应用的性能和可用性。更重要的是,Portworx可在每个容器级别中管理其快照、克隆副本和复制操作,使DevOps能够单独管理微服务,而不是像LUNs那用做传统存储系统的绑定组。使用Portworx管理有状态容器Stateful Containers很方便,每个容器级别的数据的可用性和管理也很简单,且高度自动化。

如果需要部署一个Cassandra集群,而又并不想让所有的节点在同一个环网上,在同一个Availability Zone或者Failure domain,Portworx可以帮助用户更好的来架构这些分布式的应用。另外通常我们希望物理资源能够有80%以上的利用率。我们需要让不同的应用在同一个硬件内共存,而不产生IO的冲突。Portworx并不是直接把存储或者物理的LUNs跟应用连接起来,我们提供一个虚拟的存储卷层来避免IO的冲突,并实现容器的加密或者是快照。尤其是当一个容器宕机,然后又从另外一个位置恢复后,我们就能够快速找到原来的存储,并且在新的容器中恢复。同时Portworx的安全与合规管理功能,帮助GE满足公司内部对于平台架构的安全合规要求,也满足了用户和客户的存储加密,存储快照这样的需求。

原文地址:https://blog.51cto.com/14572152/2456731

时间: 2024-10-11 00:59:50

通用电气GE微服务实践:在容器中部署有状态应用的相关文章

京东、宅急送的微服务实践分享(下)| 架构师小组交流会

架构师小组交流会是由国内知名公司技术专家参与的技术交流会,每期选择一个时下最热门的技术话题进行实践经验分享. 第一期:来自沪江.滴滴.蘑菇街.扇贝架构师的 Docker 实践分享 第二期:来自滴滴.微博.唯品会.魅族.点评关于高可用架构的实践分享 第三期:京东.宅急送的微服务实践分享(上)第三期小组交流会邀请到了国内电商领头羊京东.宅急送技术负责人,在上篇京东.宅急送的微服务实践分享(上)中他们介绍了各自产品的微服务实践,本次他们就 API 网关的设计.服务的 Docker 化.服务测试.持续集

微服务实践之路--RPC

微服务实践之路--RPC 重点来了,本文全面阐述一下我们的RPC是怎么实现并如何使用的,跟Kubernetes和Openstack怎么结合. 在选型一文中说到我们选定的RPC框架是Apache Thrift,它的用法是在Main方法中重启服务,在Client端连接服务去调用, 而我的想法是要跟Dubblo.HSF的用法一样,因为很多人都熟习这两个框架的用法,特别是我们好几个项目都是基于EDAS开发的,而且世面上用Dubbo的公司也很多. 顺便再说一下我们对于RPC的几点要求: 1,兼容Dubbo

.NET 微服务和Docker容器

.NET 微服务:适用于容器化 .NET 应用的体系结构 容器和 Docker 简介 什么是 Docker? Docker 术语 Docker 容器.映像和注册表 为 Docker 容器选择 .NET Core 还是 .NET Framework 通用指南 何时为 Docker 容器选择 .NET Core 何时为 Docker 容器选择 .NET Framework 决策表:用于 Docker 的 .NET Framework 使用 .NET 容器时定位的操作系统 官方 .NET Docker

微服务实践(总)-原文

本系列文章为 dockone.io 首发,转载请标明出处,以示尊重!! http://dockone.io/people/hokingyang   希望读者通过本系列文章对微服务优缺点有一个比较好的理解,以及何时使用这种架构.也许微服务架构比较适合你的应用.也许你正在开发一个大型.复杂单体式应用,日常开发和部署经验非常缓慢和痛苦,而微服务看起来是远方一个极乐世界.幸运的是,有可以参考的脱离苦海的策略,本篇文章中,我将描述如何逐步将单体式应用迁移到微服务架构. 本系列七篇文章列表如下: 微服务实战

免费领取 | 微服务实践沙龙-上海站 大咖演讲资料分享

本文来自网易云社区. 9月1日,网易云联合谐云在上海InnoSpace举办了"微服务实践沙龙",邀请到了携程和蚂蚁金服等微服务的先行者,共同分享了落地实践过程中总结的干货经验.感谢讲师和上海小伙伴们的支持,这里将演讲资料分享给大家.网易云还会继续举办易经布道系列的活动,欢迎大家的关注和参与~ 议题1:配置中心,让微服务更『智能』 讲师:携程框架架构研发部技术专家 宋顺 宋老师的PPT暂时不能公开,这里分享他写的文章给大家学习:配置中心,让微服务更"智能" 议题2:微

2019年微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享

微服务的概念最早由Martin Fowler与James Lewis于2014年共同提出,核心思想是围绕业务能力组织服务,各个微服务可被独立部署,服务间是松耦合的关系,以及数据和治理的去中心化管理.微服务能够帮助企业应对业务复杂.频繁更新以及团队规模庞大带来的挑战,实现IT对业务创新的驱动. 1月12日,网易云主办的"微服务实践沙龙"将走进深圳,邀请业界微服务的先行者,分享落地实践过程中总结的干货经验. 报名地址:点击报名 时间:2019年1月12日 13:30-17:00 地点:广东

微服务与K8S容器云平台架构

微服务与K8S容器云平台架构 微服务与12要素 网络 日志收集 服务网关 服务注册 服务治理- java agent 监控 今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章: 领导人怎样带领好团队构建创业公司突击小团队国际化环境下系统架构演化微服务架构设计视频直播平台的系统架构演化微服务与Docker介绍Docker与CI持续集成/CD互联网电商购物车架构演变案例互联网业务场景下消息队列架构互联网高效研

微服务实践:什么是微服务

微服务实践:什么是微服务 微服务 微服务是一种软件架构风格,该词来源于Martin Fowler 的一篇博客.他在自己博客中阐述了微服务六个特点 一组小的服务.微服务主张把单体应用拆开成一个个小的服务单元. 基于业务能力.比如购物网站,可以有订单服务.商品服务.推荐服务等等. 微服务运行在独立的进程.比如现在的容器技术,容器可以部署在物理机上,以进程的方式进行横向扩展. 轻量级通信机制.比如HTTP通讯协议&JSON消息格式. 独立部署.每个团队在应用交付过程中,独立地开发.测试和部署自己的微服

Serverless 微服务实践-移动应用包分发服务

背景 阿里云函数计算是事件驱动的全托管计算服务.通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传.函数计算会为您准备好计算资源,以弹性.可靠的方式运行您的代码,并提供日志查询.性能监控.报警等功能.借助于函数计算,您可以快速构建任何类型的应用和服务,无需管理和运维.而且,您只需要为代码实际运行所消耗的资源付费,代码未运行则不产生费用.移动应用的打包和分发呈现明显的峰谷效用,用户常常需要短时间内准备大量资源保障分发的实时性,完成分发后又需要及时释放资源,降低成本.这里我们提供一个 fu