Modern software applications need to accomodate many technical and business demands. Over the past decade, the dominant industry trend has been to decompose applications into smaller microservices and to deploy them as composition atop various cloud platforms and devices. More recently, more suitable abstractions were proposed to build and describe such software. Software becomes adaptive, liquid and osmotic within a continuum of computing resources, ranging from high-end data centres (e.g. HPC) and multiple clouds over fog/edge/middlebox systems to sensors and end user devices including machines and mobile phones.
For several years, we have conducted research on the design, implementation and evaluation of microservice-based applications, as well as on the assessment of characteristics of the constituent software artefacts. Yet we were so far not present in the first two editions of the International Conference on Microservices. Needless to say, we are now correcting this for the third edition of the conference with a talk on Syn.
Cloud applications are typically designed as coupled microservices and deployed in managed containerised form. Industry trends around container build processes, deployment packages, management platforms and abstractions (e.g. cloud functions) are still fast-paced. Developers and operators need to be able to tell good from bad practices based on automatically determined metrics. Assuming they participate in this tutorial, they will learn how to do that on a hands-on level. We introduce approaches and open source tools for quantitative assessment of containers and other microservice technologies and ecosystems. On the research side, we explain how this blends with policy-driven deployments, trusted cloud execution and data science opportunities.
The three-hours tutorial will be offered at the CLOSER 2020 conference (originally scheduled in Prague, now online) in the afternoon on May 7. Registration information is available from the conference website.
Docker images have become the valuta franca in the cloud and container platform world. Although on the path to vendor-neutral standardisation (e.g. with OCI also being in Docker Hub for a year now), developers for now have settled on plain Docker as de-facto standard due to the vast ecosystem of base images and dependency images which speed up the rapid prototyping of complex scalable applications. From a production-grade DevOps perspective, a key concern is then to be assured that the containers used are of high quality, not infected by security vulnerabilities, and still containing the latest features available. In this blog post, a novel approach to visualise the situation around a particular container image is presented.
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.
The MAO-MAO research collaboration aims to provide metrics, analytics and quality control for microservice artefacts of all kinds, including but not limited to, Docker containers, Helm charts and AWS Lambda functions. As such, an integral part of prior research has been the various periodic data collection experiments, gathering metadata and conducting automatic code analysis.
However, the ambition of the project to collect data consistently, combined with the need for the collaborators to be able to use each other’s tools and access each other’s data, have created a need for a collaboration framework and distributed execution platform.
In response to this need, we present the first release of the MAO Orchestrator, a tool designed to run these experiments in a smart way and on a schedule, within a federated cluster across research sites. As a plus, there is nothing implementation-wise tying it to the existing assessment tools, so it is reusable for any use-case that requires collaboratively running periodic experiments.
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
Looking into a possible post-cloud world, we see mentions of different computing paradigms, many of them based on decentralised structures to overcome scalability and user control limitations. Among them is blockchain-as-a-service (BCaaS or BaaS), mimicking the platform-as-a-service (PaaS) user experience for both application providers and consumers. In PaaS, providers first sign up and subscribe to the platform, then design and build their applications and deploy them to the platform where it is executing either permanently or upon incoming network requests or other event triggers. Additionally, developers may advertise their apps at technology-specific hubs such as AWS SAR or Helm Hub. Consumers then adhere to the application terms, which might require a sign-up at the provider site, before being able to invoke and make use of the application.
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.