如何进行DevOps的运维实践和转型
1、了解某互联网企业早期的技术架构,分三层:基础设施层主要是主从mysql,Red坡纠课柩is,lucene;WEB层是Nginx+PHP;代理层是Nginx Proxy。

2、由于存在臃肿的PHP单体工程,开始的优化方案就是拆分,实现服务化应用和接口,后续逐步演进到Java服务化。

3、实际上,进行微服务的改造不是没有代价的,某些层面来讲,代价可能更高,要理清楚其中复杂的调用关系,需要不小的投入。

4、DevOps,就是这种技术复杂度上升到一定基础上的产物。所谓的技术复杂度,主要是微服务和分布式架构带来的。

5、服务化之后,发布可能面临复杂的环境管理、配置管理、流程管控、服务发现以及二方包、三方包、代码编译等方方面面的问题。

6、持续交付的过程中需要关注从需求管理、提交到功能测试、非功能验收、部署发布整个流程上方法面面的细节问题。

7、复杂的多环境和配置管理,以及从开发环境到集成环境、预发环境、Beta环境和生产环境的发布,是目前服务化改造的难点。

8、解决的方向,可以参考单台机器上线部署场景的分解:检查环境、下载WAR、关闭监控、服务下线、WEB下线、停应用、发布代码、启动应用、健康检查、WEB上线、服务上线、开启监控。
