Two years ago, I started to work on DevOps solutions. First I had to learn many relevant new concepts and technologies, like infrastructure as code, continuous delivery pipeline, infrastructure as a service, platform as a service, software-defined environment and so on. As I started to practice these new things in my daily work, and share and discuss new thoughts with my teams and customers, unexpectedly the most interesting thing happened: those DevOps principles started to provide some practical and effective guidance to my real life. In this blog post I’ll tell you how, and maybe you will find these principles useful too.
In DevOps, automation can speed up the whole software delivery and customer feedback process as well as reduce the cost of those error-prone, slow manual processes.
Suddenly I figured out that in real life as well, it’s those good, automated habits that make us better. Transformation happens subconsciously, without any intervention. Once I understood this I started to intentionally nurture certain good habits in my life, like reading 30 or more books per year. You can imagine what big growth I get from that, right?
Version control everything
In software development, we create artifacts like source code files, user manuals, binary packages, test cases and so on, and version controlling everything builds a strong base for speed, auditing, rollback, defect recurrence and lifecycle management.
Likewise, in life we write blogs or microblogs, take pictures, slides, books, diaries, videos and so on. So I started to store and manage those life artifacts in a timely way, and then through on-demand review and thinking about them, I got more mental and spiritual improvement. The reality is that I have written 142 microblogs and gained 1,000+ followers on http
Continuously test everything
Before deploying software into a production environment, a series of validations should be executed and valuable feedback collected for continuous improvement.
In that sense, before delivering anything to the public—whether it is to a university, customers or social websites—I try to check the content by way of concept clarity, end-to-end story, internal rehearsal first and so forth, and then get feedback, even the controversial viewpoints. This definitely deepens my understanding of the topic and effectively improves quality through optimization.
Commit frequently, or shift left
Through automating, version controlling, testing and making frequent commits, defects or errors can be discovered as early as possible to reduce the delivery risk and increase velocity of innovation. That kind of lean philosophy dominates our era, in which changes are ubiquitous. Consequently, I started to apply this DevOps principle into my important new challenges and thoughts.
It’s well known that there can be a gap between Dev and Ops. What about in real life? We may regard study and work as the development phase in our life, but what is the operations side? The Ops side really relates to what we want to deliver or what the product is in our life. In my point of view, I want to evolve my spiritual form to higher level than I was born. What is your Ops side? And how do you fill in the gaps in your life?