2017年,Devops开始流行。有一段时间,互联网厂商都在谈自动化运维,都在谈Devops实践。从国外的微软谷歌到国内的阿里腾讯,他们都在做Dveops落地。那么为什么Devops火了呢?
像这个漫画,软件研发的功能越来越全面,导致代码越来越大,越来越复杂。在添加一些新特性时,需要投入大量的人力物力来更新和维护代码。即使有优秀的架构师、数据库和运维人员,以及庞大的开发和产品经理团队,也很难控制全局。
手动编译,上传服务器文件,执行命令,启动和停止服务器,发现bug,重复这个过程,软件开发的重复努力越来越多。在Devops概念出现之前,都是要人工完成的,很多运维人员半夜起来急救。
Devops这个词来源于开发和运营的结合。字面意思就是软件开发人员和运维人员可以更好的沟通和协作,通过自动化的流程,软件开发、测试和发布更快。其实Devops是敏捷和精益开发的传承,是在整个IT价值流中实施精益的结果。Devops不仅仅是一个新工程师,也不是一个部门,而是一种文化。没有直接把一个团队变成Devops组织的工具,这是观念的转变。
Devops在高效交付和自动化运维方面的优势使其迅速被市场认可和接受,但在Devops的实践中往往存在很大的障碍。
Devops并不是简单的将开发部门和运维部门合并,而是通过自动化的基础设施、合理的流程规范、智能化的自动运行系统测试,加强开发和运维之间的沟通与合作。
这就需要在开发和运维之间达成共识,围绕业务系统组织工作,弱化责任概念,打破传统IT分组的壁垒。
在第六届全球软件案例研究百强峰会入选名单中,我们看到了来自阿里、腾讯、去哪儿和中国移动的Devops实践案例。
腾讯运维总监聂鑫:喝咖啡做运维,腾讯运维完成了大规模的Devops实践
很多人都在说devops。好像这两年大家都找到了一套完整的运维解决方案。运维领域的“教科书”好像已经出版了。如果遵循,就能实现运维新时代,过上喝咖啡做运维的好生活。
但是,在此之前运营维护的痛苦和涅槃过程是怎样的呢?目前,腾讯SNG魏云正在保护10万台服务器,一人最多维护1万台,在天津大爆炸、春节红包等各种突发事件背后,展现出卓越的运维能力。
回顾十年前开始的腾讯运维建设历程,标准化是腾讯SNG运维的核心理念,需要一些核心软件和方法论来帮助运维少走弯路,突破各种壁垒,达到标准化的目标,最终帮助运维和R&D延伸到Devops。根据业务的不同阶段,投入产出分析会影响运维方向的建设,所以要尽早投入,尽量深化。
建立一个运营体系,需要考虑五到十年的业务规划,选择合适的运营理念。不要迷信某一种操作方法论,选择最适合自己企业的最重要。
阿里巴巴平台产品负责人陆一元:阿里移动DevOps实践
移动开发模式进入了两个差异化层次:超大规模APP的研发模式以项目为导向,R&D协作的人和模块比较多,需要构建、测试、发布、运维等完整的DevOps系统;但是,一些创新的、实验性的app更适合在商业模式和商业形式没有完全确定的情况下,以更快的方式测试和验证商业思想。因此,以最低的成本快速创建一个应用程序势在必行。
中国移动浙江公司德沃斯工具链产品经理罗琼:德沃斯平台的“精益创业”
浙江移动的DevOps产品R&D团队服务于数百个国内开发团队、外部本地开发团队和其他外部移动租户。R&D的主要产品是以用户体验为中心的混合云管理平台。
DevOps建设不同,可以分为基于CI/CD的研发管理服务和公共云服务能力两大流派。浙江移动的DevOps用户包括几百个国内开发团队和外部本地开发团队。我们构建了一个以用户体验为中心的混合云平台。
根据复杂理论的观点,要实施敏捷DevOps,要从更复杂、更复杂的组织和团队环境中寻找突破点,关注痛点,在“高附加值”的事情上“浪费”时间,集中精力解决痛点,从而找到适合团队发展的敏捷DevOps之路。
管理组长王晓祥在哪里配置:devops淘汰低效幕后手
去哪儿有一种与生俱来的devops文化,在研发过程中得到很多自动化工具的支持。因为这些工具是由不同专业背景的团队提供的,工程师需要了解不同工具中的独特概念,记住各种工具之间的关系,有时还得在多个系统之间切换“人工智能”来完成一件事。在devops的帮助下,我们决定推倒原有“独立”自动化工具的墙,消除孤立的信息孤岛,建立以应用为中心的生命周期管理平台——Portal。整个生命周期是指从需求-开发-测试-交付-运营和维护的一个闭环。
以上案例已入围第六届全球100强软件案例研究峰会,关注100强头条号,通过首页菜单栏现场发布会传递免费体验票。
附件:Devops58开源实用程序
1.版本控制和协作开发工具
LXD是ubuntu基于LXC技术的改造,容器自然支持非特权和分布式。LXD和多克在思想上不同,多克是PAAS,LXD是IAAS。LXC项目由一个Linux内核补丁和一些用户空间工具组成。这些用户空间工具使用由补丁添加的新内核特性,并提供一组简化的工具来维护容器。
4.2配置管理
(30)厨师
Chef是一个系统集成框架,为整个架构提供配置管理功能。
(31)木偶
傀儡,可以集中管理每一个重要的方面。您的系统使用跨平台规范语言。管理的所有单个元素通常都聚集在不同的文件中,如用户和CRON作业,以及与主机明显分离的元素,如打包、服务和文件。
(32)CFengine
Cfengine (Configuration Engine)是一个UNIX管理工具,旨在自动化简单的管理任务,使困难的任务变得更容易。Cfengine适用于管理各种环境,从一台主机到数万台主机的集群。
(33)Bash
Bash是大多数Linux系统和Mac OS X v10.4的默认外壳,可以运行在大多数Unix风格的操作系统上,甚至可以移植到微软windows上的Cygwin系统上,实现Windows的POSIX虚拟接口。另外通过DJGPP项目移植到MS-DOS。
(34)方向舵
Rudder已经改名为法兰绒,为每台使用Kubernetes的机器提供一个子网。也就是说,Kubernetes集群中的每台主机都有自己完整的子网,例如机器A和B可以有10.0.1.0/24和10.0.2.0/24子网。
(35)Powershell
(36)运行平台
RunDeck是用Java/Grails编写的开源工具,帮助用户在数据中心或云环境中实现各种操作和流程的自动化。通过命令行或web界面,用户可以操作任意数量的服务器,大大降低了服务器自动化的门槛。
(37)盐堆
Saltstack可以看作是func的增强版+Puppet的削弱版。用Python写的。非常容易使用,可以根据EPEL快速部署。Salt是管理您的基础架构的开源工具,可以轻松管理数千台服务器。
(38)Ansible
Ansible是一个用于发布、管理和安排计算机系统的工具。Ansible是模型驱动的配置管理器,支持多节点发布和远程任务执行。SSH默认用于远程连接。不需要在被管理节点上安装额外的软件,可以使用各种编程语言进行扩展。
4.3微服务平台
(39)OpenShift
OpenShift是Red Hat推出的平台即服务(PaaS),对开源开发者开放。OpenShift通过为开发人员提供更多的语言、框架和云选择,使他们能够构建、测试、运行和管理他们的应用程序。
(40)云代工厂
云铸造(Cloud Foundry)是业界首款开源PaaS云平台,由VMware于2011年4月12日推出。它支持各种框架、语言、运行时环境、云平台和应用服务,使开发人员能够在几秒钟内部署和扩展应用,而无需担心任何基础架构问题。
(41)Kubernetes
Kubernetes是来自Google云平台的开源容器集群管理系统。构建基于Docker的集装箱调度服务。系统可以自动选择容器群中的一个工作容器来使用。它的核心概念是集装箱吊舱。
(42)中间层
Apache Mesos是一个集群管理器,跨分布式应用或框架提供有效的资源隔离和共享,可以运行Hadoop、MPI、Hypertable和Spark。
4.4服务开放
(43)木偶
傀儡,可以集中管理每一个重要的方面。您的系统使用跨平台规范语言。管理的所有单个元素通常都聚集在不同的文件中,如用户和CRON作业,以及与主机明显分离的元素,如打包、服务和文件。
(44)剃刀
(45)码头工人群
Docker Swarm是一个分布式应用程序的本地集群,它基于Machine提供的功能优化主机资源和容错服务的利用率。具体来说,Docker Swarm使用户能够创建可以运行Docker守护程序的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。
(46)流浪者
流浪者是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用甲骨文的开源VirtualBox虚拟化系统和厨师来创建一个自动化的虚拟环境。
(47)Powershell
(48)开放式堆栈加热
5.维护
5.1记录
(49)Logstash
Logstash是一个用于传输、处理、管理和搜索应用程序日志和事件的平台。您可以使用它来收集和管理应用程序日志,并提供一个用于查询和统计的网络界面。
(50)CollectD
Collected是一个守护进程,用于收集系统性能,并提供各种存储方法来存储不同的值。例如以RRD文件形式。
(51)StatsD
StatsD是一个简单的网络守护进程,基于Node.js平台,监听各种统计信息,包括计数器和定时器,将聚合的信息发送给后端服务,比如石墨。
6.监控和警告&分析
(52)Nagios
Nagios是一个监控系统,监控系统运行状态和网络信息。Nagios可以监控指定的本地或远程主机和服务,并提供异常通知功能。
(53)神经节
Ganglia是一个分布式监控系统,具有可扩展的跨平台和高性能计算系统,如集群和网格。它基于分层设计,使用广泛的技术,如可扩展标记语言数据表示、可移植数据传输和用于数据存储和可视化的RRDtool。
(54)感官
Sensu是一个开源的监控框架。主要特点:高度可组合;提供监控代理、事件处理器和文档APIs;专为云设计;Sensu的现代架构允许监控大规模动态基础设施,并可以通过复杂的公共网络监控数千台全球分布的机器和服务;热心社区。
(55)Zabbix
Zabbix是一个企业级开源解决方案,提供基于WEB界面的分布式系统监控和网络监控功能。
(56)ICINGA
ICINGA项目是由HendrikB的Michael Luebben开发的?由cker和JoergLinge发起,他们都是现有Nagios项目社区委员会的成员,他们承诺新的开源项目将与以前的Nagios应用程序和扩展完全兼容。
(57)石墨
石墨是一个开源项目,用于收集网站的实时信息并进行统计,可以用来收集各种网站服务的运行状态信息。石墨服务平均每分钟有4800次更新操作。
(58)Kibana
Kibana是一个用于日志分析和弹性搜索的网络界面。它可以用来高效地搜索、可视化和分析日志。
1.《devops Devops时代,腾讯阿里的运维实践(附Devops58个开源工具)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《devops Devops时代,腾讯阿里的运维实践(附Devops58个开源工具)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/799657.html