云不是万能的,但是没有云是万万不能的。DevOps的主要目标是最大限度减少交付管道中的瓶颈,并提高交付效率。一般而言,环境可用性和配置是组织遇到的最大瓶颈之一。等环境等好几周,配环境又一礼拜这事估计大家都碰到过。而且机器资源毕竟总是有数的,旱的旱死涝的涝死确实不太好。这种时候用云就可以快速向用户提供自助服务,提供随需应变的环境。同时云还能够根据需要动态部署和铲掉这些环境,可以减少对永久性环境的需求,进而改善环境管理并降低成本。
一般云分成IaaS(Infrastructure as a Service)云和PaaS(Platform as a Service)云。
微信截图_20180126151000.png
IaaS一般管底层基础架构,云可以给虚机,存储和网络出来,但是剩下例如系统,中间件什么的还得开发或者运维兄弟自己干。通行的架构是VMWare或者OpenStack KVM。IaaS云单起虚机容易,但是如果要把网络和存储节点也接进来的话……那时间确实会花很长,特别是OpenStack,还算挺麻烦的。
PaaS更进一步,环境都帮你包了,往上扔应用就行。一般PaaS都跟容器有点关系。毕竟容器自带环境。现在常用的私有容器云很多都是基于Docker和Kubernetes架构(Docker Swarm已凉),这玩意可以做容器编排和管理,弹性伸缩等功能。但是这玩意自己搭就没那么容易了,起一套K8S也就比OpenStack简单一点点吧。IBM有打包好的IBM Cloud Private可以试试,那玩意把Docker,K8S,网络支持以及监控什么的都打包好了,集成都帮你做好,安装也方便很多。