DevOps Renaissance Man Offers Sage Advice from the Frontlines
Clement Chang knows how to hold court. He speaks eloquently and moves fluidly from topic to topic, ranging from technology to psychology to global politics. With sector interests that include web 3.0, precision medicine, and AI, Clement eventually settled on a career in the mysterious realm of DevOps.
What follows is a highly classified interview with Clement Chang - DevOps Elite.
Question: What development tools do you use from a DevOps perspective?
Clement Chang: The main ones are Jenkins, Visual Studio, ELK stack, which makes monitoring easy, GO, and lots of Unix and Python. There is no way I can deal with many problems that fast without Python.
Question: What is your secret DevOps weapon?
Always blame IT if you can't find the problem. But seriously, my secret weapon is thinking of solutions at a high level; seeing the big picture allows you to propose solutions that systematically work in the long run. Also, building trust with developers is everything, so sticking to the SLA is essential. Try to get that met no matter the cost.
Question: What's the most exciting thing about cloud development?
Cloud offers the most advantage in the DevOps space. Cloud development levels the playing field for a lot of companies. Companies that would not have the resources to maintain a promising DevOps pipeline now have access to the said pipeline. Cloud allows companies to offload some less critical tasks, so it doesn't clog up internal resources (solving the scalability issue). Also, they can earn some extra money by offering their internal cloud to the public during downtime. Financially, it is a brilliant solution to many problems in the DevOps space.
Question: What challenges does every cloud developer face?
The hardware and software that we rely on daily are built by people and are thus not infallible. For DevOps, the most challenging part is finding those issues and fixing them promptly. Failures of internal tools, dependencies, UI, or physical hardware can lead to system failures. There are many potential points of failure with a large (and increasing) quantity of components in the average DevOps stack. That makes pinpointing the problem difficult and time-consuming. You also have to factor in resource restrictions, scalability issues, and company policies that limit the number of solutions we can have. So the job is not as easy as it seems.
Question: Is code migration from local developments to production environments a common issue?
Yes, things that can go wrong often will go wrong. If not tightly managed, misconfigurations in virtual environments can lead to deployment problems and security defects. For this reason, container technology is so critical to the DevOps space.
Question: What has been one of the more formidable challenges you've faced in your career?
My project calls for creating a script that checks for problems the devs can make before it reaches the time-consuming build/check-in/testing process. Coming up with all the ways developers can screw up (it does happen in unexpected ways) takes a lot of creativity and brain cells; it feels like I am building a compiler. It took me a few months and a bunch of testing to complete.
I heard from the senior devs team that they once had a file I/O problem on the disks that caused many issues. The disks had so much I/O that they crashed. Note that these are car-priced disks built for high I/O. I had to work with the disk vendor to solve the problem and reorganize the workflow.
Question: As a DevOps specialist, how important is it to have a development environment closely mirror the production environment?
The mirroring of dev and prod environments is critical. Humans build code and hardware, and if humans make it, it will go wrong sometime/somewhere. Emulating the production environment reduces the possibility that things will go wrong. It certainly reduces the risk that devs will get a panicked call at midnight.
If you're a cloud developer/pro with a cool success story to tell, I'd love to interview you. Please contact me at email@example.com