Partitioning Cloud-based Microservices (via Deep Learning)
  Cloud-based software has many advantages. When services are divided into many
independent components, they are easier to update. Also, during peak demand, it
is easier to scale cloud services (just hire more CPUs). Hence, many
organizations are partitioning their monolithic enterprise applications into
cloud-based microservices.
  Recently there has been much work using machine learning to simplify this
partitioning task. Despite much research, no single partitioning method can be
recommended as generally useful. More specifically, those prior solutions are
"brittle"; i.e. if they work well for one kind of goal in one dataset, then
they can be sub-optimal if applied to many datasets and multiple goals.
  In order to find a generally useful partitioning method, we propose DEEPLY.
This new algorithm extends the CO-GCN deep learning partition generator with
(a) a novel loss function and (b) some hyper-parameter optimization. As shown
by our experiments, DEEPLY generally outperforms prior work (including CO-GCN,
and others) across multiple datasets and goals. To the best of our knowledge,
this is the first report in SE of such stable hyper-parameter optimization.
  To aid reuse of this work, DEEPLY is available on-line at
https://bit.ly/2WhfFlB.
