1. Anticipating the Next Big Hill in CI/CD
The first cloud native strategy has to do with anticipating and preparing for the next CI/CD challenge. Many traditional CI/CD solutions or approaches were developed with traditional or legacy application architectures in mind, and many of those approaches may be well suited for a monolithic application deployment, but may not be well suited for Kubernetes or Cloud Native environments. What hills are approaching in cloud native CI/CD, and how can we be prepared?
2. Application Policy Management
Cloud native strategy number two focuses on building a trusted and secure process. From development to deployment, we need to ensure that all mandates and policies are followed and that no steps in the process introduce new vulnerabilities, and just as importantly, that no steps are skipped. This is particularly true in highly regulated industries such as banking, but with all of the data everyone is storing these days, penalties for a breach, loss in revenue/customer confidence, etc, this really just as important for everyone building and deploying software. What strategies are there for tackling this challenge?
3. Reducing the Human Element (again)
The final cloud native strategy brings us back to the days before any of us were saying “DevOps.” If we go all the way back to the beginning of CI and build automation, eliminating the human error aspect was arguably the biggest win. Speed was an added bonus, and speed really just helped to shift the bottleneck a little more to the right. In cloud native, we are seeing history repeat itself with a lot of manual effort going into Kubernetes deployments. Teams are approaching Kubernetes deployments with Helm, YAML, scripting, etc which all take a high level of manual effort to maintain. What should we be doing to reduce the risk of a manual approach, and how do we ultimately get to a trusted and repeatable process where the promises of speed in Kubernetes are realized?