MicroService Architecture (MSA) is gaining rapid popularity for developing large-scale IoT applications for deployment within distributed and resource-constrained Fog computing environments. As a cloud-native application architecture, the true power of microservices comes from their loosely coupled, independently deployable and scalable nature, enabling distributed placement and dynamic composition across federated Fog and Cloud clusters. Thus, it is necessary to develop novel microservice placement algorithms that utilise these microservice characteristics to improve the performance of the applications. However, existing Fog computing frameworks lack support for integrating such placement policies due to their shortcomings in multiple areas, including MSA application placement and deployment across multi-fog multi-cloud environments, dynamic microservice composition across multiple distributed clusters, scalability of the framework, support for deploying heterogeneous microservice applications, etc. To this end, we design and implement MicroFog, a Fog computing framework providing a scalable, easy-to-configure control engine that executes placement algorithms and deploys applications across federated Fog environments. Furthermore, MicroFog provides a sufficient abstraction over container orchestration and dynamic microservice composition. The framework is evaluated using multiple use cases. The results demonstrate that MicroFog is a scalable, extensible and easy-to-configure framework that can integrate and evaluate novel placement policies for deploying microservice-based applications within multi-fog multi-cloud environments. We integrate multiple microservice placement policies to demonstrate MicroFog's ability to support horizontally scaled placement, thus reducing the application service response time up to 54%.
翻译:微服务架构(MSA)正日益流行于开发部署在分布式、资源受限的雾计算环境中的大规模物联网应用。作为云原生应用架构,微服务的真正优势源于其松散耦合、独立部署与弹性扩展的特性,使得跨联邦雾集群与云集群的分布式部署与动态组合成为可能。因此,亟需开发新型微服务部署算法,充分利用这些微服务特性以提升应用性能。然而,现有雾计算框架在诸多领域存在不足,包括多雾多云环境下的MSA应用部署与分发、跨多分布式集群的动态微服务组合、框架可扩展性、对异构微服务应用的支持等,从而缺乏对集成此类部署策略的支持。为此,我们设计并实现了MicroFog——一款雾计算框架,提供可扩展且易配置的控制引擎,能够执行部署算法并在联邦雾环境中部署应用。此外,MicroFog对容器编排与动态微服务组合提供了充分抽象。通过多组用例评估,结果表明MicroFog具备可扩展性、可扩展性与易配置性,能够集成并评估多雾多云环境下部署微服务应用的新型部署策略。我们集成了多种微服务部署策略以验证MicroFog支持水平扩展部署的能力,从而将应用服务响应时间降低高达54%。