Academic journal article Informatica Economica

Migrating Existing PHP Web Applications to the Cloud

Academic journal article Informatica Economica

Migrating Existing PHP Web Applications to the Cloud

Article excerpt

1Introduction

Over the last decade web applications started to become more and more popular. Among various technologies that powered these websites PHP is, with no doubt, one of the most popular. Most of the high traffic sites and platforms such as Yahoo.com, FaceBook.com, Wikipedia.com, Wordpress.com are using PHP to power their services [1]. Running on more than 200M active sites [2] it quickly became used on various Cloud platforms as well, as the need for scale and availability emerged for those sites.

While each Cloud vendor has documentations aimed to help developers and/or system architects to move their applications to Cloud, they are focused mostly on their services and they not provide a Cloud wide guidance. This can make the process of selecting a particular Cloud vendor a little difficult. The problem becomes even trickier for custom solutions that not always fit on a Cloud offering in terms of services they provide.

The contribution of this paper is in the way it presents migration strategies tailored for PHP applications, whether they are custom software or an open source platform.

The ultimate goal of this paper is to assist PHP developers, the system architects and eventually a company, when moving from a traditional hosting to Cloud, by helping them to choose the Cloud platform and services best suited for their applications.

2 When to migrate to Cloud

Every application can be migrated to Cloud, there is no doubt about it. However certain applications make a best fit for the Cloud in what regards the Cloud services utilization (such as: encoders [3], CDN [4] [5], relational databases [6] [7]) and automatic scaling of resources [8]. Others applications can be just moved to the Cloud without getting to fully leverage the resources a Cloud provide. The later applications are said to be less ideal candidates for a Cloud Migration. Each of the two categories will be described in more detail below.

Application types that make a good fit for a Cloud migration:

Applications with periodic and demanding processing needs: these can be applications that do batch analyzes on various data and which may become very computing intensive. Batch analyzes might refer to: file conversion from one format to another, reporting, semantic text analyzes, text indexing, data clustering, data classification, neural network training for machine learning and so on. All of these operations are time predictable, in what concerns their occurrence, and with a high demand for computing power which translates in a greater need for hardware. Although the hardware might be bought it might not worth the investment as the processing takes a limited number of hours per time unit (day, month and so on). More than that, a company can decide at a certain point to further accelerate the batch processing process so it can end more quickly, let's say in less than an hour as opposed of 3 or 4 hours. This would be very easy in a Cloud environment just by spinning up some more computing units, while it can become challenging if not impossible otherwise in a standard hosting due to hardware limitation.

Applications with unexpected usage peaks: these are applications exposed to outside world mostly (online shops, product sites, blogs etc) which have a steady user base that can do something at some point which can end up with attracting a very large number of users. For instance it can get referenced on a popular web page or they can host a video/audio track that gets viral [9] or release a marketing campaign that can become more successful than anticipated (coupons, promo codes, ad words, etc.). In other words these are applications that cannot predict the inbound traffic volume and the exact time frame but they have to handle it properly. They know the traffic will come in but they don't know how much, when and how it will be distributed. Just like the above category, hardware acquisition might not worth the costs due to fragmented usage which can lead to a lot of hardware just being sit there unused. …

Search by... Author
Show... All Results Primary Sources Peer-reviewed

Oops!

An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.