Course Description
Cloud computing is a new computing model that is quite popular nowadays due to the various advantages that it offers, including flexible resource management, the reduction of cost, infinite scalability/elasticity and security level increase. For these reasons, many businesses move their applications and processes to the cloud.
Cloud computing offers three cloud services that allow the development, deployment and hosting of scalable applications and business processes: infrastructure as a service (IaaS), platform as a Service (PaaS) and Software as a Service (SaaS). IaaS services supply on-demand resources for application and web services hosting. SaaS services allow the collaborative development of applications as well as the deployment and scaling of these applications on top of IaaS services. SaaS services allow completing the functionality of applications and processes without requiring the management of the offered service and its underlying infrastructure.
While cutting-edge cloud technologies and services are being offered by big and small-medium providers all over the world, cloud computing is regarded as a research-intensive area with various research directions, aiming at improving existing cloud technologies and services, the optimal and green resource management as well as the supply of innovative services.
This course aims at introducing cloud computing to the students and presenting to them its basic characteristics and services, its basic types, the technologies it encompasses and the architectures that it applies. Further, the course will deeply analyse the three cloud service types while, in parallel, will present various mechanisms that are applied to the cloud. In addition, the course will extensively examine cloud security, analysing relevant threats and attacks as well as the security mechanisms that confront them. Finally, the course will deal with the capabilities to develop and deploy applications not just in one but also in multiple clouds, with the second alternative being a highly innovative research direction.
Cloud computing supplies centralised infrastructures that can host various application kinds. However, this means that even if such infrastructures lie in the same continent, it is difficult to satisfy appropriate quality metrics and especially performance ones for an application due to the distance of the infrastructures from the relevant client/requesters and the respective delays that occur during the transportation of requests, data, messages and replies.
To this end, two alternative approaches have been proposed, which can be applied either individually or in combination with cloud computing to support application development and provisioning. The first approach concerns programming at the edge of the network (edge computing). Its main logic is that applications and respective services can be moved to the network edge so as to be closer to the end client and thus improve the relevant performance by reducing communication/transportation delays. The second approach concerns fog computing. It relates to the fact that the actual network can be made smarter by moving and filtering data, implementing functionality parts, as well as selecting, computing and executing services that can be situated in smart devices. In this way, not only the communication delay is reduced but potentially the usage of end devices is improved via the energy-performant load balancing on the whole system.
This course targets at introducing to the students these two new approaches by presenting to them their characteristics, technologies and architectures, by also relating all this information and knowledge to the development and provisioning of applications. Further, the course will include an extensive analysis of the way these approaches are related and promote the Internet of Things.
Goals
- Understanding what is cloud computing and which kinds of services it offers
- Comprehension and capability of selecting the most appropriate cloud type based on the current needs and situation
- Understanding of the architectures that are being applied in cloud computing
- Comprehension of the basic cloud computing technologies
- Understanding of the basic mechanisms that are being offered and applied in cloud computing
- Comprehension of the way an application can be developed, deployed and scaled in the cloud
- Understanding what is multi-cloud & cross-cloud computing
- Comprehension of the basic security issues and mechanisms concerning cloud computing
- Understanding what is edge and fog computing
- Comprehension of the basic characteristics, architectures and technologies of these two aforementioned approaches
- Understanding how these approaches can be combined with cloud computing and how they promote the Internet of Things
- Cultivation of the capability to study a subject related to the computing kinds addressed by this course and produce a related analysis report on this subject