Visitors from Itaipu Technology Park

Following up on the previous visit from Service Prototyping Lab (SPLab) at Zurich University of Applied Sciences in Switzerland to Itaipu Technology Park (PTI) in Paraguay, two young investigators from PTI’s Centre of Information and Communication Technology (CTIC) with support from CONACYT are now visiting us at the SPLab and more generally in Switzerland.

Yessica Bogado and Walter Benítez will spend some weeks to get to know the local research and development situation, get information about our ongoing research initiatives, dive into solving some hard questions, and discuss ideas for future collaboration. Furthermore, they will explore novel research methods and prototypes specifically in emerging technology areas such as cloud-native applications and serverless applications, as well as upcoming hybrid container/cloud function applications.

Walter Benítez, Yessica Bogado and the host Josef Spillner

Continue reading

UCC 2017 Coverage – Day 1

Our own researchers Piyush and Josef are in Austin, the capital of the lone star state Texas to attend the current iteration of IEEE/ACM International Conference on Utility and Cloud Computing which takes place in conjunction with the International Conference on Big Data Computing, Applications and Technologies. ICCLab’s and SPLab’s recent research results have been accepted as multiple peer-reviewed workshop papers and a tutorial presented on the first day and a work in progress poster which will be presented in the next days.

In this series of blog posts, starting with this one, we will present our views and analysis of the results that will be presented at this event by cloud researchers from around the world.

Continue reading

Enhancing OpenStack Swift to support edge computing context

As the trend continues to move towards Serverless Computing, Edge Computing and Functions as a Service (FaaS), the need for a storage system that can adapt to these architectures grows ever bigger. In a scenario where smart cars have to make decisions on a whim, there is no chance for that car to ask a data center what to do in this scenario. These scenarios constitute a driver for new storage solutions in more distributed architectures. In our work, we have been considering a scenario in which there is a distributed storage solution which exposes different local endpoints to applications distributed over a mix of cloud and local resources; such applications can give the storage infrastructure and indicator of the nature of the data which can then be used to determine where it should be stored. For example, data could be considered to be either latency-sensitive (in which case the storage system should try to store it as locally as possible) or loss sensitive (in which case the storage system should ensure it is on reliable storage). Continue reading

Extending Web Applications with Cloud Functions

The discourse on cloud functions focuses heavily on diverse use cases: Standalone functions to perform a certain functionality, compositions of functions into complete applications, and functions as plumbing between separate application parts. This blog post intends to explore the use of cloud functions as extensibility mechanism for existing applications. It exemplifies the interaction between a function, a website and a login-protected web application and furthermore discusses implementation aspects and the notion of caching data in function instances.

Continue reading

Probabilistically Stateful Serverless Web Applications

Among the lectures offered by the Service Prototyping Lab is Scripting. Aimed at students of advanced studies, it teaches essential practical programming skills and conveys approaches how to automate the exploration of data retrieved from the Internet. Python is taught as programming languages and consequently a Python (Django) web application has thus far been used to automatically score the results submitted by students of a particular advanced task towards the end of the lecture. There’s nothing wrong with Django per se, but its roots have evidently been in the era of monolithic web applications. Armored with our Function-as-a-Service experience we decided to drop it and go purely serverless. In production.

Continue reading

Termite. A Java library for the selective “Lambdafication” of applications.

Introducing selective Lambdafication

“Lambdafication” is the automated transformation of source code to make it run on AWS Lambda. It is a provider-specific flavour of generic “FaaSification” which is our ultimate research goal. With our Lambdafication tooling, we offer application engineers today the possibility to step into the serverless world without much effort, and leave the more challenging research tasks for the summer time.

Continue reading

PyParis’17 conference report

PyParis is a community-organised conference on all topics around the Python programming language. The expected target group are primarily practitioners and researchers in the greater capital region of France, but also international engineers and language advocates. At Zurich University of Applied Sciences, Python is taught as automation and statistics application language to more than 200 business engineering, aviation and traffic engineering undergraduates per year. It is furthermore used a lot in research, including several prototypes resulting from the Service Prototyping Lab. Therefore, it was consequential for us to attend the conference and to contribute an in-depth tutorial on one of our research topics, Function-as-a-Service, to its attendees.

Continue reading

Research Directions for FaaS

FaaS, or Function-as-a-Service, is a considerable application engineering trend under observation by the Service Tooling research initiative of the Service Prototyping Lab at Zurich University of Applied Sciences. Yesterday, the lab’s semi-regular open-for-all evening seminar series, Future Cloud Applications, centered around tools for managing the growing FaaS ecosystem. While the open source tools prototypically produced through the initiative are primarily of interest to Swiss software application engineers and cloud providers, the research challenges continuously uncovered by the work are more fundamental and encompass some harder nuts to crack in dedicated research projects. This blog reflects on what has been achieved already and what needs to be accomplished in the next years.

Continue reading

Running Google Cloud Functions in OpenShift

Have you created a highly popular and frequently used JavaScript (Node.js) functions for execution in Google Cloud Functions? In this case, the economics of FaaS turn against you due to the per-invocation pricing. You might want to have more options for both testing the same function locally and for deploying it into an environment with fixed monthly pricing. This blog post explains step-by-step how to migrate functions from FaaS environments into a fixed per-month pricing container environment. The running example will be Node.js functions running in Google Cloud Functions albeit the procedure is similarly applicable to other combinations.

Continue reading

Snafu – The Swiss Army Knife of Serverless Computing

The Service Prototyping Lab at Zurich University of Applied Sciences is committed to advancing the state of technology for bringing applications to the cloud, for the benefit of the society of large in general and of the local industry in particular. This obliges us to closely monitor industrial trends along with academic advances. A hot topic currently found in both is the higher-PaaS-level service class of FaaS, or Function-as-a-Service, which coincides with the marketing term Serverless Computing. We have already contributed analytical work on finding the limits and possibilities of today’s FaaS systems (preprint), and engineering work on translating legacy monolithic code into fine-grained functions (preprint). It was only a matter of time until the limits in both commercially operated FaaS services and open-source FaaS prototypes became too severe for our work. Hence, after a careful analysis of what is available, we decided to come up with an alternative FaaS host process design. The design led to an architecture, and the architecture eventually to an implementation called Snafu. This post presents Snafu and positions it as Swiss Army Knife for situations in which functions should be prototyped, tested or hosted.

Continue reading