## 1 Introduction  
Cloud computing has been deployed worldwide due to its versatility and flexibility for storing and transferring data, while maintaining secrecy over three basic layers including Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) [1; 2; 3]. Cloud computing manages the shifting computing requirements by offering more flexibility in the services provided to organisations. Specifically, virtualisation plays a major role in cloud computing; for instance, distributed computing and delivery of computer services over the Internet [4; 5]. There exist a variety of service providers, such as Microsoft Azure, Google Cloud Platform, Oracle Cloud Infrastructure and Amazon Web Services (AWS) [6], which have common elements to support instant provisioning, self-service, auto-scaling and security. As a typical cloud platform, AWS has provided a large range of services across computing, database, storage, analytics, networking, developer tools, Internet of Things (IoT), security and enterprise applications. The AWS also offers a Virtual Private Cloud (VPC), which logically isolates the AWS space so that one can have a complete control over the virtual environment. Moreover, the use of the AWS resources has been shown to be cost-effective compared to other cloud platforms providing the same services [7]; for instance, Amazon Elastic MapReduce (EMR) which can process big data across a Hadoop cluster of virtual resources on Amazon Elastic Cloud Compute (EC2) instances [8]. Specifically, MapReduce is a framework on which we can write applications to help process an enormous amount of data on a cluster of commodity hardware [9; 10], while Apache Hadoop is well known as an open-source software service that enables a large distribution process across different clustering systems using simple programming models [11; 12]. Recently, a cloud-based infrastructure has been shown to be much more versatile than the traditional infrastructure from both service and security perspectives, especially when dealing with big data. However, selecting a cloud infrastructure for auto-scaling and optimising the virtual resources for such rapid data growth is a challenging task. Determining scaling policies on new virtual machines as well as setting up a threshold that can automatically configure the computing resources on a Hadoop cluster have therefore attracted more research interests [12; 13; 14; 15]. In this paper, dealing with the scalability of cloud computing, we first propose an auto-scaling framework via MapReduce cluster by employing Hadoop on the AWS platform. Depending on cluster load, the proposed framework can scale within itself and the cluster can be monitored and debugged in real-time mode to find appropriate auto-scaling strategies. Furthermore, in order to validate the effectiveness of the proposed approach, real-time sentiment analysis is provided to analyse the Twitter data of various universities. Consequently, the main contributions of this paper can be summarised as follows:  
* _A novel cost-effective auto-scaling (CEAS) framework for cloud computing_: An infrastructure on AWS is proposed to perform auto-scaling and efficient sentiment analysis of big data. The clusters can be created of any size through either user interface or code. In the proposed CEAS framework, an Amazon EMR cloud computing platform is developed which enables data processing along with data clustering. The proposed CEAS aims to minimise the cost of resource use by automatically adjusting the virtual nodes depending on the real-time data load. The EMR clusters can be monitored and provisioned by using AWS monitoring services, such as cloud watch or through a dashboard, which allow us to not only visualise and assess the Hadoop cluster performance in real-time, but also help debug for troubleshooting. Moreover, an open-source tool called Ganglia is used to generate the reports on the performance of the Hadoop clusters.