Bringing the Benefits of Composable Infrastructure to OpenStack*
New contributors are essential to the health of open source communities. We each have unique stories about our journeys into tech, and these stories are as diverse as the experiences, expertise, backgrounds and skills we bring with us.
We talked with Helena McGough, a software engineer on Intel’s software orchestration team in Shannon, Ireland, about her path into open source, and her experiences in developing a new driver that allows seamless, automated lifecycle management of Intel® Rack Scale Design (Intel® RSD) deployments in OpenStack.
What led you into the open source community?
In college, I originally intended to study biomedical engineering, but discovered I really didn’t like chemistry! So I changed paths and studied computer and electronic engineering. Intel offers a Women in Technology (WIT) scholarship, and awarded me this scholarship for my final year of college, which was a real honor — I was very proud to accept it. Intel then offered me a job after I finished college two years ago, which was when I joined the software orchestration team here in Shannon, Ireland. When I started, I worked on telemetry and was really interested in that. I was also really interested to learn about open source communities, and how our industry can help — and benefit from — working in an open source community.
What are you working on now?
The software orchestration team here has been working, for the most part, on orchestration for OpenStack. As a software developer, I started working with the team on the Ceilometer plug-ins. I did a little bit of work with Open Source MANO (OSM), which is a community focused on delivering an open source Management and Orchestration (MANO) stack, as well as work in the areas of telemetry and service assurance. Then we began focusing on new work — enabling Intel RSD through OpenStack, and the orchestration of it.
What is Intel® RSD? How will it benefit OpenStack users?
Intel® RSD is the architecture that allows you to manage an RSD-based deployment.
It’s a composable architecture that allows you to easily manage disaggregated resources, like storage and CPUs and additional accelerators, so you can compose and decompose resources — attach and detach resources — as needed to optimize those resources. Being able to enable and disable real hardware on demand allows you to increase and decrease your consumption in a dynamic hardware configuration so that you can ensure optimum utilization of that hardware. Using a composable infrastructure allows you to create endless expansion possibilities to extend your data center.
We can offer this capability in a more automated way by enabling Intel RSD through OpenStack. Facilitating Intel RSD through OpenStack allows you to control composable hardware using the same orchestration mechanism that today’s telcos and other OpenStack users already use to manage their data centers.
What did enabling Intel® RSD for OpenStack entail?
There are three different pieces of the puzzle: the hardware components, offered by companies like Quanta, Super Micro and others; Intel RSD, which is the architecture used to manage the hardware; and the driver, which is used to leverage the architecture to talk to your Intel RSD-based deployment. We contributed the third piece of this puzzle — the driver — which allows you to compose nodes, or bare metal instances that are dynamically composed. You can attach resources to — or detach resources from — these nodes. You can also use these nodes, or instances, to deploy other workloads on, or add them back into your data center as more resources for your data center to consume.
What excites you about what you’re working on?
From a user perspective, our team developed a capability that wasn’t available before. The new nova virt driver allows you to communicate with an Intel RSD-based deployment and automate the deployment of Intel RSD compose nodes by leveraging existing Python libraries in OpenStack, such as rsd-lib and associated libraries. While the existing Python libraries allow you to manage an Intel RSD-based deployment manually, the new driver makes this easier by automating the deployment, allowing you to manage it like you would any other kind of nova instance. Today, this seamless lifecycle management only exists for VMs, bare metal and containers. The new driver, which we’ll be proposing be included in a future release, brings this same capability to Intel RSD-based deployments — this is a first, and that’s exciting.
From a personal perspective, I was responsible for writing the code for this new driver — and this was both scary and exciting. This was the first project where I had sole responsibility, which was a big change for me. Previously, I had been supporting other developers and adding to features that already existed, whereas this project entailed creating a new solution to managing composable architecture. It gave me a lot of freedom to innovate and be more creative in how I wanted to go about the implementation as opposed to just being given requirements and having to implement them. It was a new experience for me, which I really enjoyed.
Tell us about some of the big milestones along the way.
We started development in April 2018, and I began learning about Intel RSD and what kinds of libraries existed to allow OpenStack deployments to communicate with Intel RSD deployments. By mid-summer, we succeeded in deploying a few internal demos, which was made much easier by utilizing existing libraries, like rsd-lib and associated libraries. Then, we needed to introduce the idea to the community and get their feedback on our implementation approach, so I attended the OpenStack PTG in Denver in early September and reached out to a lot of the nova cores. We gave a demo of the first iteration at the OpenStack Summit in Berlin. Ultimately, we hope to see broad adoption among the community and ecosystem.
What were some of the challenges you faced along the way, and how were you able to address them?
My personal challenge was to learn about Intel RSD. When I started, I had no concept of the technology. So, our entire team ramped up on the Intel RSD technology. Then I learned about all the existing libraries and any existing integrations with OpenStack. I also had never worked on a nova project — I had only ever done telemetry work — so that also presented a learning curve.
What accomplishments are you proudest of?
The team managed to get the driver done relatively quickly — it was a substantial piece of work in a relatively short amount of time.
Leveraging earlier work done by Intel, such as the rsd-lib library, helped speed us along. We also succeeded in delivering several internal demos on a regular cadence, with steady incremental enhancements based on what was working within the driver itself.
I think the saying is true that you can do more than you think you can do. I’m proud I rose to the challenge and was able to write much of the code for the driver myself, with an extremely supportive team behind me. I genuinely didn’t know if I was going to be able to do this when I started out because I had never done any of this stuff before, so it’s nice to be able to surprise myself. Being able to take on this responsibility — and succeeding — is a personal achievement I’m proudest of.
Learn more about Intel RSD, and check out a library of resources to get started!
by Nicole Huesman
Community & Developer Advocate