applications development, including software
developer kit, message brokering system and
browser support. For a developer, a Mjolnirr
application is represented as a collection of
independent components communicating by
message passing. This approach allows to develop
flexible and scalable cloud applications.
Mjolnirr also provides integration with the
UNICORE grid environment (Streit, 2009) through
the DiVTB (Radchenko and Hudyakova, 2013)
platform. The DiVTB (Distributed Virtual Test Bed)
platform provides a task-oriented approach for
solving specific classes of problems in computer-
aided engineering through resources supplied by
grid computing environments. Thus, Mjolnirr can be
used both to provide infrastructure for scientific
projects with the grid systems and in a business
infrastructure.
During our research, we should:
1. analyse technologies of private cloud platforms
development;
2. develop Mjolnirr platform architecture;
3. implement Mjolnirr platform;
4. evaluate the performance and scalability of the
Mjolnirr platform.
3 ANALYSIS OF EXISTING
SOLUTIONS
An investigation shows that C-level executives and
IT managers in enterprise companies have concerns
with integration of cloud computing in their data
processing (Avanade.com, 2014). One of the most
serious concerns is the possibility of data breaches.
A cloud provider can give access to the company’s
private data (accidentally or intentionally) or may
bring harm to the data owner.
It is possible to use the encryption of data stored
in the cloud, but this is effective only when cloud is
used only for storage. If the data is processed in the
cloud, it become available decrypted in the memory
of the host, where the processing occurs. In addition
to this drawback, the owner of the data does not
control the location of his virtual machine, so it can
be moved to the physical computer with the virtual
machine that contains malware. It means that they
will have the same IP address. It may cause the
block of the virtual machine or forfeiture of
computer containing these virtual machines.
Nowadays, there are two ways to ensure the data
security in the cloud. The first way is called “trusted
computing”. It ensures security of virtual machines
in the cloud (Christodorescu et al., 2009). But user
data cannot be completely safe. In IaaS clouds, the
virtual machine can be moved to the other host, but
the concept of trusted computing provides security
only for virtual machines running on the same host.
Otherwise, the concept of Trusted Cloud Computing
Platform (Garfinkel et al., 2003) solves this problem
by creating the safe environment for running virtual
machines. But neither of these approaches solves the
problem of VMs placement on the same host with a
malicious VM.
Another way to deal with the security issue is to
deploy the cloud infrastructure on the private
hardware. But buying and maintaining of the
hardware is more expensive than rent of computing
resources.
The simplest way is to create a private cloud
system, and there are several different platform
(PaaS) solutions existing in this area.
Yandex Cocaine and AppFog platforms provide
the ability to create private PaaS solutions based on
application containers (Api.yandex.com, 2014;
AppFog, 2013). These platforms allow creation
Heroku-like application hosting. They provide a
number of built-in modules and a server
infrastructure. Stackato (Activestate.com, 2014)
shows all advantages of the already mentioned
solutions and provide local application store.
However, all of the above solutions consider custom
applications as a monolith and ignore its internal
structure, that’s why it is not possible to
automatically and effectively balance the load on the
individual subsystems applications. In addition to
this drawback, none of these solutions considers
end-user workstations as computing resources
providers.
We decided to create a Mjolnirr cloud platform,
which solves these problems as follows:
1. Cost reduction will be provided by using popular
open source libraries and programming
languages, as well as the opportunity to work not
only on the server platform, but also on the
personal computers, using idling resources of the
computer system.
2. Ease of application development will be
provided by using popular programming
languages, developer tools and SDK.
3. Integration of new resources ease will be
provided by the application architecture
modularity and custom components reusability.
CLOSER2014-4thInternationalConferenceonCloudComputingandServicesScience
446