1、devops落地需要考虑选择哪种环境建设,如:容器、虚拟机环境。
2、要考虑devops需要哪些流程,如:需求、代码、开发、测试、合规检查、发布、集成等。
3、确定好流程各个环节后,要梳理哪些业务系统需要落到devops上,如何进行流程对接,过程如何管控需要想清楚。
4、选择符合该流程所需要工具,如:jenkins、ansible、sonar、kanban、git、jmeter等等开源工具并集成到devops框架下。
5、最后就是要考虑组织结构水平化,匹配devops流程,建立团队间的devops文化等。
DevOps是一种理念,是轻量级的ITIL,技术部一般基于ITIL提供服务目录完成服务请求,中间有复杂的审批、手动操作,DevOps将服务流程规范化、标准化并通过自动化技术实现pipline,提升工作效率。要想落地DevOps,关键是思维和理念的提升,再次是团队的变革,还有平台和工具的支持。PaaS仅仅是一个支持平台,解决一部分问题。
收起容器云只是DevOps的底座。这个底座上面还需要很多内容,我们仅以工具层举例:
l 项目管理:禅道、 Jira 、 Trello 等。
l 知识管理: MediaWiki 、 Confluence 等。
l 源代码版本控制( SCM ): GitHub 、 Gitlab 、 BitBucket 、 SubVersion 、 Gogs 等。
l 代码复审: Gitlab 、 Gerrit 、 Fisheye 等。
l 构建工具: Ant 、 Maven 、 Gradle 等。
l 持续集成( CI ): Jenkins 、 Bamboo 、 CircleCI 、 Travis CI 等。
l 单元测试: Junit 、 Mocha 、 PyUnit 等。
l 静态代码分析: Findbugs 、 Sonarqube 、 CppTest 等。
l 测试用例管理: Testlink 、 QC 等。
l API 测试: Jmeter 、 Postman 等。
l 功能测试: Selenium 、 Katalon Studio 、 Watir 、 Cucumber 等。
l 性能测试: Jmeter 、 Gradle 、 Loadrunner 等。
l 配置管理: Ansible 、 Chef 、 Puppet 、 SaltStack 等。
l 监控告警: Zabbix 、 Prometheus 、 Grafana 、 Sensu 等。
l 二进制库: Artifactory 、 Nexus 等。
l 镜像仓库: Docker Distribution 、 Harbor 、 Quay 、 Nexus3 、 Artifactory 等
我们再看一个图,其中的OpenShift是底座,上面有很多工具。
还差的非常远。。。 devops是以业务需求驱动为主体,需要打通业务,项目管理,开发,测试,运维一整套流程的。这里涉及的不仅仅是技术问题,更多的是文化,管理,技术的一个整体的规划。所以要想落地devops,简单来说,首先需要形成一个整体的规划,其次需要引入工具平台支持,这个工具平台是否为paas容器平台,没有任何关系。最后,在工具落地后,采用mvp原则,让大家看到收益,然后进一步推广。
收起