|
| 1 | +<!DOCTYPE html> |
| 2 | +<html> |
| 3 | +<head> |
| 4 | + <meta charset="utf-8"> |
| 5 | + <title>Why can't RSE Ops Follow DevOps?</title> |
| 6 | + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no"> |
| 7 | + <meta http-equiv="content-language" content="en"> |
| 8 | + <link href="/landscape/assets/css/style.css" rel="stylesheet"> |
| 9 | + <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> |
| 10 | + <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,700|Roboto+Slab:400,700"> |
| 11 | + <link rel="icon" type="image/png" href="/landscape/favicon.ico"> |
| 12 | + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"/> |
| 13 | + |
| 14 | +</head> |
| 15 | +<body> |
| 16 | + <div class="container"> |
| 17 | + <ul id="filters" class="clearfix"> |
| 18 | + <li><span class="filter"><a style="color:white" href="/landscape/">Rse-ops</a></span></li> |
| 19 | + <li><span class="filter"><a style="color:white" href="/landscape/about">Background</a></span></li> |
| 20 | + <li><span class="filter"><a style="color:white" href="/landscape/categories">Categories</a></span></li> |
| 21 | + <li><span class="filter"><a style="color:white" href="/landscape/choosers">Choose A Tool</a></span></li> |
| 22 | + <li><span class="filter"><a style="color:white" href="/landscape/projects">Projects</a></span></li> |
| 23 | + <li style="float:right"><span class="filter"><a style="color:white" href="/landscape/sitemap">Sitemap</a></span></li> |
| 24 | + <li style="float:right"><span class="filter"><a style="font-weight:600" href="https://github.com/rse-ops/landscape" target="_blank"></></a></span></li> |
| 25 | + <li style="float:right"><span class="filter"><a style="color:white" href="/landscape/src/rse-ops.pdf" target="_blank">PDF</a></span></li> |
| 26 | +</ul> |
| 27 | + |
| 28 | +<p><img src="/landscape/assets/img/rse-sun.png" style="display:block;margin:auto;" /></p> |
| 29 | + |
| 30 | +<h2 id="why-cant-rse-ops-follow-devops">Why Can’t RSE-ops Follow DevOps?</h2> |
| 31 | + |
| 32 | +<div class="card"> |
| 33 | + |
| 34 | +<p>The biggest factor that originally seemed to separate RSE-ops with |
| 35 | +DevOps was HPC system complexity, and inability to change quickly. |
| 36 | +However, clouds now are also increasing in complexity, not just in |
| 37 | +services offered, but machines (and general details) relevant to each |
| 38 | +service. A second factor is availability of resources. On HPC, |
| 39 | +"on-demand" usually means waiting in a queue for your turn. This means |
| 40 | +that software development on HPC is a slow task, and typically the |
| 41 | +software is not developed alongside the system, but perhaps only used or |
| 42 | +tested there after the fact.</p> |
| 43 | +<p>For working in the cloud, we operate on the basis of being able to |
| 44 | +make services and systems modular. Any piece of software can be |
| 45 | +installed when needed on a cloud resource, whereas the process is more |
| 46 | +complicated for HPC, primarily needing to be done by someone with |
| 47 | +adequate permissions, and in a way that the software can exist alongside |
| 48 | +other software and be accessed in a particular way (loaded as a module, |
| 49 | +as a container, etc.). On the cloud a piece of software can be run |
| 50 | +exactly with a container base that is needed, and there is little or no |
| 51 | +concern for dependency with other bases. The two biggest hardware |
| 52 | +dependencies that containers have, arguably host MPI and GPU, are also |
| 53 | +hugely important factors when figuring out compatibility.</p> |
| 54 | +<p>There is also little concern with using updated systems or software – |
| 55 | +unlike HPC that needs to always support legacy systems, deployment on |
| 56 | +the cloud is more "use and throw away" to easily support whatever system |
| 57 | +is desired. As long as services are written in portable languages and |
| 58 | +don’t require high performance with respect to node configuration, they |
| 59 | +can be run anywhere, and people are agnostic to the details.</p> |
| 60 | +<p>This allows developers to work on the bleeding edge and perhaps only |
| 61 | +be concerned with supported the latest top systems that might want to |
| 62 | +run the software (e.g., Mac, Linux, and Windows latest). Cloud DevOps |
| 63 | +also allows for scaling and deploying on demand resources with the only |
| 64 | +constraint being cost. For RSE-ops on HPC, the scaling is limited to the |
| 65 | +cluster, along with the number of people using it.</p> |
| 66 | +<p>A major helper to this current landscape would be well-established |
| 67 | +tools to allow for ease of testing for an HPC user. Whether this means |
| 68 | +testing on a node allocated for testing on the cluster, or a separate |
| 69 | +build system that mimics the cluster environment, being able to trigger |
| 70 | +builds and tests alongside a code base with a CI pipeline would greatly |
| 71 | +improve the software development life-cycle on HPC. If such a system |
| 72 | +existed, and if it were easy for RSE software developers to develop, |
| 73 | +test, and deploy their own software, system administrators could better |
| 74 | +focus on improving or enhancing the systems instead of managing software |
| 75 | +for them. We could even imagine going a step further and having a more |
| 76 | +automated ability to use software for the average user. For example, if |
| 77 | +a workflow system is better integrated into the cluster, akin to how an |
| 78 | +RSE developer could push and trigger builds and tests, an HPC user could |
| 79 | +push a workflow to trigger running a test job, and upon success, if |
| 80 | +desired or needed, running it at scale. It would be amazing if we could |
| 81 | +eliminate the need to ssh in to a log in node, learn how to use a job |
| 82 | +manager, and otherwise interact with HPC. To the user, if the cluster |
| 83 | +could be exposed as a service with an easy interface to monitor jobs and |
| 84 | +job submission could be integrated with the user’s workflow, the speed |
| 85 | +of development and analysis would greatly increase.</p> |
| 86 | +<p>Obviously, the greatest challenges to making the above a reality come |
| 87 | +down to security and centers being able to support more modern |
| 88 | +authentication systems. Exposing any cluster resource to be accessible |
| 89 | +via continuous integration or version control triggers requires |
| 90 | +connecting the resource to external services, which always is a risk, |
| 91 | +but there are well developed authentication frameworks for that.</p> |
| 92 | +<p>Moving data from some external storage to a cluster resource to be |
| 93 | +analyzed is another challenge. A tiny step of progress is the ability to |
| 94 | +link a traditional HPC single sign on (SSO) scheme (e.g., LDAP or |
| 95 | +Kerberos) to a version control service (e.g., GitLab or GitHub) to allow |
| 96 | +for role based access, but it’s not clear how often this is done or if |
| 97 | +it’s a good direction.</p> |
| 98 | +<br /> |
| 99 | + |
| 100 | +<ol class="bibliography"></ol> |
| 101 | + |
| 102 | +</div> |
| 103 | + |
| 104 | + </div> |
| 105 | +<br> |
| 106 | +<br> |
| 107 | +<img id="footer" src="/landscape/assets/img/grass.png"> |
| 108 | +</div> |
| 109 | +</body> |
| 110 | +</html> |
0 commit comments