or anonymized before migrating the billing data to
the Public Cloud. In this case, the actual people
the data is about (HIC customers), and the owner
and user of the data (HIC and EAC, respectively) are
clearly distinguished. The migration of anonymized
or pseudonymized data to the Cloud therefore does
not effect the management of the identity of users of
Cloud data hosting solutions, e.g., in large-scale Pub-
lic Cloud environments. The interested reader is re-
ferred to (Strauch et al., 2012a; Strauch et al., 2012b)
for an in-depth discussion on these patterns.
6 PATTERN-BASED
APPLICATION REFACTORING
In this section we first introduce the mapping of
Cloud Data Migration Scenarios to Cloud Data Pat-
terns (Section 6.1). Afterwards we propose a step-by-
step methodology for the migration of the data layer
to the Cloud covering all migration scenarios and us-
ing the patterns (Section 6.2). Finally, we apply the
methodology to the application introduced in the mo-
tivating scenario focusing on application architecture
refactoring using the patterns (Section 6.3).
6.1 Mapping Scenarios to Patterns
Table 3 provides an overview on how Cloud Data Mi-
gration Scenarios map to Cloud Data Patterns. In or-
der to avoid repetition, in the following we discuss the
mapping of the migration scenario Database Layer
Outsourcing to the various patterns in detail and for
the other scenarios we focus on explaining the dif-
ferences compared to the mapping of this migration
scenario.
All patterns are applicable for the scenario Data-
base Layer Outsourcing depending on the specific
conditions of the required solution. As no change of
the data store type takes place, but there might be a
change of the product, potential incompatibilities, e.g.
regarding realization of data types, or missing func-
tionalities used before, like stored procedures, have
to be added or emulated using the functional patterns.
In case the DBL is completely moved to the Cloud,
a solution to reduce the latency for data access is to
host read replicas locally and to use a Local Data-
base Proxy to forward data reads to these replicas
instead of querying the DBL in the Cloud for every
read request. In order to scale both data writes and
reads, a Sharding-Based Router can be used to enable
sharding in case it is not supported by the Cloud data
store(s) chosen for migration.
When the database layer is migrated to the pub-
lic Cloud, it has to be decided which critical data
will not be moved to the Cloud, e.g., as business se-
crets. The patterns Confidentiality Level Data Aggre-
gator and Confidentiality Level Data Splitter enable
the differentiation and harmonization of the confiden-
tiality level of different data sets from potentially dif-
ferent domains and different data sources. The other
confidentiality patterns enable filtering of critical data
that have to stay locally in case the database layer
is only partially migrated to the Cloud, and remov-
ing or masking the critical data by anonymization or
pseudonymization before moving them to the public
Cloud.
As in the migration scenario Using Highly-
Scalable Data Stores the data in the DBL can also
be only partially migrated, the non-functional pat-
terns might be applicable as in the fist migration sce-
nario. Thus, there are no differences in the pattern
mapping compared to the migration scenario Data-
base Layer Outsourcing. The usage of the Sharding-
Based Router is not typical for the migration scenario
Geographical Replication since sharding the data dis-
jointly distributes them, instead of replicating them.
When combining replication and sharding however,
e.g., by sharding some write replicas that are more of-
ten accessed, this pattern is also applicable.
A non-typical use of the Local Database Proxy
pattern for the scenario Sharding can be applied in
case, e.g., some shards that are more often accessed
via read are replicated for read scalability. The Lo-
cal Sharding-based Router might be even used in the
scenario Sharding in order to keep the sharding in the
database layer transparent for the business layer to
avoid adaptations to the business logic. In the Work-
ing on Data Copy scenario, data analysis is performed
on the complete or partial copy of the database layer,
instead of the actual data. As such, the non-functional
patterns are not applicable for this scenario.
None of the Cloud Data Patterns are applicable
in the Backup scenario, because the purpose of this
scenario is to restore the latest, saved state of the sys-
tem as fast as possible in case an error or outage oc-
curs. No further processing on the backup data takes
place. Thus, in such a time critical situation even
the usage of the Pseudonymizer of Critical Data is
to much overhead that delays restoring the latest sta-
tus. The Pseudonymizer of Critical Data however can
be used in the scenario Archiving to save even critical
data, e.g. personal data, in the public Cloud. The re-
lation of the masked data to the original data has to
be stored separately and safely in order to avoid re-
vealing and to be able to revert the masking of the
data before the archived data can be used. All other
CLOSER2013-3rdInternationalConferenceonCloudComputingandServicesScience
42