It has been a while since I wrote my thoughts about DevOps. Well, this time it is not just my realization but the reality of it.
I started to focus my career towards continuous improvement of developing applications. I have migrated from Asia to Europe not just to see the other side of the world but to meet other brilliant people that has the same passion as mine.
As I progressed, I have learned different technologies and techniques such as Cloud computing, Containerization, Clustering, Service Meshing, Infrastructure As Code, GitOps, Key-Value Management, Microservices, Domain-Driven Design, Test-Driven Design, Event-Driven Design, Continuous Integration/Continuous Delivery/Deployment that I have only read before. These technologies are the main tools that comprise next-level application today. Hence, learning the tools like Docker, Kubernetes, Istio, Vault, Terraform, Helm, Kustomize, and more was overwhelming.
But DevOps is not just about the tools that you need to use to productionize your application. Well, in my own opinion, it is about having a culture within the organization regardless whether it is small or huge team that sets up a happy environment where everybody is able to continuously improve and deploy their work with confidence anytime of the day. That said, there are work to be done like adding automation to conduct pre and post checks of your code; build artefacts with meaningful versions; having an opinionated development environment as your Swiss army knife tool; templates for proper documentation and version control; predictable code reviews; monitoring, logging, and alerting; securing and protecting your data; and last but not the least is to keep people happy and having fun.
There are still plenty of time to achieve my goal as an aspiring DevOps engineer. Well, maybe, I’ll not be able to reach it because it is a journey that has no end. I will just continuously become better and wise on choosing the right tools and making purposeful decision.