Disclaimer: This article is more than two years old. Developments in science and computing happen quickly, and more up-to-date resources on this topic may be available.
Student internships are the backbone of LLNL’s workforce pipeline, and each summer brings a large cohort of Computing Scholars working in various divisions and in targeted programs for cluster engineering and data science. A new program debuted in 2021: the DevOps Internship Team, or DO IT, sponsored by Livermore Computing (LC) and led by Otto Venezuela.
DO IT gives students experience with the software lifecycle, application development, database management, cloud technologies, and Agile methodology. Venezuela, a former Princeton University intern and now an LC cloud solution architect for HPC workflow tools, wanted to combine the these principles with an opportunity for students in underrepresented demographic groups. “My goal was to establish an internship where students would be immersed in a real production environment and build a real application using Agile and DevOps methodologies,” he says.
Two students made up DO IT’s inaugural class: Kassidy Chan from Colorado College and Matthew Ramirez from California State University, San Bernardino. The students concluded their internship by presenting their project during the Lab’s Summer SLAM, the virtual equivalent of a poster session. (Watch the students present their project at timestamp 43:54.)
To organize each day’s activities and goals, the students and mentors adhered to the Agile software development methodology. Agile development provides a structure for gathering product requirements, maintaining a backlog of prioritized work, and managing effort-based development cycles called sprints. As part of this process, the team held a short daily meeting—known as a scrum—to discuss progress and impediments. LC hotline specialist Jane Herriman served as scrum master, helping the interns stay on track through ordinary days as well as adapt to unusual circumstances such as the Lab’s brief power interruption in June.
Together Chan and Ramirez developed a new web application called Launch Infrastructure Template (LaunchIT), which streamlines the process for users to provision persistent data services (PDS) in LC clusters. Currently, the user submits a ticket to the LC hotline, which then dispatches the request to LC’s Workforce Enablement Group (WEG). Via email exchanges with the user, WEG members gather additional information—such as project name and volume capacity—needed for PDS setup and launch.
In contrast, LaunchIT lets users browse request templates tailored to each type of PDS, such as a MongoDB or MySQL database service with persistent storage. Users then fill out the required information before submitting their requests directly to the cluster—without a hotline or WEG intermediary. Using Python and Flask, Ramirez built LaunchIT’s front-end layer to display the templates and capture the user’s submissions. Chan built the API backend, which sends user request data and other information to a Kubernetes cluster to create a new PDS.
“Kassidy and I collaborated throughout our internship on the application and many presentations. We not only gained hands-on experience working with different technologies, but also gained some public-speaking experience,” explains Ramirez, a senior majoring in Computer Systems with a focus in Linux System Administration.
The students’ LaunchIT application has been approved by LC’s security team and will be released to users soon. “This app will make it easier for our users to access the services they need with less work from LC teams,” Venezuela points out.
Ramirez is excited for the app’s launch. “When I started my degree, the idea of working on a project and releasing it for real users seemed like an insurmountable task. So, it feels kind of surreal that something I helped build will be put into production at a major supercomputing center,” he reflects. “I am thankful for the opportunity to participate in this internship and learn from everyone on the DO IT team.”
Venezuela notes that DO IT relied on the help of several mentors: Herriman, who interviewed students in addition to performing scrum master duties; Rigo Moreno Delgado, who also helped with student selection; Thomas Mendoza and Eric Green from WEG, who assisted with daily meetings and code review; and Zeke Morton, a new WEG hire responsible for picking up LaunchIT where the students left off. “This amazing team enriched our experience and knowledge,” Venezuela says, adding that Jean Shuler and Dave Fox were instrumental in launching this new program.
DO IT was Ramirez’s first LLNL internship, and he will join LC as a software developer after graduation. He states, “I look forward to making more contributions to LC and working with a lot of great people at the Lab.”
Special thanks: The Computing Scholar administrators—Jennie Carranza, Mia Niklewicz, and Simmy Bains—provided valuable help during the hiring process. Computing workforce manager Marisol Gamboa gave helpful advice and a template to launch the internship as well as partial funding support for the students. “Finally,” Venezuela states, “Thanks to Becky Springmeyer for believing in me and for being a champion of the program from day one!”
—Holly Auten