Transactional Migration of Inhoiogeneous Coiposite Cloud Applications Josef Spillner, Manuel Ramírez López Service Prototyping Lab (blog.zhaw.ch/splab) Sep 12, 2018 | 4th CloudWays @ 7th ESOCC Zürcher Fachhochschule
Our research on cloud-native apps “Migration“ Design/Code Location → Maturity levels → Portability → Technologies Cloud-Native Design “Co-Transformation to “Towards Quantifiable and Architecture Boundaries for Elastic Horizontal Cloud-Native Applications: Development Experiences Scaling of Microservices“ UCC 2015, ESOCC 2017, and Experimental (UCC 2017) FGCS 2017, ... Evaluation“ Cloud-Native Software & This paper: (CLOSER 2018) Engineering/TechDebt “A mixed-method empirical “Transactional Migration of ... soon! Inhomogeneous Composite study of Function-as-a- Cloud Applications“ Service software development in industrial (CloudWays/ESOCC 2018) practice“ (PeerJ Preprints 6:e27005v1) → well-understood → needs research 2
Migration semantics Main differentiation: copy vs. move at runtime ● applicable to: code (images/image refs), composition/configuration, data ● transactional semantics required, too * A B app private copy image db compo data ref app app app image volume conf delete im ref image private/ app public move * some resemblance of “ship of Theseus“, Heraclitus‘ puzzle 3
Migration use cases (industry-defined) (1) inter-region/zone (2) across providers (3) in-situ reconfiguration A A A=B B B ● new storage cluster ● new storage class ● composition updates (with immutable deployments) 4
Migration technologies Virtual machines ● unidirectional (asymmetric; vendor lock-in by [economic] design) ● AWS Snowball, Server Migration Service (vSphere, Hyper-V) & similar ● bidirectional (symmetric) ● vMotion, KVM migrate/savevm/loadvm, XenMotion Containers ● Docker image save/load, rsync... ● Docker engine 1.7 live migration (demo Jun‘15, not generally available) ● Docker with CRI-O (checkpointing - no longer active since Dec‘15) ● Flocker (portable containers - no longer active since Dec‘16) ● Kubernetes: Helm charts, recent, no data; otherwise focus on pods ● Virtuozzo - works, but technology differences... ● Jelastic - commercial solution → needs research again: 5
Migration categories and dimensions 6
Design considerations Migration workflow Heterogeneous (idealistic) view 7
Design considerations Yet... the unsurmountable reality fueled by lots of VC investment... Observations: - consolidation does occur, but: - differences remain (configuration, extensions, distributions) 8
Design considerations Inhomogeneous (realistic) view Iterative experience buildup by: ● multiple alternative (competing) implementations Representation of applications eventually as: ● auto-generated Helm charts based on Kubernetes/OpenShift deployments (except for Docker Compose) ● “fat charts“ concept for fully self-contained stateful snapshots Transaction guarantees ● ability to cancel in-flight + rollback, along with prediction ● (pre-copy/post-copy differential state transfer sequence) 9
Competing implementations Envisioned and realised prototypes Takeaway: ● fully developed os2os/volume2volume with testing, CI/CD integration, ... ● continuing evolvement of openshifter as more promising design ● deployable as scalable service ● interwoven service and state handling ● integration of constraints via descriptor rewriting 10
Evaluation Disclaimer: only first couple of experiments ● focus on OpenShift instances (clusters) within data centre 11
Conclusions Achievements ● study of feasibility of portable, take-where-you-go cloud applications ● initial concept for stateful application migration (in the ‘transfer‘ sense) Limitations ● concept not fully implemented yet, lack of autodiscovery and failure provocation Applied research in industry context ● requirements changing with customer requests + technological evolution ● prototypes available as open source via our research lab repository ● h t t p : / / g i t h u b . c o m / s e r v i c e p r o t o t y p i n g l a b / ● automated testbed setup scheduled to arrive ● allows for better reproducible research ● long-term perspective (i.e. support by Kubernetes ecosystem vendors) not yet clear 12
Recommend
More recommend