Leveraging Docker and reproducible workflows for portable research environments

Reproducibility is an important aspect of research. One particular concept of interest is FAIR principles. FAIR stands for Findable, Accessible, Interoperable and Reusable and defines a ‘best practices’ approach for research.

However, complying with such a concept presents its own unique challenges: Some research tools rely on complex infrastructure elements and software stacks that are hard to replicate. In cases such as these, the added workload acts as an inhibitor on ensuring reproducibility. The result is that many experiments, data pipelines and results are hard to replicate. According to our preliminary insights, based on interviews within the ZHAW, on how experiments are conducted, such complexity is indeed commonplace in our current research activities. 

Continue reading

Processing IoT Sensor Data with Semi-Stateful Cloud Functions

At Zurich University of Applied Sciences, we are currently building a test track to link applied teaching with research and innovation. Such a facility allows for covering a whole range of topics: programming, autonomous driving, robotics, cloud, serverless, continuums, sensing, open data, data science, and various computing paradigms. We expect a video to be available around November that explains the facility and especially the teaching element. In this research blog post, we already report on interesting observations around the uplink between sensors and FaaS. We expect these insights to bring benefits to companies building IoT-cloud integrations.

Continue reading

Deep tracing of cloud function execution

In an increasingly self-aware and knowledge-driven software world, understanding the execution behaviour of an application is mandatory for cost-effective delivery. This applies especially to cloud functions, because many complex applications are composed of those functions. Similar short-lived, event-driven processing models can be found inside databases and message brokers. This means systematic tracing of cloud functions should be conducted so that a large variety of applications benefits from rightsizing memory allocation and associated fair microbilling.

We recently reported on our upcoming presentation on generating static trace profiles for cloud functions. In general, tracing techniques help reporting with high precision how much memory an application requires. But in practice, the memory needs depend on a number of factors that change over time. Similar to how static environment variables have been replaced by dynamic queries to updateable key-value stores to increase dynamics, we should be able to produce dynamic traces that show at least a correlation to certain values within the function, like the number of rows in a table. This research blog post shows one approach to do that.

Continue reading

FaaSification Community Website

Software engineers are interested in novel ways to convert their applications into formats that can run «serverless» on Function-as-a-Service. Many issues have to be considered – partitioning of the application functionality, short-livedness and memory constraints of functions, easy but limited language runtimes or rather difficult container wrappers around microservices. Our virtual guest researcher Leonardo Rebouças de Carvalho, from University of Brasília in Brazil, has recognised the issue and launched a community website faasification.com that contains a lot of tools, methodologies, articles, research insights and events related to shifting software into the world of FaaS. Bookmark that site if you are developing serverless software!

Exploit Insights into your Cloud Application

If you develop or deliver cloud applications, you can benefit from automated knowledge fostering and exploitation. For instance, if you compose your app from multiple microservices, then you want to consider the app tainted from a security perspective once one of the microservices is found to be vulnerable. Likewise, if you bundle containers and cloud functions into a complex application, you would like to know upfront if, due to technical limitations in one small gear of the whole machinery, you will have a restricted choice of clouds to operate it. We will deliver a tutorial showing you how to accomplish that. Join us at the 9th IEEE International Conference on Cloud Computing in Emerging Markets (CCEM 2020) on November 7 to learn more!

WoSC Paper Accepted: Revisiting Pay-per-Use Models in Serverless Applications

The International Workshop on Serverless Computing (WoSC) has become an established forum to discuss new serverless technologies, ranging from application development to runtime concerns. Despite FaaS having raised the bar for not being billed for many hours of idle server processes, we are constantly thinking from an application engineering perspective into how the pay-per-use models could become even more fine-grained and fair. Thus, we are happy to announce that an appropriate autotuning approach has been accepted for being presented at WoSC6 in December 2020.

Continue reading

Middleware 2020 System Demonstrations Accepted

As applied sciences researchers focusing on new digital application designs implemented and deployed with multiple computing paradigms, we emphasise the practical nature of our contributions and the direct transferability to stakeholders in industry and society. In this context, we are happy to report that two system demonstrations have been recently accepted to be presented at the 21st ACM/IFIP Middleware 2020 conference running from December 7-11 in «virtual Delft». Read on for details.

Continue reading

Serverless Code Linting

For software development to succeed in Switzerland, that is to justify the relatively high development cost, it is essential to offer unique advantages in terms of timeliness and quality assurance. At Zurich University of Applied Sciences, we are proud to have contributed a number of tools for quality assessment and linting especially for cloudware – among others, the first Docker Compose checker, the first multi-Dockerfile linter, and the first advanced Helm and SAM consistency scans.

As we also teach Python programming to first-year engineering students, we consider it important to encourage the frequent use of linting tools. This blog post introduces such a service, naturally doubling as informal case study on how to deliver SaaS linting functionality without much effort through serverless technologies.

Continue reading

Smart Cloud Log File Compression

Software developers and service operators need log files to identify issues, detect anomalies and trace execution behaviour. The amount of generated log data is increasing, and often log files need to be kept for longer periods of time due to regulations. To preserve logs in a cost-efficient manner, they are typically compressed, at certain cost for running the compression, and then stored in long-term archives, again at certain cost per size-duration products. The goal is decrease both cost components, but there are certain trade-offs, for instance a highly efficient compression that consumes a lot of CPU but leads to better compression ratios, consuming less storage capacity as a result. The decision which compression tools and parameters to use is usually hardcoded. We present a smart knowledge-based advisor service to query goal-based adaptive compression commands to maximise savings.

Continue reading

ESOCC 2020 Talk Upcoming

ESOCC 2020 – the 8th European Conference on Service-Oriented and Cloud Computing – was originally scheduled to happen in April on the wonderful isle of Crete. Due to the pandemic circumstances, it will now run from September 28 to 30 as online event. We will highlight some of our recent work in an invited talk on «The Great Puzzle: Cloud Functions, Data, Services, Less Servers and More Insights».

Check out the conference website for more information on the technical programme, workshops and European R&D project presentations, and for pointers on how to participate.

« Older posts