第二天的重头戏莫过于MTA( Modernize Traditional Apps),Docker高调宣布IBM成为MTA的新伙伴,结合Docker EE(Enterprese Edition)和IBM Cloud,使传统应用容器化更容易。
那什么是MTA?我的理解 MTA更象是一套方法论,Docker EE将此套方法论融入其中,提供兼容多种编程语言的应用,以及一系列自动化工具(如服务发现、依赖管理、投资回报率报表等等),降低Docker化的门槛,看到Docker化的收益。
先来看一组针对企业的调查结果:
1、IT基础设施:
采用Hybrid Cloud的比例:39%(2016年) 50%(2017年)
采用Public Cloud的比例:27%(2016年) 29%(2017年)
采用Private Cloud的比例:23%(2016年) 9%(2017年)
采用Hosting的比例:10%(2016年) 10%(2017年)
2、应用发布频率的速度不断上升,以周、月、季的发布频次为主。
3、首要考虑的问题:安全,也因此减缓了上云的速度。
4、花费了80%的时间用于维护,只有20%的时间用于创新。
利用Docker EE加MTA的方法论使传统应用不多于5天即可容器化,可实现HybridCloud或SingleCloud、提高发布频率、解决安全问题,以及减少维护时间,降低企业总成本。
Docker EE的架构图如下:
其针对Image的scan、sign、caching、promotion、mirroring增强了容器镜像的安全性、制作镜像的速度,以及访问速度,其中mirroring明年会推出,利用CDN可实现各缓存点的自动同步。
Scan/Sign: 扫描镜像,验证签名
Caching/Promotion/Mirror: 通过缓存、镜像自动复制到其他的Repository、镜像同步等手段提高镜像的打包及访问速度
MTA的步骤:Governance、Platform、Pipeline、Application。
MTA的各个阶段有相应的评估内容,比如在Governance阶段主要是为PoC服务,重点考虑整体计划、组织支持的力度等;在Platform和Pipeline阶段需要考虑详细的需求和计划、基础设施层及服务的架构(公有云或私有云、监控、日志、存储等)、与已有系统的集成(服务发现方案)、高可用、测试方案、发布频次、扩缩容等,同时要规划出基础镜像和应用镜像(最佳实践:镜像Layer小于20,镜像大小不超过400M,镜像build时间不要超过5分钟)。Application阶段需要考虑stack的架构、Docker应用的运维、自动化测试等。
附上Pipeline的CI过程图:
之所以有MTA,演讲者分享了个曲线图特别有意思,在最开始做PoC时,很容易,随后需要一个真正的产品Docker化时,就进入了深渊,需要解决各种问题,所以DockerEE就是从PoC到产品真正Docker化的桥梁,不至于让自己跌到谷底 :)
随着机器学习、媒体等行业的火热,docker如何发挥GPC、FPGA、ASICS的优势,推荐一个结合Intel的stack,主要是Media Server Studio,详见 https://software.intel.com/en-us/intel-media-server-studio
最后这张图是两个小哥在分享机器学习结合OpenFaaS的案例,是这两天我见过的最年轻的分享者,大胆预测下机器学习和Serverless是新一代的开发者方向: