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:

Maxwell Burnette 

Rob Kooper 

Bing Zhang 

Jong Lee 

Sara Lambert 

Chen Wang 

Christopher Navarro 

Matt Berry 

Mikolaj Kowalik 

Minu Mathew 

Sandeep Puthanveetil Satheesan 

Todd Nicholson 

Dipannita Dey 

Yong Wook Kim 

Elizabeth Yanello 





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.

Round Table Discussions

SWG Topics For Discussion




  • No labels