一个应用的云化之路

导语

2017年“云+未来”峰会即将在深圳盛大举行,本次峰会 Cloud Native 技术专场将在7月6日下午举行。Cloud Native 专场给各家提供了针对 OpenStack 应用以及背后填坑之路作深度探讨的机会。现在让我们一起回顾下去年各位嘉宾在在现场分享了哪些云上的心得体会以及Cloud Native云原生架构上的亲身实践。

本文是 OStorage(奥思数据)创始人、知名 OpenStack 布道师李明宇在2016年腾讯“云+未来”峰会 Cloud Native 专场有关《一个应用的云化之路》分享的回顾。

李明宇:《一个应用的云化之路》

OStorage(奥思数据)创始人,知名 OpenStack 布道师李明宇也来到现场进行《一个应用的云化之路》的主题分享,他通过一家工厂的扩张带来的系统架构管理问题,演示在云计算时代,如何使用 Cloud Native 的模式进行架构重构,通过利用云的特性,对工厂进行资源规划、新生产流程管理等技术架构的重构。

[1496734844968_5634_1496734847101.JPG]

某个集团下的 N 多个工厂,其投入产出比不够优化。那么该如何优化投入产出比?可以通过数据分析的手段找出问题的关键点。于是,这家工厂开发了一个数据分析软件,部署到各个工厂。

[1496736061733_879_1496736063915.JPG]

该软件架构用一个基于数据库的集成框架,按照各个厂的生产流程,将多个算法模块集成起来。将这个的应用开始做试点和推广,安装到各个工厂。一开始这个应用比较简单只有3到5个算法,试点也比较少,在试点的过程中感觉良好。于是,对其进行推广,为了丰富软件的功能,满足客户不同的需求,增加到20到30个算法,这期间就出现了BUG频出、迭代周期变长、难以维护、新功能无法实现、版本混乱、部署实施成本高、资源规划等问题。

[1496736584921_8750_1496736587182.JPG]

为了解决这些问题,使用Cloud Native的模式对其进行架构重构,将算法模块进行了模块化、集成构架使用 Service Orchestration 服务编排工具将几个算法串起来、部署实施通过镜像+ Orchestration Template。

[1496737202911_2232_1496737204846.JPG]

利用云的5个特性,使用 DBaas 解决结构化数据存储问题、使用 Object Storage 解决文件存储问题、使用 Auto-Scaling 解决资源规划问题、利用镜像的更新解决算法的更新问题、利用新的 Orchestration Template 代替新生产流程。

[1496737722892_3378_1496737724884.JPG]

以上所举的例子虽然不算是小团队,但是在解决软件部署、升级、维护中遇到的一系列问题,我们确实利用了云的手段,Cloud Native 技术手段解决了很多问题,节省了大量的人力资源并且解决了人力无法处理的问题。最后,李明宇还提到在 Cloud Native 实践过程中还收获了教训,Cloud Native 虽然看起来很完美,但是在实践的过程中需要更多的考虑,或是说很多问题我们之前是没有考虑到的。所以提出一下几个需要注意的问题:

第一,虚机的 GuestOS 和实际服务消耗资源的比例过高,但是大多数 Windows Server 版本不支持 Container;

第二,图形化是一个大坑;

第三,循环逻辑不便于实现。

[1496737948282_6909_1496737950542.JPG]

最后,李明宇还提到了后续的工作,第一个是能不能用 Container 替代虚拟机;第二个就是能不能实现 CICD。

[1496740740449_7926_1496740742390.JPG]

相关推荐

云时代程序员的社会责任和机会