Container-based Service Deployment in Private and Public Clouds Enrico
17 Slides3.23 MB
Container-based Service Deployment in Private and Public Clouds Enrico Bocchi CERN IT-ST CS3 2018 Workshop on Cloud Services for Synchronisation and Sharing 29th January 2018 Krakow, Poland
Container Technologies Containers Light-weight application-layer virtualization Isolation: From other Apps and OS Portability: Binary, Data, Config, Logs Container Orchestration Deploy and manage complex services Scalability and high-availability Can we containerize and distribute CERN storage services and deploy them on any cloud? Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 2
Containerized CERN Technology Boxed – Self-contained, Docker-based package with: EOS: Disk Storage for LHC physics data, and CERNBox EOS the CERN disk/cloud storage for science, Luca Mascetti Tue@11:50 CERNBox: Cloud Sync&Share for Science CERNBox Service, Hugo Gonzalez Labrador CERN IT-ST Today@18:45 CERN IT-ST SWAN: Platform for Interactive Data Analysis in the Cloud SWAN: Service for Web-based Analysis, Diogo Castro Tue@10:00 CERN IT-ST EP-SFT Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 3
Containerized CERN Technology Boxed – Self-contained, Docker-based package with: One-Click Demo Deployment Production-oriented Deployment Single-box installation via dockercompose Container orchestration with Kubernetes Scale-out storage and computing No configuration required Tolerant to node failure for high-availability Download and run services in 15 minutes https://github.com/cernbox/kuboxed https://github.com/cernbox/uboxed Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 4
Boxed Architecture JupyterHub CVMFS Client EOS Fuse Mount SWAN Interactive Notebooks CERNBox Backend CERNBox Gateway CERNBox File Storage Servers EOS Introduction Architecture Management Node Scalability Use Cases Conclusions Synchronization and Sharing Disk-based Storage CS3 2018, Krakow 5
Boxed Architecture JupyterHub CVMFS Client EOS Fuse Mount SWAN User CERNBox Backend CERNBox Gateway CERNBox File Storage Servers EOS Introduction Architecture Sync Client Management Node Scalability Use Cases Conclusions CS3 2018, Krakow 6
Boxed Architecture Single-user Jupyter Server JupyterHub CVMFS Client EOS Fuse Mount SWAN User CERNBox Backend Architecture Sync Client CERNBox Gateway CERNBox Introduction Start my session! Scalability Use Cases Conclusions CS3 2018, Krakow 7
How to scale services Single-user Jupyter Server JupyterHub CVMFS Client SWAN EOS Fuse Mount User Architecture Scalability Start ALL our sessions! Plenty of Single-user Jupyter Servers Introduction Start my session! Plenty of users Use Cases Conclusions CS3 2018, Krakow 8
How to scale services Kubernetes: Deploy, orchestrate, and manage containers in a cluster It provides means to horizontally scale applications ReplicaSet, Deployment, StatefulSet, Horizontal Pod Autoscaler, LoadBalancer on Services, Storage – Extend EOS capacity Add machines with extra storage to the cluster Replicate File Storage Server containers File Storage Servers Ability to scale-out storage Computing – Sustain concurrent SWAN sessions Need of multiple cluster nodes where to spawn Single-user Jupyter Servers Add machines with computing power: Swan Workers Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 9
How to scale services Start my session! User A closer look at SWAN CVMFS Client JupyterHub Ability to spawn single-user server on SWAN Workers EOS Fuse Mount DaemonSet CVMFS and EOS Fuse containers are replicated on any “Swan Worker” node Scale out SWAN capacity Introduction SWAN Workers Single-user Jupyter Server New SWAN Worker nodes Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 10
A Sample Deployment with Kubernetes Development playground at CERN Runs on OpenStack VMs CERNBox EOS 1x Management Node 4x File Storage Servers SWAN 1x JupyterHub 3x EOS CVMFS Daemons Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 11
A Sample Deployment with Kubernetes Computing – SWAN Workers Workers are (again) VMs with EOS CVMFS daemons deployed SWAN Users SWAN Workers DaemonSet running on each SWAN Worker EOS Fuse Mount Introduction CVMFS Client Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 12
Use Cases for Boxed EU Project Up to University (Up2U) Up2University: Educational Platform with Sync/Share, Peter Szegedi Simplified try-out and deployment for peers Australia's Academic and Research Network (AARNET) Joint Research Centre (JRC), Italy Saint Petersburg State University, Russia National Research Center “Kurchatov Institute”, Russia Academia Sinica Grid Computing Centre (ASGC), Taiwan Disposable deployment for testing and development within IT-ST and EP-SFT groups at CERN Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 13
Deployment on Private and Public Clouds Single-box deployment running on multiple clouds: Amazon Web Services Helix Nebula Cloud (IBM, RHEA, T-Systems) OpenStack Clouds (CERN, GRNet, PSNC) Your own laptop! (CentOS, Ubuntu) Production-oriented deployment with Kubernetes OpenStack at CERN Poznań Supercomputing and Networking Center (PSNC) Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 14
The Helix Nebula Science Cloud Helix Nebula Project: Move towards cloud-based scientific e-infrastructure Hybrid cloud model – commercial providers public-funded science clouds Functional test Q4 2017 Single-box automated deployment Starting from Q2 2018 10.000 cores Scalability Testing: Leverage on provided resources to run many SWAN user sessions 1PB 40Gbps End User Access: Interactive data analysis for High Energy Physics Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 15
Conclusions Boxed is a concrete example of CERN core technologies running in containers Delivers fully-fledged services on premises Run your personal (tiny) datacenter in a box! or scale it out for a multi-user deployment Help yourselves! https://cernbox.cern.ch/cernbox/doc/boxed/ Introduction Architecture Scalability Use Cases Conclusions CS3 2018, Krakow 16
Thanks for your attention!