自微服务架构诞生开始就一直在引发争议,有人对微服务的独立部署推崇备至,也有人因分布式系统的复杂性诟病连连,这种争论从虚拟机一直持续到了云计算的爆发。但当Docker和容器款款而来的时候,不少开发者开始改变自己的观点,拥抱微服务架构几乎等同于一种政治正确,这在各大云计算论坛上的“交锋”中尤为明显。
对于这种转变,常见的解释是,容器实现了云计算基础设施的自助运维,而且Docker能够将应用打包部署在容器中的特性,在很大程度上客服了微服务架构的不足。深扒微服务架构的历史不难发现,微服务的概念诞生于2012年,随即有不少人把SOA看作是微服务架构的前身,属于给猪画口红(多此一举),直到容器服务流行开来才陆续有人为微服务正名。
那么,Docker和容器对于微服务为什么如此重要? Docker的作用是缩短了构建、测试和部署的周期,并且提供了一种分离方式,通过微服务来分离基础设施、平台和开发团队的功能。Netflix、Amazon、Airbnb等公司已经验证了这种方式,但挑战依然存在于如何将这种方式带入企业级环境中。
原因在于,没有人可以保证微服务能够解决所有的问题,尽管微服务架构自上而下的特点,使得开发者能够决定服务类型和大小。
事实上,从实际的应用案例来看更容易理解开发者态度转变的原因所在。在国内诸多的容器云产品中,网易蜂巢可以说是发展最为迅速的容器云平台之一。
相比于传统的IaaS服务,以新一代云计算著称的网易蜂巢看到的正是容器在DevOps和微服务方面的优良特性,前者解决了开发和运维之间的矛盾,提高了产品的开发效率,后者对产品研发效率的提升更是充满诱惑。
网易蜂巢的产品负责人陈谔曾在一次分享中谈到了容器环境下微服务的应用,网易的电商等产品研发团队在网易蜂巢上线后开始实施更能适应产品快速迭代的微服务架构,在微服务架构下的业务系统被拆分成很多个单一职责的服务,例如电商业务中购物车、订单、用户信息、风控、库存都能够提取成独立服务,研发团队可高频度独立更新各个微服务,从而能够控制变更范围,极大加速产品的迭代。
诚然,网易蜂巢将容器和微服务应用在了企业具体的生产环境中。
站在开发者的角度来讲,衡量一种技术或架构的优劣,与业务需求、技术能力、团队、可维护性、安全性、可靠性及可持续性等多重因素相关。开发者对微服务态度的转变,以及网易蜂巢作为容器云服务在产品开发过程中的实际应用,微服务早已走出象牙塔,成为产品研发的一种趋势。
据悉,网易蜂巢将在8月下旬开放微服务功能的内测,对于微服务可望不可即的中小企业而言,无疑是一次拥抱前沿技术的机会。