As presented in a prior post, Singer.io is a modern, open-source ETL (Extract, Transform and Load) framework for integrating data from various sources, including online datasets and services, with a focus on being simple and light-weight. The basics of the framework were explored in our last post on the topic, so we will refer you to that if you are unfamiliar.
This post is about our process for deploying Singer to the cloud, more specifically, to the Cloud Foundry open source cloud application platform. This was done in the context of researching the maturity of data transformation tools in a cloud-native environment. We will explore the options for deploying Singer taps and targets to a cloud provider and discuss our implementation and deployment process in detail.
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.
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
From June 24 to 27, an academic double-conferences has been taking place in Prague: IC2E 2019, the venerable seventh IEEE International Conference on Cloud Engineering, and ICFC 2019, the recently spun off first IEEE International Conference on Fog Computing. The Service Prototyping Lab at Zurich University of Applied Sciences contributed a tutorial on Kubernetes application engineering on the first conference day. The important research-inspired message conveyed is that Kubernetes is a nice container management platform, but not a cloud platform per se, and characterised by a lack of tools to ensure simplicity and quality in applications, and still emerging understanding of how to design applications in a technically and economically optimal way. This blog post reports on some of the conference discussion topics as a service for those who could not attend..
Bachelor students of computer science at Zurich University of Applied Sciences focus a lot on software development. Software is never developed in the blue; rather, software needs a concrete environment to function and to deliver value. In ‘Programming’ (1st/2nd semester) and ‘Software Development’ (3rd/4th semester), you learn some basic skills. In ‘Systems-oriented Programming’ (2nd semester), you apply these skills to predefined systems with some constraints. In ‘Web Development’ (3rd semester), you apply these skills to another environment in which there is a lot of pace through new technologies. In ‘Game Development’ (5th semester), you develop for specific interactive scenarios, and in ‘Mobile Applications’ (5th semester, you develop user-facing apps for common mobile platforms.
One of the most fascinating and economically important areas is the development of applications which run in the cloud. You may access them with web or mobile devices, but you still cannot see them! Still, they are very powerful, scalable to millions of users, and interconnected across cloud providers and with various backend systems such as databases, message queues and key-value stores. This is why we offer SCAD, a new elective module on Serverless and Cloud-native Application Development.
For almost five years, we have been researching cloud-native applications. As part of an industry-wide push to cloud-native computing, a lot of stacks and middleware components are proposed every day, but few tools and processes help improving the applications themselves especially in terms of quality attributes such as discoverability, elasticity and resilience. With Helm charts, there is already a higher-level approach to package cloud applications in Kubernetes environments. Our work on static analysis of Helm charts and quality assessment beyond is documented and ongoing. In this post, we take a first look at CNAB, or Cloud Native Application Bundle which is self-described as secure and cloud-agnostic way to deliver applications.
In our research group, we have for many years observed and systematically explored how cloud applications are being developed. In particular, we focus our investigations on cloud-native applications whose properties are largely determined by exploiting the capabilities of modern cloud platforms for both their development and operation. As we are involved in European research on testing cloud applications (Elastest), our aim was to look at the current project results through the cloud-native glasses. This blog post reports about end-to-end testing of composite containerised applications from this perspective.
Our SPLab organised a full day workshop on cloud-native applications (see the web page and call for papers of the CNAX 2018) within the IEEE/ACM UCC/BDCAT 2018 umbrella.
The workshop was organised in collaboration with Ivo Krka from Google and also supported by Jorge Cardoso from Huawei. The blending of industry and academic research has always been a key point in cloud-native work which relies heavily on fast-paced innovation.
In recent months, we have extensively studied Helm charts, including setting up a continuous quality assessment, to find out more about this promising packaging format for Kubernetes applications. Apart from individual tweets and occasional talks, there was a lack of a coherent presentation of the ongoing work. Yet, due to the increasing installation base of Kubernetes stacks, the significance of this work appears to be on the rise. This blog post therefore tells what we achieved already and what we are still going to do in the next months.