# Container Orchestration for Research Workflows # Workshop Overview In this workshop, you will learn how to set up and manage a containerized research workflow with Extract, Load, Transform (ELT) features and a user interface (UI) to view and analyze outputs. We will review containerization fundamentals, ELT processes, and create an intuitive UI for end users. ## Course Level - Intermediate ## Intended Audience This workshop is intended for: - **Primary Audience**: Researchers and data scientists interested in streamlining their workflows. - **Secondary Audience**: IT professionals and developers looking to implement containerized solutions for data processing and analysis. ## Workshop Objectives By the end of this workshop, you will be able to: - Understand the process to implement containers for a workshop - Set up a containerized environment for research workflows - Implement data processing - Containerize a user-friendly interface for accessing output and visualization ## Delivery Method This workshop is delivered through: - Online via Zoom ## Duration - 5 Hours ## Workshop Outline This workshop covers the following concepts: 1. **Introduction to Containerized Research Workflows** - Overview of Docker and Kubernetes - Benefits of containerizing research workflows - Tools and technologies: Docker, Kubernetes, etc. 2. **Setting Up the Containerized Environment** - Creating Dockerfiles and Docker Compose files 3. **Data Processing Fundamentals** - Understanding data processing - Implementing a containerized environment 4. **Developing the User Interface** - UI development using Flask - Containerized UI 5. **Visualizing and Analyzing Output** - Creating visualization dashboards 6. **Deploying to a Public Cloud as a Kubernetes Cluster** - Setting up a Kubernetes cluster on a public cloud (e.g., AWS, Google Cloud, Azure) - Deploying containerized applications to Kubernetes - Managing and scaling applications in Kubernetes ## End of Workshop Assessment - Q&A session - Feedback ## Hands-On Lab Exercises 1. Setting up Docker containers 2. Deploying and managing the complete workflow 3. Deploying the workflow to a Kubernetes cluster on a public cloud By the end of this workshop, participants will have a comprehensive understanding of how to build and manage a containerized research workflow using Docker and/or Kubernetes. ## Repo Folder Structure (Subject to change) ```plaintext Container-Orchestration-for-Research-Workflows/ ├── Dockerfile ├── README.md ├── README_old.md ├── app │ ├── entrypoint_extract.sh │ ├── entrypoint_load.sh │ └── entrypoint_transform.sh ├── docker-compose.yml ├── notebooks ├── requirements.txt └── scripts ├── data │ └── fm-ad-notebook-visualization-COMPLETED.ipynb ├── extract.py ├── load.py └── transform.py ```