An academic entity – more concretely, a research laboratory – resembles a stateful function: It receives input and generates output based on both the input and on previously generated knowledge and results. The input is typically a mix of fancy ideas, industry necessities, as well as funding and equipment. The output encompasses publications, software and other re-usable artefacts.
In the Service Prototyping Lab, we rely on access to well-maintained cloud environments as one form of input to come up with and test relevant concepts and methods on how to bring applications and services online on top of programmable platforms and infrastructure (i.e., PaaS and IaaS). This Samichlaus post reports on our findings after having used several such environments in parallel over several months.
We build and run prototypical applications and Internet-scale services on three kinds of clouds: First, local cloud stacks we deploy quickly and temporarily on our workstations. As clouds are almost always shared environments, this is the only way to ensure reproducibility of measurements. Second, stable private cloud services operated by our sister lab (ICCLab) which include OpenStack, OpenShift Origin and specialised platforms for instance for Cloud Robotics applications and FIWARE smart applications. This puts us into a position to perform full-stack XaaS research. Third, public commercial cloud services under the assumption of academic and/or research access grants. This enables us to follow market trends closely and guarantees a truly applied sciences approach.
The following figure visualises the three kinds of clouds used by our lab. In parallel to the research, we also aim for using the same environments in our education modules as we strive to transfer novel research timely to the next generation of engineers and researchers.
To achieve this envisioned setup, we regularly apply for and successfully acquire time-limited grants, sometimes with a certain research objective attached, sometimes without, and then sometimes to teaching a certain curriculum. Another difference is that the grants are sometimes reflected as credit but billed regularly, including the risk to run into negative numbers, whereas sometimes it is reflected as fixed set of resources which can be used without an associated billing process. In the following, we report on the public commercial services we use, in chronological order, based on open grant programmes.
AWS – Amazon Web Services. AWS offers the AWS Cloud Credits for Research grant. The deadline for applications is quarterly, and upon successful approval the grant lasts for one year. The complementary programme, AWS Educate, covers the education side. The former AWS in Education Research grants are no longer available; we are glad to have received one as its duration has been two years. AWS offers a lot of services, but when collaboratively working on research, the dashboard makes it hard to find subscriptions across regions. A credit card is required. We were affected by one security incident in the grant period which caused a negative credit balance and would like to thank AWS for the quick and professional handling to mitigate the damage. Still, we recommend to implement an improved alerting system with pattern deviation detection, repetition and escalation enabled by default.
Bluemix by IBM. The Academic Initiative for Cloud offer is part of the general academic initiative of IBM. The grant lasts one year. A credit card is not required. Instead, a course syllabus needs to be specified. From our side, we have informed about the Internet Service Prototyping module whose participating students have subsequently built and deployed their solutions on Bluemix. As a relatively recent platform, the user interface has stabilised significantly in the recent months, and the documentation is suitable for self-learning exercises.
Google Cloud Platform. There is the Google Cloud Platform Education grant, and there are particular credits for academic activities of which we use one for research and teaching. The grant is added as credits to an existing account and lasts half a year. A credit card is therefore required. The dashboard is solution-oriented with a lot of quick-start guides but the navigation menu on the left side offers a nice overview about the available services. The remaining credits check is quick and easy but alerting is apparently not possible.
OpenShift Online by RedHat. As OpenShift currently transitions from v2 to v3, the former simple sign-up accounts do no longer exist. Resource grants will be made available to researchers and educators. In the meantime, the Next Gen Developer preview is available which we have used to explore the platform. The requirement is a Github account, whereas a credit card is not required. The resulting limitation is a single project per account which requires frequent re-deployments. Nevertheless, the engineering experience is still great due to the strong Git workflow integration.
Windows Azure by Microsoft. There are several Azure Research awards for cloud computing and Internet of Things. The application is a formal process with a research proposal once every month. Once approved, the award period is one year. We have applied with our research work on cloud-native databases which is ongoing. The dashboard concept with sticky windows is interesting. There are still a couple of implementation bugs, and viewing the remaining credit requires several clicks, but overall the platform has matured and offers interesting versioned platform services, i.e. with the ability to upgrade at some user-specified point in time.
We can compile some general observations about the services. First, the former distinction between pure-infrastructure (e.g. VM) and pure-platform (e.g. database) service providers is gone. Instead, most providers offer the full range of computing, driven by the inclusion of container engines among other factors. Second, apart from the technical side, the business side (signup, agreements, billing) is still heavily diversified. For academic purposes, the no-strings-attached-free model which does not require a credit card or constant monitoring supervision is preferred, even when the resources provided are rather limited. Providers requiring credit cards often do not check their validity which may or may not be harmful to either side. Third, the user and permission management is different everywhere, which causes some effort when adding collaborators or students to projects (and sometimes, not very intuitively, to individual resources). Fourth, the grant volumes and periods differ but are generally all sufficient to perform various research and education tasks.
We acknowledge the contribution of the companies offering the cloud services for the advancement of knowledge and technology. The mix of academic and industrial expertise is healthy. We invite further local and global cloud providers to participate in this research ecosystem.