Cloud computing is a transformative force for software development today. Choosing systems such as Heroku, Microsoft Azure, or Google EC2 as the execution environment of an application has a profound impact not only on how the application will ultimately be executed, but also on the development and release process, the application architecture, and even on the tools used for development. In this seminar we will approach the topic of cloud computing (and related trends) with a software engineer's hat on. That is, we will discuss topics such as cloud performance, cloud middlware, DevOps, continuous delivery, as well as economic aspects of cloud computing.
|Prof. Dr. Harald Gall, Prof. Dr. Thomas Fritz, Dr. Philipp Leitner
|Time and Place:
|Kick off meeting: 21.09.2015, 12:00 - 13:00 (2.A.10)
Presentations: 14.12.2015, 08:00 - 18:00 (1.D.06)
(there are no physical meetings between those dates)
|BSc Informatics and MSc Informatics Students
|Registration for a topic after kick-off meeting & Modulbuchung
For the final grade we will take into account a written report, a presentation of the report, the reviewing of the other participants' work and the active participation in the lectures
The written paper represents the first task of the seminar. It has to be 12-15 pages long (not counting the cover sheet and the table of contents) and in the Lecture Notes in Computer Science format. Both the MS Word ("word.zip") and LaTeX format ("llncs2e.zip") are available here for downloading, even though we strongly suggest anyone to use the LaTeX format. Eventually the report will have to be delivered as PDF.
Please pay attention to the tips in the format template, in particular:
For administrative questions please contact Philipp Leitner.
Each student should read and cite at least 7-10 articles in his/her own work.
The ACM Digital Library, IEEE Digital Library, Citeseer and GoogleScholar are very good online catalogues for technical literature search. Both the ACM and the IEEE publications can be downloaded for free from within the Uni Zürich domain. For some important literature, UZH does not have subscriptions (e.g., some Springer journals). Those can sometimes be found for free on the Internet, on Researchgate, or via the ETH library. In the worst case, you can always contact the authors and friendly ask for a preprint copy.
Another good starting point are the proceedings of major conferences and journals, such as the International Conference in Software Engineering (ICSE), the Symposium on the Foundations of Software Engineering (FSE), the IEEE CLOUD conference, the World Wide Web conference, the ACM Symposium on Cloud Computing, etc. The easiest way to browse through papers of all major computer science conferences and journals is via DBLP.
The paper of each student goes through a first review phase, done by one lecturer and 2-3 other students. The goal of this first reviews is to give some useful feedback on the paper, which should then be improved and modified accordingly.
The reviews take the following criteria into account:
Each category is graded on an A to D scale:
Every participant has to review two other participants' reports. The whole reviewing process (the reports and their subsequent reviews submission) will be done through the EasyChair online platform. An email with all the necessary instructions will be sent after the kick-off meeting.
The delivery website (Easy Chair) can be found here.
On that, you have to create a new user account and then you can easily upload your report with the appropriate menu option.
All the participants will present their work during the second meeting in December.
Every presentation consists of a 20 minutes talk followed by a 10 minutes discussion.
All the participants need to have the presentation in electronic format (MS Powerpoint, Apple Keynote or slides in PDF/PS). We provide both a beamer and a laptop to be used (in case you don't want to use your own laptop).
Attendance to all the presentations is mandatory. Exceptions are made only if a proper, official excuse (e.g. doctor's excuse note) is given.
How and why are developers and companies choosing to use (or not use) cloud applications for provisioning applications? What does this decision impact, and how?
How can developers (and researchers) evaluate the performance of IaaS cloud services? What have been the main observations of existing cloud benchmarking studies?
How can developers select the best cloud service, or combination of cloud services, for their applications? What are the primary factors that need to be taken into account?
How do cloud providers determine the price of instances or other types of cloud resources? Is the price always fixed? What are the main factors that cloud users are priced on?
What are the main challenges related to security and privacy in the context of cloud computing? What specific security and privacy challenges does cloud computing raise, and what are known successful attacks?
What standards and other proposals are there for modelling the structure and cloud deployment of applications? What do these proposals have in common, and how do they differ?
What client-side libraries, frameworks, and middleware systems are there for supporting the development of cloud applications? What functionality do these systems typically provide, and how do they differ?
What server-side frameworks, and middleware systems are there for deploying cloud applications? What functionality do these systems typically provide, and how do they differ?
How can cloud developers monitor the performance of their applications? What are important metrics to keep track of?
How do faster releases, as often associated to cloud computing, impact the quality of software?