Open discussions on specific topics selected by the Software Working Group and selected from the list of SWG Topics For Discussion.
Tuesday, October 4, 2022 - Where Will My Software Run? moderated by Rob Kooper
When working on a project we often have the question where will my software run? How do I manage the infrastructure? At that point we have many options from either a VM that is centrally managed, to a quick VM for testing, to a docker and kubernetes. How do we pick, what are the pros and cons?
Recording: https://uofi.box.com/s/7muzhxln1l25zwai7etasy0u38fb68va
Slides: https://uofi.box.com/s/8oqu4xvk5fb819hd6ixzwlvchdx0vjus
Attendees:
Sandeep Puthanveetil Satheesan
Discussion:
- Pros and Cons of creating a new virtual machine from base OS
- easy to start, nothing new to learn, can be configured the way you want
- your are responsible for the VM, it's hard to create multiple machines, changes need to be made manually, not easy to see what was created
- Discussion followed on pros and cons of creating VM's
- VM's are throw away machines and should be discarded periodically
- If someone breaks into your VM, they can access NCSA - it's a security issue
- When researchers leave NCSA we either need access to their key or they should be deleted
- Managing user permissions are difficult manually
- Pros and Cons of managed machine
- east to get started, all machines have the same base configuration, updates are done in a central place
- you are responsible for SOME pieces, it's harder to set up the way you want, you need to learn a configuration software
- Discussion followed:
- Managing user permissions are difficult manually
- Most machines are in ubuntu
- How to Manage a Machine:
- Custom Script + SSH, Puppet, Ansible, Chef
- A Single Docker Maching
- All dependencies are in one container, good to keep a copy for later, easy to deploy
- This is assuming that everyone knows Docker, Docker Hub deletes older version, if the VM and Docker stops, all services are down
- Sara mentions docker stack deploy --orchestrator kubernetes
- Kubernetes Pros and Cons
- Same Pros as Docker, can reboot/fix a machine with no downtime, easy to deploy with helm chart
- Kubernetes is HARD
- How do we know when to switch from Docker to Kubernetes?
- If you have a complex formula or have a lot of people accessing your site, it's best to use Kubernetes - no down time.
- In Docker everything needs to be updated and there will be down time. It might be down for just a few minutes
- Sandeep notes: It looks like usage is a good rule of thumb then. How many people are using your application? Do those users expect the application to be up and running 24 x 7?
- How to Manage - Terraform, Rancher, ArgoCD
- How far should management go?
- Who should manage the control of the VM's
- How flexible should management be?
- Should updates be centrally forced?
- Managing on local machine or on VM?
If you are interested in contributing to a Round Table, please see these links:
Round Table Google Sheet: https://docs.google.com/spreadsheets/d/1kbgO6sIb_4eLugfSVKQNCTXdaKp1R6m0RDczPTsUAoQ/edit#gid=0 Every one should have edit permission.