With the proliferation of hybrid cloud, cross-cloud and post-cloud environments, finding the right concepts and tools to produce mixed-technology applications and services remains challenging. At Zurich University of Applied Sciences, a course on Serverless and Cloud-native Application Development (SCAD) prepares bachelor students in computer science for facing these challenges. We argue that this is the first such lecture in Switzerland and probably even in the world. Three years after reflecting on Internet Service Prototyping teaching, this mid-semester blog post sums up the evolution of the field, explains the course design of SCAD and briefly reports on the lab results.
With the increased adoption of serverless computing, so is the need to optimise cloud functions, to make use of resources as efficiently as possible, and to lower the overall costs in the end. At the Service Prototyping Lab at Zurich University of Applied Sciences, we investigate how cloud application and platform providers can achieve a fairer billing model which comes closer to actual utility computing where you pay only for what you really use. We demonstrate our recent findings with AWS Lambda function pricing.
From September 2 to 4, 2019, Tampere University hosted the INFORTE.fi-supported summer school on Software Evolution: From Monolithic to Cloud-Native. The Service Prototyping Lab at Zurich University of Applied Sciences contributed with five lectures (and one coincidental serverless meetup talk) to increase theoretic knowledge and practical skills of Finnish doctoral students and developers on microservices and software engineering for the cloud. All presentations are available online but as usual the slides do not capture discussions and industry relevance, so read on to get to know more about this.
The Service Prototyping Lab will offer three in-depth presentations and hands-on sessions on several of its research topics and recent results in September and October. We hope to demonstrate valuable work and get feedback for our future research.
FI, September 2-4, 2019: «Summer School on Software Evolution: From Monolithic to Cloud-Native» @ Inforte Tampere – More information
CH, September 10, 2019: «Datengestützte Qualitätsanalyse von Microservice-Artefakten in der Softwareentwicklung» @ CH Open Workshop Days Rapperswil (in German with co-instructor support in English) – More information
DE, October 25, 2015: «CI/CD-integrated quality assessment of microservice implementation artefacts» @ Software QS-Tag Frankfurt – More information
In a previous post, we showed how it’s possible to trigger a Knative service when a database update occurs using the DebeziumKafka Connect plug-in connected to Knative; here, we continue this work by describing how we connected a Nextcloud file storage service to Knative, triggering a Knative service/function when a file is uploaded to Nextcloud.
The Serverless Application Repository by Amazon Web Services (AWS SAR) is, in simplified terms, a marketplace for Lambda functions. You can speed up application development by building on the functions (or function compositions) provided by it, and you can share your own functions with other cloud application developers. AWS SAR was launched over a year ago. In the Service Prototyping Lab at Zurich University of Applied Sciences, we are investigating better ways of building applications for cloud and post-cloud environments. Consequently, we did a full year observation of AWS SAR to find out what’s in it and what’s going on. Read on for some interesting excerpts and findings and for accessing the study document.
In previous blog posts – here and here – we showed how to set up OpenWhisk and deploy a sample application on the platform. We also provided a comparison between the two open-source serverless platforms OpenWhisk and Knative in this blog post. In progressing this work, we shifted focus slightly to that other critical component of realistic serverless platforms, the services that they integrate with – so-called Backend-as-a-service – which are (arguably) more important. For this reason, in this blog post we look at how to integrate widely used databases with Knative and potentially OpenWhisk in future.
Our initial thoughts were to leverage database trigger mechanisms and write components which would listen to these events and publish them to a Kafka bus. Indeed, we started to write code that targeted PostgreSQL to do just that, but then we came across the Debezium project which essentially solves the same problem, albeit not in the same context, but with a much more mature codebase and support for multiple database systems. It didn’t make sense to reinvent the wheel so the objective then turned into how to best integrate Debezium with Knative.