汉莎航空使用portworx在容器集群架构和DevOps下进行数据管理
德国汉莎航空股份公司(Deutsche Lufthansa AG),世界上第五大航空公司。汉莎航空下属的IT公司-汉莎系统公司(Lufthansa Systems),它支撑了汉莎所有线路,百万乘客,从机上到机下,从起飞到降落的所有信息化系统的建设和运营。
汉莎系统开发的机上娱乐系统采用了容器技术作为底层技术支撑。对系统的扩展性,稳定性、模块化、用户友好度,要求非常之高。微服务和容器技术逐渐成为汉莎系统产品开发的底层支撑,并应用DevOps的方式来进行开发和管理。但在这个过程中,汉莎遇到了重要的挑战,就是如何在系统灵活、易用、快速的前提下,保持数据的永久性。
汉莎发现并使用了Portworx来解决问题
我们来看看汉莎系统软件架构师麦克·威廉姆斯(Michael Wilmes)怎么评价Portworx:
“Portworx与我们的IT系统是一个完美的结合,它对于传统的、云原生、第三方应用,非常便捷和易用。”我们的BoardConnecd系统,采用了微服务架构,运行Docker Swarm环境,和Consul-backed Service Discovery。我们采用了云上的对象存储功能与BoardConnecd系统进行数据交换,,同时我们运维大量的Block存储的服务。
以BoardConnect系统为基础的机上娱乐系统(CMS),采用的是传统的数据管理方式,数据被存储到硬盘和数据库里。当IT希望在项目上自动开启CMS的instance的时候,或者需要管理客户生产环境的每个CMS Instance的时候,就产生了对Docker 调度的强烈需要。
容器能够帮助我们提高开发速度,同时,能够帮我们更好的调节各个应用的部署和管理。以及同时保持容器的数据永久性和灵活性。使用Portworx,我们可以在几分钟内部署完整的CMS系统,并且不需要手动的干预。而之前我们需要几个小时。在生产系统中,Portworx可以帮助我们在不同的Cluster中移动CMS环境,并且同步移动数据。
不论是云环境还是硬件环境,Portworx都有工具能够帮助我们快速部署,这个实在太有价值了。Portworx帮助我们在更多的应用中使用Docker,同时更好的对应用进行生命周期管理。在我们的应用中,容器的Dev&Ops带来了易用性和快捷,就产生进一步的用传统方式管理存储的需要。但这种方式并不简单。某些服务需要基于Block服务的高I/O。而另一些服务,比如CMS和数据库,本身并不支持云存储。而Portworx解决了这样的问题。
Operations也有基于Docker的挑战:通过先部署的Host Mounts,再部署Docker命名的卷,我们就能够快速进行开发,但是这些容器就会被绑定到某个具体的Docker host上,而数据被延迟到了下一个host中。这就产生了很大的问题,正常的容器可以在cluster上自动漂移,而需要数据永久性的容器就需要很多的手工动作来完成。
一些通常的容器永久性解决方案,主要是建立存储应用和Docker的连接。但是这样的方式产生了1)对于某个存储和云服务的依赖性 2)存储的类型也受限。这样的解决方案无法真正满足需求。而Portworx的方案,则能够很好的解决这些问题。
部署Portworx相对简单,有很好的文档支持。Portworx让我们的Docker变得与Cluster无关,也与底层的软件堆栈无关,我们可以基于不同的云服务提供商和数据中心来进行Docker一致性的管理。同时可以把不同种类的容器用同样的方式来处理,包括云原生微服务,传统的CMS系统,和数据库。Portworx帮助我们同时对CMS,数据库,和文件系统进行自动部署和管理。当Portworx在Docker Cluster上安装完成后,管理容器变得非常简单,可以通过图形化界面,也可以通过命令行的方式,升级也很直接,存储系统可以用JSON来直接调用。