Slide 1

Slide 1 text

Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native Applications Peter-Christian Quint, Nane Kratzke (Speaker) 8th International Conference on Cloud Computing and Services Science (CLOSER 2018); Madeira, Funchal, Portugal, 2018

Slide 2

Slide 2 text

The next 20 minutes are about ... • Context of our research • Cloud applications and vendor lock-in • Infrastructure-agnostic platform transferability • Platform-agnostic application definition • Resulting requirements for a „Cloud Programming Language“ • Language proposal and evalution • Conclusion Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 2 Paper URL Presentation URL Speaker Deck

Slide 3

Slide 3 text

Research Methodology Cloud TRANSIT 3 [KQ2017a] Kratzke, N., & Quint, P.-C. (2017). Understanding Cloud-native Applications after 10 Years of Cloud Computing - A Systematic Mapping Study. Journal of Systems and Software, 126 (April). [KP2016] Kratzke, N., & Peinl, R. (2016). ClouNS - a Cloud-Native Application Reference Model for Enterprise Architects. In 2016 IEEE 20th International Enterprise Distributed Object Computing Workshop (EDOCW) (pp. 1–10). [Kra2017a] Kratzke, N. (2017). Smuggling Multi- Cloud Support into Cloud- native Applications using Elastic Container Platforms. In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017) (pp. 29–42). Understanding cloud-application engineering approaches and vendor lock-in drivers Reference Modeling Infrastructure- agnostic platform transferability concept This presentations focus Platform- agnostic cloud application definition

Slide 4

Slide 4 text

Can we solve cloud orchestration problems differently? Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 4 TOSCA [QK2018a] Quint, P.-C., & Kratzke, N. (2018). Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native Applications. In Proceedings of the 8th Int. Conf. on Cloud Computing and Services Science (CLOSER 2018, Madeira, Portugal). UCAML [Kra2017a] Kratzke, N. (2017). Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Container Platforms. In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017) (pp. 29–42). PLAIN Jolie (1st language for micro- services) Montesi F., Guidi C., Zavattaro G. (2014) Service-Oriented Programming with Jolie. In: Bouguettaya A., Sheng Q., Daniel F. (eds) Web Services Foundations. Springer, New York, NY

Slide 5

Slide 5 text

Requirements for a Cloud Programming Language (practicitioner point of view) R1: Containerized Deployment The DSL must be designed to describe and label a containerized deployment of discoverable services. R2: Application Scaling The DSL must be designed to describe elastic services. R3: Compendiously The DSL must be designed to be lightweight and pragmatic. R4: Multi-Cloud Support The DSL must be designed to support multi-cloud operations (including multi-cloud scheduling constraints) R5: Infrastructure agnostic The DSL must be designed to be independent from a specifc ECP or cloud infrastructure. R6: Elastic runtime environment The DSL must be designed to define applications being able to be operated on arbitrary elastic runtime environments. Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 5

Slide 6

Slide 6 text

Core Language Model Requirements R1, R2, R3 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 6 exposes

Slide 7

Slide 7 text

Infrastructure and platform agnostic Requirements R4, R5, R6 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 7 A model-to-model transformer transforms a universal CNA definition (UCAML) into a specific ECP format (Kubernetes manifests, Swarm compose files, etc.). • The runtime environment is a user decision (other like Jolie, platform agnostic). • But the runtime specifics must not be modeled on the application level (infrastructure agnostic).

Slide 8

Slide 8 text

Example („Hello World“) Elastic webservice for primality checks Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 8 Ucaml::application('prime-service-app', services: [ Ucaml::service('prime-service‘, expose: [8888 => 80], request: Ucaml::request(cpu: 100, memory: 256, ephemeral_storage: 2), scale: Ucaml::scalingrule(min: 1, max: 10, cpu: 66), scheduling: Ucaml::constraint( 'policiy': 'EU-US privacy shield', 'country': 'ge' ), ports: [8888], container: Ucaml::container('prime-unit', 'transit/primesvc:latest', cmd: 'ruby hw-service.rb', ports: [80] ) ) ] ) R1 : Containerized deployments (encapsules all the logic) R2 : Scalable services R3 : Pragmatic description R1 : Discoverable services R4 : Multi- Cloud contraints

Slide 9

Slide 9 text

All together … 9 R1 : Containerized deployments R2: Scalable Applications R3: Compendiously and pragmatic R4 : Multi-Cloud Support R5: Infrastructure agnostic R6: Elastic runtime environment UCAML (this paper) PLAIN Kratzke, N. (2017). Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Container Platforms. In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017)

Slide 10

Slide 10 text

Evaluation E1 + E2 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 10 See: https://microservices-demo.github.io/ „Sock Shop simulates an e- commerce website that sells socks. It is intended to aid the demonstration and testing of microservice and cloud native technologies.“

Slide 11

Slide 11 text

Evaluation E1 + E2 (Practicability) To evaluate the usability [R3] we described a Sock-Shop needing [R1, R2] deployed the Sock-Shop to Kubernetes, and Docker Swarm [R6] in AWS, Azure, GCE and OpenStack [R4] E3 (Transferability) For demonstrating IaaS independence [R4] we transfered the deployment at runtime between IaaS infrastructures of Amazon Web Services, Microsoft Azure, Google Compute Engine and a OpenStack installation. Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 11

Slide 12

Slide 12 text

How to measure language pragmaticism? Well, let‘s try it … Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 12 * without autoscaling 650 500 300 170 60 K8S Nomad* Mesos/Marathon* Swarm* UCAML Lines of code (necessary to express the Sock-Shop) proposed approach LoCs taken from the official Sock-Shop repository. Platform-specific deployment files.

Slide 13

Slide 13 text

Results of E3: Transfers between AWS, GCE, Azure and OpenStack Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 13 Transfer of a 1+5 cluster (one master, five workers) Only Kubernetes data presented (Docker Swarm basically the same)

Slide 14

Slide 14 text

Conclusion Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 14 • Two independent but complementary engineering problems: platform transferability (PLAIN) and platform-agnostic application definition (UCAML). • For UCAML we rated DSL pragmatism and practitioner acceptance higher than richness of DSL expressions. • The DSL is intentionally designed for container and microservice architectures but has limitations outside this scope. This enables DSL simplicity but reduces possible use cases. • The DSL supports currently the following container platforms: • Kubernetes • Docker Swarm • Evaluation on the following IaaS infrastructes (approx. cloud marketshare): • AWS, GCE, Azure • OpenStack • Because it is infrastructure and platform agnostic further infrastructures and platforms can be extended. 70%

Slide 15

Slide 15 text

Acknowledgement • Puzzle: Pixabay (CC0 Public Domain, PIRO4D) • Definition: Pixabay (CC0 Public Domain, PDPics) • Macro/Micro Architecture: isa-principles.org (CC-SA 3.0, innoQ GmbH) • Checklist: Pixabay (CC0 Public Domain, Tumiso) • Road Ahead: Pixabay (CC0 Public Domain, Nel_NZ) • Air Transport: Pixabay (CC0 Public Domain, WikiImages) • All cliparts: openclipart.com (CC0 Public Domain) Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 15 Picture Reference Our research is funded by German Federal Ministry of Education and Research (13FH021PX4). Paper URL Presentation URL Speaker Deck

Slide 16

Slide 16 text

About Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 16 Nane Kratzke CoSA: http://cosa.fh-luebeck.de/en/contact/people/n-kratzke Blog: http://www.nkode.io Twitter: @NaneKratzke GooglePlus: +NaneKratzke LinkedIn: https://de.linkedin.com/in/nanekratzke GitHub: https://github.com/nkratzke ResearchGate: https://www.researchgate.net/profile/Nane_Kratzke SlideShare: http://de.slideshare.net/i21aneka