Multiple platform IT service deployment
Abstract
Nowadays, the trend of cloud computing is the hybrid approach [9] (a
cooperation between multiple cloud type such as private cloud and public cloud).
However, it is not easy to establish the IT services based on that approach. Most
major cloud vendors use proprietary APIs and toolkits to interact with their platform.
Thus, one of the biggest challenges is to deploy applications and services to multiple
cloud platforms belong to different providers. The huge amount of time and effort
for managing nodes in multiple platforms discourages users following hybrid
approach. Such challenges impede the combination of multiple cloud and platforms.
The second matter we would like to mention is deploying IT systems repeatedly
in different cloud frameworks. Several software companies build a core product and
deploy it multiple times in clients’ infrastructure. To meet that demand, many cloud
providers support modelling IT system architecture via template file. With that
template, users can establish that systems multiple times in the cloud framework.
However, different cloud platforms support different syntax of template files. If we
want to deploy in different cloud provider, we need to convert the template file to
adapt the syntax of new system.
In this thesis, we propose the solution to overcome above impediments. Our
contributions are threefold. First, we improve the portability and interoperability of
cloud framework by resolving the difficulty of machine creation and deployment in
different cloud environment. Second, we propose the service template that can be
used to deploy software service into diversity of cloud platforms. With that syntax,
users can create the services, upload to the system and deploy it on desired cloud.
Finally, we build the tool to use this template to perform actual deployment into
ix
several famous cloud frameworks. With this tool, we illustrate our solution by
constructing the web base system that can use the given template to create numerous
virtual machines and configuring that machine with defined script. We tested the
system carefully in five different cloud platforms: Amazon Web Service [15],
Google Cloud [16], HP Cloud [17], TryStack [18], and a local deployed OpenStack
[19]. On each platform, we deploy some services using Puppet [20] such as Tomcat
[21], Hadoop [22]. With the result we have, we want to emphasis the ability to
establish our desiring applications or services into diversified cloud platforms in the
same time.
Keywords: Cloud computing, Multiple Cloud Platforms, Cloud Deployment,
Cloud portability and interoperability.