MIGRATING ON-PREMISES APPLICATION TO
WINDOWS AZURE PLATFORM (MICROSOFT CLOUD)
ASGHAR PAKBAZ
A master project report submitted in fulfillment of the
requirements for the award of the degree of
Master of Software Engineering
Advanced Informatics School
Universiti Teknologi Malaysia
June 2013
vi
ABSTRACT
Legacy systems are usually attached with outdated technologies which over time
become a bottleneck for organizations to manage and maintain. Old and poorly utilized
architecture make systems run slow and far from expected, however sometimes
organization cannot live without those. Renewing application architecture can be
considered as an option but it is time consuming and very costly. Cloud computing as an
ultimate solution can be proposed to migrate on-premises application to a utilized
environment in terms of infrastructure, computing power and virtualization. In addition,
it provides a highly available and elastic computing environment which makes
organizations to only pay for what they use. In this research, after a brief introduction to
main concepts of cloud computing particularly Windows Azure platform (Microsoft
Cloud), it is tried to analyze and assess OnePortfolio system developed by Riskk Sdn
Bhd, to see whether it is feasible to be moved to Windows Azure. OnePortfolio operates
on a SOA architecture comprised of three main components: services, client application
and database. Throughout this research, Windows Azure migration lifecycle in
compliance with ISO/IEC 14764 international standard is used as the methodology to
perform the migration. Once the application is analyzed and migrated to cloud, it is
compared to on-premises environment to evaluate its performance and security
mechanism.
vii
ABSTRAK
Sistem legasi dengan teknologinya yang ketinggalan zaman sentiasa menjadi
halangan bagi organisasi untuk mengurus dan menyelenggara dari masa ke semasa.
Senibina yang lama dan tidak optimum telah menyebabkan sistem beroperasi secara
perlahan dan ketinggalan jauh daripada jangkaan. Walaubagaimanapun organisasi tetap
memerlukan sistem tersebut. Memperbaharui senibina aplikasi boleh dianggap sebagai
satu pilihan tetapi ia memakan masa dan sangat mahal. Pengkomputeran awan adalah
antara penyelesaian yang boleh dicadangkan dengan melakukan migrasi bagi
menggantikan aplikasi-aplikasi yang sedia ada di premis kepada penggunaan
persekitaran sepenuhnya sama ada dari sudut infrastruktur, kuasa pemprosesan and
virtualisasi. Selain itu, teknologi ini menyediakan servis yang lebih memuaskan dan
fleksibel menyebabkan organisasi hanya membayar untuk apa yang mereka gunakan.
Dalam tesis ini, selepas beberapa pengenalan ringkas kepada konsep utama
pengkomputeran awan terutamanya platform ‘Windows Azure (Microsoft Cloud) ‘ ,
analisa and penilaian akan dibuat ke atas sistem ‘OnePortfolio iaitu sebuah sistem yang
sedia ada kepunyaan Riskk Sdn Bhd, untuk melihat sama ada migrasi ke ‘Windows
Azure boleh dilaksanakan atau tidak. Sistem OnePortfolio beroperasi menggunakan
senibina SOA yang terdiri daripada tiga komponen utama iaitu: perkhidmatan,
permohonan klien dan pangkalan data. Sepanjang kajian ini, proses migrasi Windows
Azure yang mematuhi standard antarabangsa ISO/IEC 14764 akan digunakan sebagai
kaedah migrasi. Setelah aplikasi ini dianalisa and dimigrasi ke pengkomputeran awan,
ianya akan dibandingkan dengan sistem yang sedia ada di premis untuk menilai prestasi
and mekanisma keselamatannya.
viii
TABLE OF CONTENTS
CHAPTER TITLE PAGE
1
DECLARATION ii
DEDICATION iii
ACKNOWLEDGMENT iv
ABSTRACT vi
ABSTRAK vii
TABLE OF CONTENTS viii
LIST OF TABLES xii
LIST OF FIGURES xiii
LIST OF ACRONYMS xv
LIST OF APPENDICES xvi
PROJECT OVERVIEW 1
1.1 Introduction 1
1.2 Company Background 1
1.3 Problem Statement 2
1.4 Project Background 3
1.5 OnePortfolio Background 4
1.6 Project Objectives 5
1.7 Project Scope 5
ix
2
1.8 Project Vision Statement 7
1.9 Deliverables 8
1.10 Project Schedule 8
1.11 Summary 9
LITERATURE REVIEW 10
2.1. Introduction 10
Introduction to ISO/IEC 14764 10 2.1.1
Process Approach 11 2.1.2
Process Implementation 12 2.1.3
2.2 Cloud Computing 14
2.3 Cloud Definition 14
2.4 Cloud Model 15
2.5 Cloud Service Model 16
2.6 Cloud Deployment Model 18
2.7 Migration Overview 20
2.8 Cloud Computing Pros and Cons 21
2.9 Cloud Service Providers 23
Amazon EC2 23 2.9.1
Windows Azure Platform 25 2.9.2
Amazon vs. Windows Azure 29 2.9.3
2.10 Feasibility Report 33
2.11 Cost Estimation 34
2.12 Related Work 34
x
3
4
2.13 Summary 36
RESEARCH METHODOLOGY 37
3.1 Introduction 37
3.1. Research Methodology 37
Overview of the Migration Life Cycle in Windows Azure 37 3.1.1
ISO/IEC 14764 Guidelines 40 3.1.2
Methodology Conclusion 42 3.1.3
3.2 Tools and Techniques 42
3.3 Summary 44
PROJECT IMPLEMENTATION AND DISSCUSSION 46
4.1 Introduction 46
Notification of Intent 47 4.1.1
4.2 Study and Analyze Cloud Computing Environment 48
Review existing application architecture 48 4.2.1
Analyze the migration requirements 56 4.2.2
Determine the impact of migrating the software product 58 4.2.3
Determine and mitigate risks 61 4.2.4
4.3 To modify and convert OnePortfolio 63
Map with Windows Azure 63 4.3.1
Application Migration 67 4.3.2
Implement Changes 67 4.3.3
4.4 To migrate OnePortfolio from on-premises to cloud 70
Incrementally decompose software and data 71 4.4.1
xi
5
Data Migration Phase 76 4.4.2
Optimization and Testing 79 4.4.3
Operation and Management 84 4.4.4
4.5 Formulate migration guideline for developers 85
4.6 Recommendation to improve cloud experience 86
CONCLUSION 87
5.1. Summary of the Project 87
5.2. Experience gained 89
REFERENCES 91
Appendices A-B 94-95
xii
LIST OF TABLES
TABLE NO TITLE PAGE
2.1 Cloud Computing Service Models 16
4.1 Comparison between SQL Database and Azure SQL 51
4.2 Estimated cost for on-premises environment 60
4.3 Three-year cost estimation 60
4.4 Security concerns between on-premises and cloud 72
4.5 SQL Azure limitations and workarounds 77
xiii
LIST OF FIGURES
FIGURE NO TITLE PAGE
1.1 OnePortfolio Architecture 3
2.1 Maintenance Processes (ISO/IEC 14764, 2007) 11
2.2 Service Model Management Schema 18
2.3 Overview of OnePortfolio Migration 21
2.4 Services Offered by Windows Azure 27
2.5 Windows Azure Interface 28
2.6 Amazon EC2 Price Schema 31
2.7 Windows Azure Price Schema 32
3.1 Windows Azure Migration Lifecycle (Refer to appendix B) 38
4.1 Implementation of Service Bus Relay on a WCF application 50
4.2 Cloud Risk Analysis 62
4.3 OnePortfolio WCF architecture 63
4.4 The main screen for OnePortfolio client application 64
4.5 Virtual machine endpoints 65
4.6 Setting available to each virtual machine 66
4.7 Virtual machine size and availability 69
4.8 Availability set for virtual machines on Azure 70
4.9 Network architecture between on-premises and Windows Azure 74
4.10 Successful site to site VPN 75
4.11 SQL Database firewall setting 78
4.12 Complete Migration Activity 79
4.13 Cloud performance test result 81
xiv
4.14 On-premises performance test result 82
4.15 Performance test results for application deployed in Windows Azure 83
4.16 SQL Sync between On-premises and Azure SQL 85
xv
LIST OF ACRONYMS
AES : Advanced Encryption Standard
AIS : Advanced Informatics School
HTTP : Hypertext Transfer Protocol
IaaS : Infrastructure as a Service
IIS : Internet Information Service
LAN : Local Area Network
OS : Operating System
PaaS : Platform as a Service
SaaS : Software as a Service
SDK : Software Development Kit
SLA : Service Level Agreement
VHD Virtual Hard Disk
VM : Virtual Machine
VPN : Virtual Private Network
WCF : Windows Communication Foundation
xvi
LIST OF APPENDICES
APPENDIX. TITLE PAGE
A GANTT CHART 94
B METHODOLOGY LIFE CYCLE 95
CHAPTER 1
1 PROJECT OVERVIEW
Introduction 1.1
This chapter provides an overview of the project “migrating on-premises
application to Windows Azure platform (Microsoft cloud)”. This chapter shall
describe the background of the company as well as the project progress and findings
during eight months of industrial attachment at Riskk Sdn Bhd Company. Also, this
chapter briefly describes the existing problem, and identifies the project objectives and
scopes.
Company Background 1.2
Riskk.Com is a boutique Software and Outsourcing house for Asset Managers
such as Unit Trusts, Life Offices, Custodians, Trustees, Bank Wealth Management Units
and Asset Managers. Its product hallmark is an Uncanny Simplicity and Imaginative
Innovations (Riskk.com, 2013).
Among all software products that the company developed, OnePortfolio
considered being the premier solution to solve unique financial problems. Riskk Sdn
2
Bhd, was founded on 1997, from its early establishment there was potential to propose
business solutions for financial industry. Over the years, various products developed and
distributed to the market but none was as successful as OnePortfolio. Risk Sdn Bhd
describes OnePortfolio as below:
“OnePortolio, our signature product, is a truly unique innovation that will power
the next wave of productivity gains of the industry. It smoothly combines the Front,
Middle and Back Office Functionality in ONE system. It is the ONLY system that is
designed from ground up as ONE unified system for Pre Trade Compliance,
Performance Attribution, Risk management, Multicurrency Accounting, Settlement,
Unit Pricing, Position and Transactions management. This introduces simplification,
innovation, leveraging of functions and smoother flow of processes. It also eliminates
complicated "work around" and duplication of functions of three separate systems
(Riskk.com, 2013)”.
Problem Statement 1.3
Availability, Scalability and Cost Saving are the three major factors in every
financial application to keep the process running smooth all the time. Availability is to
improve uptime and scalability offers resource elasticity. Riskk Sdn Bhd as one of the
pioneers in developing financial applications started to establish a plan to migrate their
signature product to a cloud platform. Perhaps the initial probe is to find out which cloud
service provider is compatible with the current solution. OnePortfolio has been
developed based on Service-Oriented Architecture (SOA) which simply means to design
the application principles in form of interoperable services as software components
which can be reused as required. Therefore, it consists of two separate solutions, one
plays the role of a server which all services resides there and the other one is client
application which used as the interface to send users’ interactions to server side.
3
Figure 1.1: OnePortfolio Architecture
Microsoft has recently introduced its cloud computing platform with various
functionalities to quickly build, deploy and manage applications across a global network
of Microsoft-managed datacenters (Windows Azure portal, 2012). As it is said earlier,
OnePortfolio is developed based on Microsoft technologies which make Windows
Azure more compatible towards this particular migration process.
The project aim is to analyze and evaluate migrating OnePortfolio application
from on-premises environment to Microsoft cloud computing platform known as
Windows Azure.
Project Background 1.4
Cloud computing become so popular over the last decade. An increasing number
of organizations used clouds to build highly scalable systems to provide more cost
effective, equally or perhaps more reliable and highly scalable solution for their users.
Like other competitors in the market, Riskk Sdn Bhd set a record to put a financial
application on cloud to offer an effortless and elastic solution to its different type of
clients from small to large. Besides, cloud infrastructure opens a prospect for the future
4
project to be designed and developed completely running on cloud to gain the full
advantages of available features which will be discussed in Chapter 2.
OnePortfolio Background 1.5
Oneportfolio project has been initiated back in 2009 as the company intended to
integrate core functions of fund management into one system. The project comprised of
three main cores:
Pre trade limit engine
Unit pricing
Multicurrency fund accounting
As one of the premier financial application provider, Riskk Company has been
tried to form comprehensive services to financial parties. In order to survive within the
competitive market, The Company has to build a signature product to make them
distinct in the market. To accomplish this objective the company decided to establish a
framework by developing a financial tool in order to improve the services given to its
client. The achievement has been completed by wining several awards from different
organization during the last few years.
Over the years OnePortfolio has been improved and upgraded with new features
to fulfill new requirements demanding from the clients. The latest version is
OnePortfolio v7.0 which released recently in 2012. As the company stated the
followings as their Disruptive Difference in OnePortfolio solution:
A Zero Error Technology
Unit Pricing - 20 Times More Productive
Pre Trade Limit Utilisation Engine
5
Fund Accounting. Simplified! No Integration, No Reconciliation
Cloud Magic
Project Objectives 1.6
According to problem statement and improvements discussed in current version
of OnePortfolio, this research will focus on migration analysis and evaluation for
OnePortfolio system which is running on-premises environment to Microsoft Cloud
computing platform. To ensure achieving the goal, the following objectives are aimed to
be gained:
1) To study and analyze the concept and feasibility of migrating an existing
application to cloud environment.
2) To modify and convert OnePortfolio to be deployed to cloud computing
environment.
3) To migrate OnePortfolio from on-premises environment to cloud computing
infrastructure.
4) To formulate a guideline for developers to perform modification prior to
development for future works.
Each step and activity related to that objective will be defined in project scopes
and project methodology.
Project Scope 1.7
The migration process is conducted in an integrated environment consists of a
server machine running windows server 2008 R2 providing services for clients machines
6
running windows 8. According to ISO/IEC 12207, the purpose of the Software
Maintenance Process is to provide cost-effective support to a delivered software product
(ISO/IEC 12207, 2008). Riskk Sdn Bhd clearly stated its purpose of migrating to cloud
computing to deliver a cost-effective and secure solution for its clients to eliminate
business overheads as they grow.
Scope of migration as a maintenance process includes analyzing the modification
request for its impact on Riskk Sdn Bhd and the legacy system (OnePortfolio) to
distinguish type of maintenance, scope of process and criticality (ISO/IEC 12207, 2008).
ISO/IEC 12207 classifies type of maintenance to corrective, improvement,
preventive or adaptive to a new environment. As this research is defined, migration lies
under the category of adaptive maintenance.
Availability and Scalability are two main elastic features offered by any cloud
computing service provider. Riskk Sdn Bhd is striving to discover new and improved
techniques to leverage capabilities of cloud computing in the long run. Definitely, for a
financial application, uptime is one of the most critical prospects and as the organization
grows it need a scalable plan to further enlarge its assets with less overhead.
According to Figure 1.1, migration is considered being one of the activities with
respect to the Software Maintenance Process. During migration any modification should
be in accordance to ISO/IEC 14764 standard. The process will be initiated by a
migration plan which includes:
Requirements analysis and Definition of migration.
Development of migration tools.
Conversion of software product and data.
Migration execution.
Migration verification.
7
Support for the old environment in the future.
For smooth transition to the new environment, employees at Riskk Sdn Bhd and
users of the system will be notified regularly including why a migration is crucial,
description of Windows Azure platform and its availability, also any contingency plan in
case new environment doesn’t meet their requirements.
Since OnePortfolio is dealing with financial data transaction, some clients prefer
to have on-premises environment as a backup in case any unexpected circumstances
occurs, this is when parallel operation of the on-premises and cloud environment could
fulfill the requirement.
For Rissk Sdn Bhd, a successful migration is very imperative, but to apply the
obtained knowledge from the migration process to business operations and future works
is perhaps the greater achievement, that is the reason an explicit guidelines need to be
documented.
Finally, a post-operation review shall be performed to assess the impact of
changing to the new environment; the result shall be carefully studied to execute proper
actions. More importantly data shall be preserved and accessible by the new
environment, data in OnePortfolio is the most critical part as it builds the structure of
financial transactions.
Project Vision Statement 1.8
The aim of the project is to analyze and evaluate migrating OnePortfolio
application from on-premises environment to Microsoft cloud computing platform
known as Windows Azure.
8
Deliverables 1.9
The author performs an intensive research on cloud computing area and concept
of migrating an existing application to cloud infrastructure to be able to formulate an
appropriate solution for future works.
According to ISO/IEC 14764 the output of a migration activity should be:
Project Maintenance Plan
Requirement Analysis; covers details of approach and methodology used
Migration tools
Migrated Software Product
Measures
Archived data
All the above mentioned deliverables will be included in this research document,
in other words, since the aim of this project is to analyze and explore cloud environment,
the above mentioned deliverables will be discussed and documented throughout this
research.
Project Schedule 1.10
A Gantt chart illustrating the schedule of the project is shown in Appendix A.
9
Summary 1.11
This chapter described an overview of the research to be carried out. Background
of the problem, the software application, standards, project plan and various activities
performed over the period this research also defined. As discussed the main motivation
for the Sdn Bhd to migrate OnePortfolio application to cloud services is to improve and
expand its signature product with outstanding and up-to-date solution be stay resilient in
the market. The objectives of this particular research are to study and understand cloud
services and to document acquired knowledge for the future works.
OnePortfolio is benefiting from a service-oriented architecture which clients are
running in an integrated environment to be remote consumer for services residing on a
server machine. Managing and maintaining this architecture with a large-scale
application like OnePortfolio needs extra budget and effort to operate smoothly;
however, cloud environment with its unique architecture can greatly saves and enhance
journey.
91
REFERENCES
Amazon, 2013, Amazon EC2 Cloud solution, [Online] Available at:
http://aws.amazon.com/ec2/ [Accessed 26 Feb 2013]
Bin Cai et al, 2012, Research and Application of Migrating Legacy Systems to The
Private Cloud Platform with CloudStack, IEEE
Borko, Furht 2010, Cloud Computing Fundamentals. Handbook of Cloud
Computing, Springer Science Business Media, LLC.
Kothari C and A. K. Arumugam, 2010, Cloud Application Migration, Cloud
Computing Journal, Challenges and solutions in migrating applications to
the Cloud, Srpinger
Costa Paulo J, 2011, As transformações nos sistemas de informação preconizadas
pelo Cloud Computing. Master thesis (in Portuguese)
David Greenwood et al, 2010, Cloud Migration: A Case Study of Migrating an
Enterprise IT System to IaaS, IEEE
Deepal Jayasinghe et al, 2011, Variations in Performance and Scalability when
migrating n-Tier Applications to Different Clouds, IEEE
Dinakar, 2010 Compare SQL Server with Windows Azure SQL Database [online],
Available at: http:/ /social.technet.microsoft.com/wiki/contents/articles
/996.compare-sql-server- with-windows-azure-sql-database.aspx [Accessed 5
May 2013]
Dittner, R. et al, 2006. Virtualization with Microsoft Virtual Server. Syngress
Publishing Inc., Rockland.
Herve Roggero, 2013 Sample Pricing Comparison: Amazon AWS and Windows
Azure [Online] Available at: http://geekswithblogs.net/hroggero/archive
92
/2013/02/18/sample-pricing-comparison-amazon-aws-and-windows-
azure.aspx [Accessed 25 May 2013]
Herve Roggero, 2013 Sample Pricing Comparison: On-premises vs. Private Hosting
vs. Cloud Computing, [online], Available at:
http://geekswithblogs.net/hroggero/archive/2013/02/25/sample-pricing-
comparison-on-premises-vs.-private-hosting-vs.-cloud-computing.aspx
[Accessed 12 April 2013]
ISO/IEC 12207, IEEE Std 12207-2008, Systems and software engineering Software
life cycle processes, IEEE Library
ISO/IEC 14764, IEEE Std 14764-2006, Software Engineering — Software Life Cycle
Processes — Maintenance, IEEE, ISO
Jon Brodkin, 2011, Ministry of Innovation / Business of Technology Windows Azure
beats Amazon EC2, Google App Engine in cloud speed test, [online],
Available at: http://arstechnica.com/business/2011/10/windows-azure-faster-
than-amazon-ec2-and-google-app-engine-in-yearlong-cloud-speed-test/
[Accessed 2 March 2013]
Liang Zhou 2013, CloudFTP: A Case Study of Migrating Traditional Applications to
the Cloud, IEEE
Luther Martin, 2011 Is Triple-DES not secure enough? [Online] Available at:
http://www.voltage.com/blog/category/crypto/page/7/[Accessed 1 April
2013]
Mell P and Grance T, 2013 The NIST Definition of Cloud Computing. [Online]
Available from:www.nist.gov/itl/cloud/upload/cloud-def-v15.pdf,
Publication 800-145 [Accessed 20 Feb 2013]
Microsoft, 2013, Windows Azure Features, [Online] Available at:
http://www.windowsazure.com/en-us/home. [Accessed 26 Feb 2013]
93
Muhammad A and Muhammad B, 2012, Towards Process Support for Migrating
Applications to Cloud Computing, IEEE
Paulo Jorge and António Miguel, 2012, Migration to Windows Azure – Analysis and
Comparison, IEEE
Quang Hieu and Rasool Asal, 2012, Legacy Application Migration to the Cloud:
Practicability and Methodology, IEEE
R. Sattaluri, 2011 Application Migration Considerations for Cloud Computing.
Cloud Computing Journal, January 2011.
Riskk.com, 2013, OnePortfolio product, [Online] Available at:
http://www.riskk.com/ [Accessed 22 Feb 2013]
Saravanakumar, 2012 WCF Tutorial, [online], Available at:
http://wcftutorial.net/Author.aspx[Accessed 2 June 2013]
Tom Laszewski and Prakash Nauduri, 2012, Migrating to the Cloud Oracle
Client/Server Modernization, British Library Cataloguing-in-Publication
Data, ISBN: 978-1-59749-647-6
Vasilios Andrikopoulos et al, 2012, How to adapt applications for the Cloud
environment
Warren Chan et al, 2012 Enterprise risk management for cloud [Online] Available
at: http://www.coso.org/documents/Cloud%20Computing%20Though
t%20Paper.pdf/ [Accessed 20 April 2013]
Note: Arranged alphabetically according to author’s name.