  Multi-access Edge Computing (MEC) is booming as a promising paradigm to push
the computation and communication resources from cloud to the network edge to
provide services and to perform computations. With container technologies,
mobile devices with small memory footprint can run composite microservice-based
applications without time-consuming backbone. Service placement at the edge is
of importance to put MEC from theory into practice. However, current
state-of-the-art research does not sufficiently take the composite property of
services into consideration. Besides, although Kubernetes has certain abilities
to heal container failures, high availability cannot be ensured due to
heterogeneity and variability of edge sites. To deal with these problems, we
propose a distributed redundant placement framework SAA-RP and a GA-based
Server Selection (GASS) algorithm for microservice-based applications with
sequential combinatorial structure. We formulate a stochastic optimization
problem with the uncertainty of microservice request considered, and then
decide for each microservice, how it should be deployed and with how many
instances as well as on which edge sites to place them. Benchmark policies are
implemented in two scenarios, where redundancy is allowed and not,
respectively. Numerical results based on a real-world dataset verify that GASS
significantly outperforms all the benchmark policies.
