DevOps with GenAI and PartyRock
How can generative AI be used to provide some insights into your development team's DevOps practices to improve on their software delivery and become a high-performing team?
Published Feb 10, 2024
I'm a software developer, an old software developer, who's been around the block a few times and I've always looked to keep abreast of the technological advances that have, and continue to change at an ever increasing rate.
For the last 7 years I have worked in the AWS space as a Solutions Architect and developer helping clients transform their legacy IT system to the Cloud. AWS have such a vast array of services, that are also changing at the same rapid pace, that there's always something else to learn and which is why I love my job so much. I'm also a DevOps specialist and help teams to improve on their software delivery capability.
If you take just the announcements from this year's AWS re:Invent alone, you'll realise that GenAI is going to be a huge game changer for the future, not only of IT but our everyday lives. I thought that to be true to my ethos of keeping abreast of changing technology (and to not be left behind), that I had better start to learn more about this dynamic space.
I stumbled across the AWS PartyRock Hackathon on a LinkedIn post and after reading a bit more about it, thought that it would be a great introduction to getting my hands dirty with AWS Bedrock, through a no-code interface.
The DevOps Research and Assessment program is the go to resource for all things DevOps. Over the last 9 years they have produced an annual report that highlights the practices that drive successful software delivery and operational performance.
DORA Core is a collection of capabilities, metrics, and outcomes that represent the most firmly-established findings from across the history and breadth of the research program.
They provide a quick check tool that's lets your team measure their software delivery performance and how they compare to various industry benchmarks.
In my experience, delivery teams without a mentor that has the appropriate experience of operating in a DevOps manner, have a problem making the necessary changes to their software delivery practices to improve on the 4 key DORA metrics that can elevate them to the next level.
This is particularly true when it comes to the necessary cultural changes that are required, which are often overlooked in favour of the easier and more tangible aspects of deploying a Continuous Integration / Continuous Delivery (CI/CD) pipeline. Contrary to the oversimplified notion of 'DevOps done' by merely automating processes, the intricate shift in organisational culture plays a pivotal role in the long-term success of DevOps initiatives.
Having the idea for developing an application is always so much harder than the actual implementation of it but after some pondering, I decided that I would combine my professional interests in AWS and DevOps and devise an application that would assist software delivery teams in improving their delivery capability.
By simply entering your team's values for the 4 key DevOps metrics of Lead Time for Change, Deployment Frequency, Change Failure Rate and Meantime to Recover, the application will measure these values against best practice and make some suggestions on ways to improve the team's software delivery techniques, taking into account the all important cultural aspects of DevOps.
Adopting these recommendations and monitoring their effectiveness can make a huge positive impact to not only your team's software delivery capability but also to their mental health.
Developing the application without PartyRock would have made the development process much longer, not least because I would have had to learn Bedrock and how this integrates with a number of other AWS services. The development of the User Interface would also be required. However to truly meet the applications full potential, I believe that developing the application outside of PartyRoc would provide a number of benefits:
- Better control of the foundational models used to generate the text, score and images
- It would be possible to incorporate an interactive AI avatar as the chat bot interface using something like Soul Machines which interact with Amazon Lex and Amazon Polly providing a much richer and human-like interactive experience.
- The ability to provide addition content to the foundational models through the use of embeddings would enhance the quality of the responses returned.
Now that I've started on this journey, I'm interested to see where it will lead. As a first step I'm going to attempt to create the application without PartyRock as described above and get into the weeds of Bedrock and the other AWS services required to pull this application together.
The app is available on the AWS PartyRock site, go and check it out.