Integrating Architecture & System Engineering with DevOps
Our industry faces a challenge not seen in the commercial domain…can DevOps and System Engineering work together in harmony? The systems we build are complex and mission critical, requiring substantial rigor throughout the design, development, and delivery process. Good system engineering is at the heart of successful program execution, but all too often we see silos form that impede rapid, responsive system delivery. Traditionally we have employed a years long, document oriented, gate review driven strategy that is often at odds with the DevOps and Agile principles of rapid flow and continuous delivery. Is the System Engineering domain fundamentally in conflict with our DevOps objectives? We’ll examine some of these challenges and present some potential solutions.
This month we celebrate the DevOps for Defense 3 year anniversary. I’ve always tried to do something special for our anniversary meetups. Our first year welcomed Lou from Stack Overflow as our first guest speaker. Our second year we hosted Robert from GitHub and John Willis from Red Hat, in addition to Green Pea Press custom silk screen shirts which raised money for Girls Who Code. In the current COVID-19 pandemic, we don’t have a safe way to celebrate like we have in the past.
So this month we give something to the community in lieu of throwing a party. I’ve been passionate about finding effective solutions to bring System Engineering and Architecture into the DevOps flow for many years. I’ve been fortunate to work with an amazing team who shared a passion for finding innovative solutions. We literally searched coast to coast for best practices and solutions, and found amazing people doing amazing things, but never found a solution that met our objectives. We looked at many Model Based Systems Engineering (MBSE) tools from multiple vendors. As senior software engineers, we were looking for rigorous configuration management as a foundation with the ability to support extensive automation for accelerated flow and rapid feedback. We also wanted something that focused more on providing value to what we described as the downstream engineering teams…basically those who have to build and deliver working products.
After coming up empty, we took a few years and a millions in investment dollars to create a solution to fill that gap. This was done in a project we called CEACIDE (pronounced seaside). We named our subprojects using an ocean theme. The critical enabling technology we deveoped was Architecture-as-Code, implemented in a product we called Jellyfish Architecture-as-Code. Architecture-as-Code was heavily inspired by the principles of Infrastructure-as-Code which we assert were critical to bridging the gap between Dev and Ops in the commercial domain. We hypothesize that Architecture-as-Code can similarly facilitate bridging the gap between System Engineering & Architecture and Dev…enabling the creation of end-to-end accelerated flow and feedback.
This month, after over a year of working through the process to release open source and more months removing internal dependencies, we’re announcing Jellyfish as the first ever Open Source product from significant investment that our corporation has ever published. This is released under an MIT Open Source license, with the intention of choosing a FOSS license that will enable teams to easily leverage the technology within your own environments, including secure environments.
The meetup presentation is posted as open source to our GitHub repository.
Jellyfish: Architecture-as-Code is now publically available on GitHub. If you have any questions or need support, just create an issue.
Jellyfish documentation including everything you need to get started defining your own architectures and a full user’s guide.
Thanks to everyone who joined us on the Zoom to celebrate our 3 year anniversary. I hope everyone has a safe and happy holiday season! I’m also looking forward to getting back to in-person events in 2021 as soon as possible.
If you can’t make it to our meetup, remember to subscribe to the DevOps for Defene YouTube channel.
Image by JD Black with background from Fans Share.