Cloud TRANSIT

Motivation

Current cloud computing related research focuses often Service Science related problems and therefore concentrates on aspects how to design, operate and deliver agile cloud based services according to a broad (economical as well as technological) understanding of the service term.

Beside common security, governance and cost forecast concerns, often technological vendor lock-in worries often come along with cloud computing, which is especially true for small and medium-sized enterprises.

But astonishing little research activities focus a technological point of view how to overcome technical vendor lock-in problems in cloud computing.

Therefore, this technological point of view is addressed particularly by this research project.

Objective

Current state of the art cloud based software services are often characterized by a highly implicit technological dependency on underlying hosting cloud infrastructures. The project Cloud TRANSIT investigates, how to design cloud based software services to reduce technological dependencies on underlying cloud infrastructures.

By designing and developing a generic cloud service description language, it should be possible to define secure, transferable and elastic services of typical complexity being deployable to any IaaS cloud infrastructure. Furthermore, it should be possible to migrate these services from one private or public cloud infrastructure to another (not necessary compatible) cloud infrastructure.

It is common sense that cloud-native applications (CNA) are intentionally designed for the cloud. Although this understanding can be broadly used it does not guide and explain what a cloud-native application exactly is. The term "cloud-native" was used quite frequently in birthday times of cloud computing (2006) which seems somehow obvious nowadays. But the term disappeared almost completely. Suddenly and in the last years the term is used again more and more frequently and shows increasing momentum. This paper summarizes the outcomes of a systematic mapping study analyzing research papers covering "cloud-native" topics, research questions and engineering methodologies. We summarize research focuses and trends dealing with cloud-native application engineering approaches. Furthermore, we provide a definition for the term "cloud-native application" which takes all findings, insights of analyzed publications and already existing and well-defined terminology into account.

Taming the Complexity of Elasticity, Scalability and Transferability in Cloud Computing - Cloud-Native Applications for SMEs(Peter-Christian Quint, Nane Kratzke), In International Journal on Advances in Networks and Services International Academy, Research, and Industry Association (IARIA), volume 9, 2016. [bib][abstract]

Cloud computing enables companies getting computational and storage resources on demand. Especially when using features like elasticity and scaling, cloud computing can be a very powerful technology to run, e.g., a webservice without worries about failure by overload or wasting money by paid use of unneeded resources. For using these features, developers can use or implement cloud-native applications (CNA), containerized software running on an elastic platform. Nevertheless, a CNA can be complex at planning, installation and configuration, maintenance and searching for failures. Small and medium enterprises (SMEs) are mostly limited by their personnel and financial restrictions. So, using these offered services can facilitate a very fast realization of the software project. However, using these (proprietary) services it is often difficult to migrate between cloud vendors. This paper introduces C4S, an open source system for SMEs to deploy and operate their container application with features like elasticity, auto-scaling and load balancing. The system also supports transferability features for migrating containers between different Infrastructure as a Service (IaaS) platforms. Thus, C4S is a solution for SMEs to use the benefits of cloud computing with IaaS migration features to reduce vendor lock-in.

How to Operate Container Clusters more Efficiently? Some Insights Concerning Containers, Software-Defined-Networks, and their sometimes Counterintuitive Impact on Network Performance(Nane Kratzke, Peter-Christian Quint), In International Journal On Advances in Networks and Services International Academy, Research, and Industry Association (IARIA), volume 8, 2015. [bib]

Companies like Netflix, Google, Amazon, Twitter successfully exemplified elastic and scalable microservicearchitectures for very large systems. Microservice architectures are often realized in a way to deploy servicesas containers on container clusters. Containerized microservices often use lightweight and REST-based mech-anisms. However, this lightweight communication is often routed by container clusters through heavyweightsoftware defined networks (SDN). Services are often implemented in different programming languages addingadditional complexity to a system, which might end in decreased performance. Astonishingly it is quite com-plex to figure out these impacts in the upfront of a microservice design process due to missing and specializedbenchmarks. This contribution proposes a benchmark intentionally designed for this microservice setting. Weadvocate that it is more useful to reflect fundamental design decisions and their performance impacts in theupfront of a microservice architecture development and not in the aftermath. We present some findings regard-ing performance impacts of some TIOBE TOP 50 programming languages (Go, Java, Ruby, Dart), containers(Docker as type representative) and SDN solutions (Weave as type representative).

[2015]

About Microservices, Containers and their Underestimated Impact on Network Performance(Nane Kratzke), In Proceedings of CLOUD COMPUTING 2015 (6th. International Conference on Cloud Computing, GRIDS and Virtualization), 2015. [bib]