Cloud Computing imposes new concepts and challenges for the role of monitoring and management of the Cloud environment and the smart city applications. The System Administrator no longer needs to provide servers, install software and wire up network devices since all this work is replaced by few clicks and command line calls. Nowadays, most of the daily tasks performed by system administrators are related with the applications. One of the characteristics of the Cloud, which facilitates the agile deployment of the applications, is the fact that administrators don’t have to master the art of capacity planning because they have the ability to create an automated elastic environment [i]. If they can understand, monitor, examine and observe the applications’ load and traffic patterns, they will be able to manage this elastic environment more effectively. Moreover, by measuring and monitoring the performance of the cloud applications, the application developers will have the opportunity to identify proactively any performance issues and to diagnose the root causes, so they take appropriate actions.
The Cloud environment should offer both to system administrators and application owners the necessary tools required to manage and maintain the platform and the deployed applications. Using these tools, they can focus on how to optimize the cloud-based application in order to increase cost savings. The “pay for what you use” approach of the Cloud, leads application owners to strive to optimize the system whatever possible. Even a small optimization might result in thousands of euros of savings.
The STORM CLOUDS approach
The STORM CLOUDS Platform includes features that both the platform administrator and the application owners can use for managing, monitoring and administering the platform’s components as well as the applications running in the cloud. The actions that a user can perform, depend on his/her role: the platform administrator has full control on all the components deployed in the cloud while application owners have full control of their applications and can perform only some actions on the platform components. For instance, application owners have full control over databases and shared volumes used by their applications but they do not have any control on databases and shared volumes used by other application owners. The following tools management and monitoring tools are available:
- The Platform Administrator’s Console, which allows the SCP administrator to have full control of the layers of the platform. Through the console, (s)he can manage the databases, the file system, the IaaS layer, and the PaaS layers.
- The Database Administration Console, which allows administrators and applications’ owners to administer the supported databases. The module includes phpMyAdmin for MySQL administration and phpPgAdmin for PostgreSQL. Both tools implement very similar functions for the corresponding database engines like creating, modifying and deleting databases and database objects (e.g. tables, indexes, etc.), submitting queries, importing/exporting data, managing database accounts, etc. The platform’s administrator has full control of all databases and configures database accounts for the application owners, giving them the rights of managing only the database objects created for their applications.
The Monitoring Console, which monitors the resources (CPU load, disk space occupation, network traffic, number of processes, etc.) used by the platform’s services or by the applications. The module, which is implemented using Zabbix, continuously gathers information from the servers under control and, in case one or more parameters reach a threshold value, it notifies the operator by e-mail, Instant Message or SMS. Zabbix offers several monitoring options ranging from simple checks for verifying the availability/responsiveness of a server, to sophisticated measurements of parameters like CPU load, disk volume occupation, network traffic, number of processes, etc. Zabbix provides several ways for representing monitoring data in both graphical and textual/tabular format.
- The Backup Tool, which takes backups from databases and file systems. This module is implemented using Duplicity, an application that creates encrypted bandwidth-efficient backups using the rsync algorithm.
- The Automation Tool, which facilitates the application owners to deploy the Smart City applications to the IaaS layer automatically using a number of predefined Heat scripts.
[i] Jinesh Varia, 2011, Architecting for the Cloud: Best Practices, Amazon Web Services, viewed November 6, 2015, https://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf