## 2 Related Works
Such two-stage process facilitates the scaling of the data processing over multiple computing nodes on the Hadoop platform. MapReduce was shown to be of benefit to large-scale data-intensive applications with several iterative computations, e.g., in [19] where Twister4 Azure was developed as a distributed decentralised iterative MapReduce for Microsoft Azure cloud computing platform. Hadoop was also adopted in [20] for processing big geospatial data in the cloud. An auto-scaling framework was developed and evaluated via a prototype system employing digital elevation model interpolation of the collected geospatial data for GIScience applications. Another Hadoop framework, namely Virtual Hadoop,was proposed in [21] using Docker containers to facilitate the auto-scaling mechanism in heterogeneous computing environment. Such dynamic scaling in Hadoop however has an inherent trade-off between the computation power with additional nodes and overheads for data redistribution [22]. Deploying and managing Hadoop clusters are however time-consuming and challenging over the traditional underlying server. Instead, Amazon EMR can facilitate this process by exploiting the elastic infrastructure of EC2 and Amazon Simple Storage Service (S3). The Amazon EMR offers a manageable Hadoop framework that distributes the computation of data over multiple Amazon EC2 instances along with the Amazon S3 cloud-storage services which provides a system interface to decrease the complexity of the traditional hardware management [7; 8]. With the Amazon S3, the impact of the quality of service experienced by the users depends on the location and the configuration of the services. Specifically, the cloud storage is aimed to improve the knowledge of cloud-to-user network experience based on the Amazon S3 and the customer data can be organised using the objects stored in the buckets which are placed in the cloud region. To handle a huge amount of unstructured and structured information in real time, Azure MapReduce was proposed in [23] to cope with big data issues. Azure has several services like Azure Queues which are used to schedule tasks and Azure blob storage for storing data. Moreover, it enables the implementation of auto-scaling Hadoop cluster which leads to a higher level of flexibility and fault tolerance. However, this approach is not as flexible as AWS and is also not cost-effective [9]. Additionally, in the traditional Hadoop cluster with a First-In First-Out (FIFO) scheduler, all task slots for a job in the cluster blocks other jobs to use the resources until the current scheduled job finishes, which may cause a bottleneck in processing the data [14], especially when dealing with massive data (e.g., Twitter) arriving at the same time. As one of the biggest social platforms, Twitter provides a huge data set which can be streamed for sentiment analysis. An example of Twitter data analysis can be found in [24] where a prototype was developed for text mining by combining Twitter streams, Python text processing and Cassandra storage methods. Dealing with the computation of such increased data over social media, it is required to have an enhanced framework that does not rely on hard disk storage, but can process data in memory instead [23]. Despite the amount of research done to date in the cloud-based applications and services, little of this research is beneficial in terms of dealing with elasticity. To this extent, this paper develops a new cloud platform with cluster configuration and scaling policies to deal with auto-scaling and data analysis. Moreover, we introduce some new ideas to strengthen the network provisioning, availability, security and scalability towards providing an efficient, reliable and manageable resource for cloud computing.