当前,选择PaaS或者IaaS构建微服务是个非常火热的话题。本文主要会就基于PaaS和IaaS实现微服务架构的6大不同之处进行详细阐述。
为什么要使用微服务架构?
烟囱式的系统构架,可能会变成构建企业级大型处理系统的建设瓶颈,造成应用程序迭代更新的难点所在。基于传统的烟囱式系统建设方式,要实现应用的逻辑功能升级或者移植,往往需要重新编译和部署整个应用,工作量很大,并且有很多潜在的安全性风险,运维成本高。
微服务的架构,是基于特别适用于应用实现变更/升级的架构,是因为每个独立的服务都可以单独扩展和升级部署。此外,还可以针对不同的服务采用不同的开发语言进行开发,不同的服务由不同的开发团队使用不同的项目组织管理方式管理,每个服务模块还能够通过客户化的方式提供更加完善的容错及高可用等的企业级特性。
基于PaaS构建微服务还是基于IaaS?
实际上,实现微服务架构的能力,在一定程度上依赖于微服务架构是基于什么样的云基础架构来构建。举例来说,将应用直接运行在IaaS上是相对比较低成本的,但是需要一个专门的DevOps团队去负责运维。
自动化的PaaS会是相对IaaS实现方式来讲成本要高的微服务实现方式,但是这种方式能够将应用的发布从以周为单位提升到以小时为单位,甚至能够消除一些基于IaaS实现微服务架构的不足之处。
如下的表格列举了基于IaaS和PaaS(Cloud Foundry)实现微服务架构的6个主要不同之处: