Conversation with A DevOps/OpsDev Engineer — Part II
I had the opportunity to reconnect with an old friend and a technologist last week. I began asking him a few personal interest and technical questions about our common field or technology because of our shared interest. I found his responses to be incredibly instructive and inspiring, so I decided to share them with you.
Let me introduce him to you all before I share the contents of our chat. Amit Sharma — DevOps Engineer working at group.ONE, Gurugram. Pursuing distance M.Tech in Cybersecurity. During college times, he had broken many Mechanical engineers’ personal laptops by installing Linux distros and later fixed them as well. :P
That’s how he got the idea to start working as a Sysadmin. He is enthusiastic about Linux, security, and Open Source. He enjoys trying out new Linux distributions and is always willing to assist others with their Linux needs. He occasionally contributes to Open Source. Aside from work, he enjoys cycling and is presently experimenting with mobile photography as a new passion. Except for cricket, you can chat to him about anything.
Me: Name the technologies are you working on ?
Amit: I typically focus on enhancing infrastructure and operations using various tools and technologies such as Chef, Kubernetes, Docker, Python, BASH, Prometheus, Grafana, Gitlab-CI, and best security measures.
Me: What is the DevOps definition according to you ?
Amit:DevOps, in my opinion, is a continuous process in which “fail quickly, often fail, recover quickly, and learn from every failure to develop further.” DevOps is a culture in which you bridge a gap between the Development and Operations teams and are comfortable working with both types of teams. Furthermore, I believe that continual improvement is the most important discipline in any DevOps operation. As there are always opportunities for improvement, whether in deployment, debugging, development, or monitoring, etc.
Me: How difficult or easy is it to adopt a DevOps culture ? Give a few examples for Startups, SME and MNCs.
Amit:Adopting a DevOps culture begins with a shift in mentality within the business. DevOps does not begin by just stating, “Let’s do DevOps,” and then diving in with tools. Everyone in the organisation must grasp what DevOps is and what specific business needs it can answer, and most importantly, everyone must be ready to alter the way things have traditionally been done. One approach to start is to define your existing software delivery cycle — the set of operations required to get your products from development to production. Understanding where there are limits, bottlenecks, and wait queues in this delivery process will help you to prioritise which operations to improve.
DevOps is frequently associated with automation in organisations. While automation can assist speed up manual operations, DevOps is mostly about collaboration and communication.
Challenges in delivering on-time releases, incompetence, interrupted communication, and a lack of harmony with end users are among the key reasons for startup failures, in addition to a lack of funds and market value. All of these issues may be addressed with DevOps -
- Continuous monitoring — By tracking the majority of failures and when they arise and lays down a path to prevent their occurrences in the future. Alerting for error instances and potential bugs are one way of achieving that goal.
- Continuous Integration and Continuous Deployment (CI/CD) — With these processes, developers can easily integrate their code at its current state into a shared repository multiple times in a day. This helps them address any issues before the next phase of development. Continuously deployment allows code deployments into production automatically after successful testing. This way, customers get uninterrupted access and get the latest software available.
- Improved collaboration — With the increased collaboration, there is a better understanding among teams. For example, the Operations team knows about the state of the Development part and vice versa. Increased collaboration logically ties teams together.
The road is the same for SMEs and MNCs, but it involves more investigation in the existing stage, as well as iterating and enhancing each process. Overcoming previous processes can be tough; thus, it should be begun with smaller team sizes initially to resolve bottlenecks and issues before being adopted for bigger team sizes.
Me: What’s the future — DevOps, DevSecOps or NoOps ? Elaborate it.
Amit: DevSecOps and NoOps, in my opinion, are extensions of DevOps that add more layers to enhance things along the way. Many elements are shared by all three, such as collaborative culture, automation, continuous monitoring, and the ability to move quickly.
DevSecOps grew out of DevOps as development teams realised that the DevOps approach did not sufficiently handle security concerns. It highlights the need of developers writing secure code and seeks to overcome the security challenges that DevOps does not address.
The goal of NoOps is to establish a method in which there is no need to combine the development and operation parts to make things function.
A NoOps technique is basically as follows: the developer submits the code to the repository, and everything is deployed. It may appear to be constant supply, but it is more. When it comes to deployment, we examine not just the application but also the infrastructure. Its goal is to automate software development to the point that an operations team is no longer required to manage it.
All cloud providers have streamlined this technique by offering PaaS and other platforms that allow developers to focus solely on development.
So DevOps methodologies will continue to evolve with new titles, such as FinOps, but the underlying goal will remain the same.
Me: What’s the importance of Automation in DevOps culture ?
Amit: Automation is the inclusion of mechanisms that perform jobs with less human help to processes that facilitate feedback loops between operations and development teams, allowing iterative improvements to be sent to production systems faster. It should not be restricted to a single tool, technology, or programming language. We can use tools that are appropriate for the task at hand.
Me: What’s your opinion on Open source tools Vs Cloud provided Managed services for DevOps ?
Amit: Open source tools and cloud-based managed services are both critical. It is determined by the organisation, taking into account factors like as cost, maintenance, data sensitivity, and so on.
Open source technologies are being used to build certain managed cloud systems. Kubernetes is a fantastic illustration of this, since many firms are already delivering Kubernetes as a service with simple, efficient, and easy-to-use use cases. Some major companies prefer to create their own platform so that it may be optimised and maintained to fit their specific requirements.
Please feel free to write at email@example.com for any queries and stay tuned for future talk with outstanding technology experts.