网易首页 > 网易号 > 正文 申请入驻

余何:DevOps困局、PaaS及时到来、Dev做好准备

0
分享至

  摘要

  为适应集团互联网战略目标,基础架构提出了动态架构、敏捷运维的口号,之前的变更流程、交付方式已无法满足资源量大、软件类型复杂的新序曲。IT内部构建了基于Docker的PaaS平台,真正解决DevOps间困局,实现了应用一键发布、动态扩展的目标。我们就DevOps困局、PaaS平台架构以及开发所需具备技能进行讨论。

  以下为分享实录

  DevOps困局

  开发、运维之间的“困局”很快引起了一阵DevOps风,大家都厌恶了在基础资源上的等待,厌倦了重复、枯燥的人工运维 ,为了按时交付软件产品和服务,开发人员和运营人员必须紧密合作,他们希望能够形成一套方法论,通过可编程方式来管理和控制基础架构资源,轻松、愉快地解决问题。

  DevOps定义了如下明确的目标:

  更小、更频繁的变更意味着更少的风险;

  让开发人员更多地控制生产环境;

  更多地以应用程序为中心来理解基础设施;

  定义简洁明了的流程,尽可能地自动化;

  促成开发人员与运营人员的协作;

  部分开发人员转到DevOps的实现工作中,特别是全面自动化运维工具的实现工作。Chef、Puppet、Saltstack等DevOps工具陆续出现,它们有一致的中心控制-代理的应用架构,提供了一套可移植、去差异、管理成千上万台服务器的方法。但在可移植性上,必须重新定义一门抽象的语言来覆盖原各个OS平台。应用升级、文件替换、版本部署等运维操作都可以通过这门语言组合到一个模板中,从而实现复用、快速交付。开发人员被告知有越来越多的工具帮助我们快速交付,但运维工具的新语言本身又带来了复杂性。谁对这组语言模板负责,到底是开发人员还是运维人员?如果是运维人员来负责,那么仅仅做到了自动化,由于受标准化程度及运维工具本身的复杂度影响,在不同环境下的效率和收益会截然不同。而如果是开发人员负责,那么他们还需要花很长的时间去掌握一门运维“语言”来实现自动化,在模板、脚本执行过程中发生的任何问题,最终还是要辗转到运维人员处,问题貌似又回到了原点。

  开发与运维在两条完全垂直的线路上运行工作,Dev从项目角度出发,垂直向下。Ops从运营角度笔直向前,他们的交汇处是应用版本的发布,最终的结果是一个完整可用的系统提供给用户。

  IaaS 帮助有限

  云计算是近年来的热点话题,实际上它仅仅是一种面向服务的理念,它将原本分散在全球各地的IT资源集中起来,通过虚拟化、分布式、多租户、自助服务、自动计费的方式递送给用户。云计算很巧妙地将服务模型划分为IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)。

  IaaS关注基础架构中最基础的存储、计算、网络三大服务,它很好地解决了中小IaaS的出现企业对底层资源管理复杂性的问题,人们无须再购买硬件、租赁机房、管理OS。但对于解决开发、运维工作的困局是远远不够的,在存储、计算、网络之上还有支撑应用运行的各类中间件,需要将存储、计算、网络、中间件等资源绑定成一个整体,还需要对开发代码发布进行严格的安全控制。IaaS面向的用户是运维人员,PaaS面向的用户是开发人员。

  PaaS 及时到来

  PaaS将关注点从原有的基础资源上升到应用层面,它的目标是提供一个可简单操作的平台来帮助开发人员运行、管理Web应用,它的关注点围绕着开发者的可运行代码。PaaS提供一个环节给开发者创建、管理、部署应用,其收益不仅包括了IaaS原有的规模效应、固有成本,更看重的是提高代码发布的效率。在资源层面,PaaS提供底层计算、存储、网络、虚拟化、中间件等服务。在部署上,PaaS为了黏合开发、运维人员之间的关系,提供了一套自定义的部署工具,工具与企业的适用程度越高,意味着PaaS越有可能通过私有云方式提供。除了资源提供、环境部署,具体的PaaS甚至会提供团队协作、服务集成、负载均衡、安全控制、持久化、状态管理等各类型服务,随着PaaS提供的服务与代码的精密度越来越高,其对应用本身的约束也就越大。这就导致很难有一个标准的公有平台满足绝大多数企业的应用开发需求。

  PaaS for Ops

  Ops每天重复性运维工作内容主要是以下四项:

  ? 资源分配

  我们大部分时间在进行资源分配,将服务器、存储、操作系统以及软件等分配给应用,工作的复杂性围绕着应用而产生。

  ? 应用部署

  将开发兄弟提供的业务逻辑放到我们所分配的资源中去。

  ? 服务发现

  如果让用户找到这个服务,如何让服务于服务之间可以互访问。

  通常的做法有负载均衡、域名解析、配置消息中心等方式解决服务发现问题。

  ? 监控巡检

  监控巡检是运维之必须,在此不再累述。

  在这里我们讨论前三项,资源分配、应用部署于服务发现。

  他们依赖于基本的运维管理工具,包括配置管理系统CMDB、监控管理系统以及标准的ITIL流程管理。

Ops全局工作图

  既然说PaaS要彻底地填补开发、运维工作之间的沟壑,让开发的全部精力聚焦到业务逻辑上,那么我们有必要让PaaS解决的问题具体化。

  ? PaaS提供的是一个应用的聚合,这里包含了功能各异的服务组件

  应用服务中间件:直接包含业务逻辑代码、模块的中间件容器,提供数据库连接池、事务控制等接口以掩盖后端的复杂性。

  数据存储服务:业务数据的存储区域通过标准的数据存储协议如文档型、SQL、key-value等交互。

  消息服务:为了对应用组件间进行解耦,常常需要支持点对点、发布-订阅的消息服务。

  ? PaaS要提供服务发现、可伸缩性、状态管理功能

  服务发现:组件与组件之间如何查找、发现对方,如何将最新的地址信息通知到应用聚合,如何对外暴露统一的访问点,这是PaaS要考虑的一个功能点,具体的实现包括可编程的DNS服务器及IP注册分配器。

  可伸缩性:涉及如何快速地对应用进行扩容,组件如何依据类型请求负载的分配,以及分配的基本机制。

  状态管理:对于可快速复制、易扩容的组件,如何管理它们的会话状态。

  ? PaaS中的服务监控、恢复与容灾

  对于应用聚合中的每一个组件,如何做到简单、自定义地监控,并且在服务异常时启动服务的快速恢复功能。容灾指跨数据中心的平台级故障恢复,涉及两个数据中心之间的逻辑计算单元如何保持通信,如何保持唯一性,业务数据如何进行备份。

  ? PaaS的Portal门户

  PaaS提供了一个对用户友好的Portal,可以基于UI进行应用资源的聚合,并且可以快速地查找到配置信息、计费信息。

  ? ITIL服务管理的相关内容

  在云计算之前,许多大中型企业的IT管理方式是基于ITIL管理方法论的,它们制订了一些适用于业务与IT服务稳定而快速交付的具体流程、工具和方法,但随着云平台、PaaS的出现,ITIL是否就没有必要存在了呢?笔者认为对于金融、保险行业生产环境的服务,如果能够将ITIL管理中的控制规则同样通过自定义的方式集成到PaaS平台,那么将会提高服务的可用性。

  ? PaaS平台的安全管控

  PaaS平台的安全管控包括三方面:PaaS平台的组成组件自身的安全控制;PaaS中提供的服务的安全控制;PaaS对外部提供服务的统一出口的安全控制。

  ? 部署发布的相关内容

  最后开发的代码如何通过工具自动、快速地发布到平台也是要考虑的,这部分与开发过程相关,包括代码单元测试、集成测试、打包、版本控制、部署等。

  PaaS平台功能设计

  为了能够实现PaaS平台,我们需要保证运维的四个主要工作内容实现自动化,下面这些功能全都是围绕着实现这个目标而引入的。

  ? 计算单元

  虚拟机镜像、配置管理工具(puppet、saltstack、ansible)所负责的任务就是将应用逻辑计算单元进行打包。计算单元包含了运行业务系统的全栈组件,其涵盖了操作系统、中间件、依赖包等。PaaS平台中我们选择Docker替换原有的方式,作为一个轻量级容器,它比虚拟机更加节约资源,同时可以基于一份软件介质运行多个实例,Docker的仓库、镜像与容器三元素让应用逻辑计算单元大大得到了简化。诚然,ansible这类软件配置工具已经非常轻巧、快捷,并且满足95%以上的需求,但当决定将PaaS构建在跨IDC、跨第三方数据中心时,基于镜像的分发能够更加稳定的满足我们需求。Docker也有其缺点,例如不支持32位平台,不支持windows服务器。

  ? 资源分配

  与Cloud2.0的IaaS不同,用户并不关注如何获得CPU、内存、存储资源。他们仅关注自身应用计算逻辑的运行,他们希望资源是动态分配、弹性扩容的。数据中心需要一个统一的资源管理者,它将所有资源(无论虚拟、物理)抽象成一个整体,如同一个数据中心操作系统,这种资源的抽象不仅仅要满足服务型计算,还要满足大数据时代的MapReduce计算,以及今后的各种类型计算,这意味着资源分配与任务调度两部分功能是解耦的。

  在分布式资源管理领域,主流的选择是Mesos、YARN

  Mesos:Mesos最早由美国加州大学伯克利分校AMPLab实验室开发,后在Twitter、Apple、Netflix等互联网企业广泛使用,成熟度高。

  YARN:Apache Hadoop YARN一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。

  其他的选择还有Kubernetes、CloudFoundry、OpenShift等方案,但这几种不满足资源分配与任务调度解耦,对应用规则要求太高,并不容易兼容现有应用。在我们环境选择了Mesos,其独有的灵活性保证了支持更多类型的上层分布式计算应用。

  ? 任务调度

  任务调度器与资源管理器的最大不同在于其要对运行中的应用服务负责,包括启动、停止服务,监控服务以及在服务失效时故障转移。最初的分布式架构设计中,人们常常模糊了作业调度与资源管理二者间的界线,其一是分布式平台是为某一专属计算类型服务,例如Hadoop平台为MapReduce计算类型服务。其二,作业调度与资源管理的交互频度高,合二为一后的效率更高。但随后人们发现资源管理器的功能是相对稳定的,而作业调度因为计算类型多,并行计算有MapReduce、Stream,普通计算有Service、批处理等,每一种计算类型的作业调度方式完全不同,如果将资源管理器与作业调度器绑定在一起则会失去分布式平台的计算灵活性。

  是以Mesos为核心,支持多领域的分布式集群调度框架,包括Docker容器集群调度框架Marathon、分布式 Cron(周期性执行任务)集群调度框架Chronos和大数据的主流平台Hadoop和Spark的集群调度框架等,实现系统的资源弹性调度。

  ? 服务发现

  服务发现有两种形态,一种是用户(人)来访问的,一种是应用之间互调的,对于前者需要保持一个稳定的入口(不变),而对于后者,如果在一个宽松的环境里,是运行变化,并接受变化通知的。而对于长服务型计算类型,除了解决服务发现外,还要考虑将任务分发到多个节点,亦即负载均衡问题。

  服务发现上可选的有通过动态写入DNS系统来满足用户需求,通过zookeeper之类的分布式协调系统充当配置中心通知外部系统。而在负载均衡上,企业级的专用设备,例如F5等都提供了API接口以供调用,而开源软件上通常采用Haproxy。

  ? 工作流程

Mesos+Marathon+Docker的工作流程

通过zookeeper实现服务发现流程

  TO PaaS for Dev

  余何,本文作者,昵称:众神的大师兄,湖南长沙人也;任职于华为、平安科技,高效运维公众号专栏作者,十余年数据中心运维管理经验。主导了平安IT架构改造、ITIL流程变革等重大项目。国家软件设计师、PMP项目管理认证、Juniper互联网专员(JNCIS)、NetApp解决方案架构师(NCSA),热衷于开源技术,广结天下英豪,以运维心灵捕手著称。《PaaS实现与运维管理》一书作者。

  欢迎关注寄云科技订阅号(neuclouddy),这里有最新云服务行业资讯,更有与PaaS、运维相关的技术干货!欢迎加入PaaS行业交流QQ群(421312857),关于PaaS的一切您都可以在这里与其他小伙伴共同探讨学习,小伙伴们等你哦~

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
中国农业银行河北省分行原党委委员、副行长许树宝被查

中国农业银行河北省分行原党委委员、副行长许树宝被查

大风新闻
2026-06-29 17:58:02
爆冷,混双8强出7!莎头下轮对手敲定 3号种子出局 张本美和遇国

爆冷,混双8强出7!莎头下轮对手敲定 3号种子出局 张本美和遇国

郝小小看体育
2026-06-30 07:00:05
气候大局已定?不出意外,7月份的中国天气或迎来3个变化

气候大局已定?不出意外,7月份的中国天气或迎来3个变化

混沌录
2026-06-30 15:14:18
梅西&姆巴佩之后,加克波成为近两届世界杯都进3+球的第三人

梅西&姆巴佩之后,加克波成为近两届世界杯都进3+球的第三人

懂球帝
2026-06-30 11:00:09
伊朗副外长:本周在多哈进行伊美技术性谈判不属实

伊朗副外长:本周在多哈进行伊美技术性谈判不属实

新京报
2026-06-29 18:21:29
巴西队2比1战胜日本队并晋级世界杯16强,巴西总统卢拉发声

巴西队2比1战胜日本队并晋级世界杯16强,巴西总统卢拉发声

环球网资讯
2026-06-30 16:24:05
停更5年,西祠胡同宣布回归!网友沸腾:一代人的青春要回来了

停更5年,西祠胡同宣布回归!网友沸腾:一代人的青春要回来了

鲁中晨报
2026-06-30 13:18:07
曼联球星重伤,世界杯变世界“悲”!5000万转会费打水漂

曼联球星重伤,世界杯变世界“悲”!5000万转会费打水漂

卡灵顿分析师
2026-06-30 19:24:45
痛心!华南理工大学教授汪益敏去世,60岁上月刚退休,死因成谜

痛心!华南理工大学教授汪益敏去世,60岁上月刚退休,死因成谜

北纬的咖啡豆
2026-06-29 19:46:48
刚提15天的蔚来ES9被高压水枪洗破车漆?蔚来官方回应:已与车主进行充分沟通,非质量缺陷

刚提15天的蔚来ES9被高压水枪洗破车漆?蔚来官方回应:已与车主进行充分沟通,非质量缺陷

每日经济新闻
2026-06-29 16:50:07
男性“最耗阳”行为,不是喝酒而是这些,排第一的,看看你在做吗

男性“最耗阳”行为,不是喝酒而是这些,排第一的,看看你在做吗

熊猫医学社
2026-06-30 11:30:03
世界杯头号水货!德国 1 亿巨星彻底翻车,离谱失误葬送全队

世界杯头号水货!德国 1 亿巨星彻底翻车,离谱失误葬送全队

澜归序
2026-06-30 08:55:27
比高血压还危险,这个指标一旦超标,脑梗随时可能发生!

比高血压还危险,这个指标一旦超标,脑梗随时可能发生!

芹姐说生活
2026-06-30 19:06:19
张智霖19岁儿子回香港形象大变,剃寸头清爽成熟,1.8米身高瞩目

张智霖19岁儿子回香港形象大变,剃寸头清爽成熟,1.8米身高瞩目

白面书誏
2026-06-29 23:25:05
A股:今天上午震荡拉升到4082,种种迹象表明,A股牛市已再次激活?

A股:今天上午震荡拉升到4082,种种迹象表明,A股牛市已再次激活?

趋势清风侠
2026-06-30 11:49:06
4年2400万美金!尼克斯第2笔签约达成!冠军中锋成抢手货

4年2400万美金!尼克斯第2笔签约达成!冠军中锋成抢手货

世界体育圈
2026-06-30 16:51:23
她是著名歌唱家,与著名大导演离婚,带儿子嫁高官,如今定居北京

她是著名歌唱家,与著名大导演离婚,带儿子嫁高官,如今定居北京

嘴角上翘的弧度
2026-06-29 20:36:25
1988年师长李德金开会路上被当场控制,全方位搜身后找到一串钥匙

1988年师长李德金开会路上被当场控制,全方位搜身后找到一串钥匙

磊子讲史
2026-06-23 14:10:47
日本内阁:日本就日本20家公司被列入出口管制名单向中国提出抗议

日本内阁:日本就日本20家公司被列入出口管制名单向中国提出抗议

俄罗斯卫星通讯社
2026-06-30 15:59:03
海尔、美的、格力回应欧洲空调需求激增

海尔、美的、格力回应欧洲空调需求激增

中国能源网
2026-06-30 09:44:04
2026-06-30 19:43:00
寄云科技
寄云科技
中国工业物联网平台的领导者!
169文章数 13关注度
往期回顾 全部

头条要闻

日本队世界杯出局后 韩媒来劲了

头条要闻

日本队世界杯出局后 韩媒来劲了

体育要闻

大热倒灶压力给到法国 王楚揭法国队隐患

娱乐要闻

韩红称要退出公益,多位名人挽留

财经要闻

韩国万亿"芯"基建:存储能否成AI时代油田

科技要闻

iPhone18 Pro遭泄密!印度代工商惹祸

汽车要闻

奇瑞风云A9探店 五个理由一定来看看

态度原创

本地
亲子
旅游
数码
手机

本地新闻

贵州小城的新目标:举办“村超”世界杯!

亲子要闻

✨闪闪小葵花 成长正当时✨ 「寻找闪亮小主角」才艺展示活动 沉浸式趣味闯关打卡,定格萌娃灵动鲜活的高光成长瞬间~

旅游要闻

漂流、溯溪、轻极限 年轻人避暑主打一个“活力”

数码要闻

鸿蒙智选海雀智能摄像头5 Pro 4K全场景版上架,首发价268元

手机要闻

摩托罗拉Edge 70 Max手机获Qi 2.2.1认证,支持磁吸充电

无障碍浏览 进入关怀版