很多人咨询我关于企业级容器云平台建设相关的问题,我觉得首要的工作是根据企业自身的业务需求,做出符合未来3~5年发展方向的总体规划。
现实中很多的情况是,企业因为历史原因,孤立建设了N个业务系统,系统之间存在大量复杂的接口交互和数据传递。SOA虽然可以将功能置于统一管控的平台,但依然无法解决平台孤立和重复建设的问题。我们可以看到很多IT管理流程和技术和割裂,业务应用系统和IT部门自身系统的割裂,以及业务流程和IT流程的割裂,问题一来就抓瞎,修修补补和workaround根本无法解决根本性问题。在资源管理层面,企业的部门各自为政,资源使用不均衡,大部分计算资源闲置,对于突发性资源需求,无法动态调配和共享。
企业IT运营成本的增加,促使企业开始考虑兴起的容器和PaaS技术,如果能把运营成本降下来,对企业来说是一件大事。但需要避免为了追求新兴技术而去搭建容器云平台,必须做好成本估算,做到真正的把成本降下来。企业首先要做的是IT系统现状的调查研究,对物理分布、网格结构、系统架构和网络拓扑进行详细的调查,以报告的形式给出。在调查结束之后,要结合公司实际情况,针对性地对容器云平台的目标架构进行设计,一定要做到能够落地的方案,避免画大饼。
在容器云技术选型上,有三种情况:一是企业规模小,应用简单,那就用Swarm好了;二是对稍大一些的企业,应用也比较复杂,拥有多个工作任务(Hadoop,Spark,Kafka等)时,要使用Mesos或Marathon。三,Kubernetes用于处理最复杂的业务情况。
我以Kubernetes+docker为例,谈谈企业级容器云总体架构的方案设计。总体上要以“厚Pass、轻应用、微服务”的原则来。一个典型的架构设计中可以包含:
1. Hybrid IaaS子系统:实现对数据中心IT设备的管理
2.容器化PaaS子系统:基于容器技术的分布式架构的集群管理平台
3.大数据管理子系统:以Hadoop架构为基础的大数据处理平台
4. 微服务管理子系统:以容器云PaaS平台为基础,采用容器化技术进行微服务的封装、部署和管控。实现复杂应用场景的敏捷交付、独立快速部署、高可用和弹性扩展。
5. AIOps管理子系统:该系统聚集于开发运维一体化流水线、持续集成、灰度发布、智能运维机器人、智慧分析、智能告警和安全管理等能力建设。
6. SaaS应用子系统: 在容器云PaaS平台基础架构基础上,快速支撑电信、电力、航空、政府、金融、石油等行业的SaaS应用
在云架构方案的设计中要遵循以下原则:先进性和成熟性相平衡,开放性和标准化,可靠性和安全性,可维护性和易用性,运营流程的敏捷性和规范性。对于PaaS平台的能力,应当体现在:1. 对主机、存储和网络等资源统一管理;2. 应用统一部署,一键发布;3. 弹性伸缩和扩容;4. 微服务统一管控; 5. 保障数据中心高可用和容灾管理; 6. 集中化运维监控
企业级容器云建设可以参照工信部《云计算综合标准化体系建设指南》进行,该标准定义了基础标准、资源标准、服务标准和安全标准。