Tying the knot with CI/CD
The move to cloud-native is as much about people and relationships as it is about technology. Change is hard for people. As members of a team, we rely heavily on routine, and we get comfortable with patterns. Changing the way we work, creating new routines and different relationships isn’t easy. I sometimes tell my clients that moving to cloud-native and shifting to continuous integration and continuous delivery (CI/CD) is a bit like entering into a marriage. You must leave your known routines and your family of origin behind. If we’re honest, despite the excitement of adopting the latest and the greatest, it can all be a bit uncomfortable and even scary.
I work with many service providers making this change from established ways of running and managing networks to the new software-defined paradigm of the cloud. I know that I miss the hands-on relationships I used to have with the hardware. Adding a layer of software between me and the functional network components and relying on automated routines certainly feels like a loss of control. I know my clients struggle with this. From working around some of these issues, I have some hard-earned lessons that I want to share on making this transition easier.
At the foundation of every good marriage, we find mutual respect. When I go into a customer to help them with CI/CD, they usually have their own strategy for how to handle it and have often already implemented some part of it in their own way. It may not be the way I would choose to do it, but I respect their process. Thus, our CI/CD implementation process is heavy on customization to make sure it conforms to theirs. Sure, it takes a little longer than delivering a product, for instance, but it is worth it if the client feels like they’re being given the respect they’re due.
Welcome the in-laws
Your family of origin does things one way, your spouse’s, another. Adapt! CI/CD processes go hand in hand with software lifecycle management (LCM) actions. The customer may already have installed their own LCM, which means that artefacts produced by the LCM aren’t easily convertible from their format to the one Nokia uses. That’s OK! Templating standards aren’t where they need to be, but this is a short-term problem.
In any marriage or partnership, give and take is always the best policy. Sometimes your spouse just cares more about something than you do. Recognizing this helps you to be more flexible.
For instance, there is often a strong push from customers to use the same internal processes with external partners even though there can be some serious issues. Using the customer’s perimeter network domain (DMZ-demilitarized zone) by Telco vendor, for instance, is out of the comfort zone of the customer’s IT security team. There are fixes using indutry based security best practices around privacy, hardening, virtualization, but they often don’t mesh with the customer’s organization structure. Certificate/Trust management activities get wider scope because of Trusted Root Certificate Issuer integration and other CI/CD-related Public Key Infrastructure (PKI) demands. Yes, this slows down projects – again, be flexible!
Old habits die hard. Many customers already have clearly defined CI/CD workflow process notification requirements, but no clear new software introduction approval process requirements. This process usually gets worked out during the CI/CD implementation project, which takes time and slows down delivery. Be patient, you’ll get there!
Being adaptable is always an asset in any relationship. For instance:
- Comparison of target release bundles and reference release bundles will require some customization in the pipeline workflow process
- The staging/testing network may be split into several security domains with test orchestration workloads in one domain, and SUTs (system under test), in another. This requires complex routing and networking between the CI/CD components and the SUT.
Build your relationship on strong foundations
Having the right know-how is the starting point of any good relationship. Nokia was the inventor of Robot Framework in 2000. It is the source code for most Nokia-delivered test cases. Our extensive experience using and even adopting it for our customer’s needs, even when they have their own robot framework test, gives a reliable basis to build on.
Balancing reliability and openness
Finding the right balance on what to adopt and where to adapt is a key success factor for any long-term engagement. Nokia CI/CD is an end-to-end pre-integrated solution that gives flexibility to our customers to be adopted entirely or to be adapted to their unique environment in a modular fashion.
Nokia Continuous Delivery (NCD) solution overview
This is how good marriages are built …
I have found that the best consultations with our customers follow these basic rules. This is one of the benefits of engaging with Nokia on the transition to CI/CD. We know how to be good partners and we have experience doing this. As with any good relationship, respect, flexibility and patience will ensure that your CI/CD deployment will realize your goals.