深度解析微服务架构与容器技术

在这个时代,为自己的网络服务和应用开辟一片市场,需要敏锐的洞察力和强大的研发部门。全球各地的公司一直都在探索推动敏捷的新方式,以缩短产品的发布周期。

微服务便是其中一个方法。它是一种系统架构的设计理念。在这种架构中,复杂的应用程序由多个较小的独立进程组合而成,这些独立进程有自己的运行环境和权限。进程之间通过语言无关的API接口或者简单的协议进行通信,比如远程方法调用(RMI),RESTful Web服务或消息推送。

模块化的设计便于公司将工作分发到不同的团队,每个团队也有更大的自由度去开发自己的功能模块,有助于加快开发周期。

每个组件都有自己的存储空间,内存或CPU资源,便于分配和跟踪硬件的使用情况,尤其是在PaaS环境中。在保证组件接口能够与其它组件正常通信的前提下,开发人员可以使用任何技术栈进行开发。

尽管微服务架构降低了管理的复杂度,但是在涉及对生产环境进行监控和升级时,仍然需要关注团队之间的合作,比如防止一个组件更新导致另一个组件的异常。详尽的文档可以帮助项目新人快速熟悉代码库,有助于减少类似问题的出现。

微服务架构的早期用户包括亚马逊网络服务(AWS)、谷歌、 eBay 和Netflix,针对频繁更新的服务和应用,他们都在不断提升持续交付的体验。这些服务和应用通过网络分发给用户的PC、平板和智能手机。

拥有如此高逼格的倡导者,微服务概念迅速扩展也就不足为奇。最近IDG Connect对一百名在美国、英国、以色列和印度的高级IT员工进行了一项调查,调查表明,只有6%表示对微服务一无所知。只有少数人(10%)表示他们已经使用微服务架构,超过四分之一(28%)表示明年将会使用微服务,27%表示未来会采用微服务架构。

目前,有大量的服务和应用都部署在云端,而微服务架构严重依赖于容器技术。一个容器只会使用虚拟的操作系统,而不需要整个虚拟机,也不需要底层硬件。微服务进程运行在容器中,由容器提供隔离。

Docker是最常见和使用最广泛的容器技术,它是一个基于Linux的开源软件,目前已经获取多个公司的支持,包括Canonical,Red Hat和Parallels。现有的PaaS服务,如Google App Engine,Red Hat Open Shift,以及VMware的Cloud Foundry也支持Linux容器技术(LXC)。

微服务仍然是一个新兴的技术,对容器的支持计划在很多公司看来也很领先。IDG Connect的调查显示,18%的组织已经部署某些形式的容器平台,另外57%计划在未来这样做,只有3%的人说他们没有任何关于容器的计划。在不久的将来,微服务和容器的结合将在应用和服务开发领域占据重要的位置。

原文链接:https://www.iron.io/microservices-architecture-and-container-technology-explained/

暂无评论

发表评论