I was interviewed some days ago by Cloudirec and I wanted to share the interview with you. You can find the original interview here.
Some companies believe DevOps is broken, rather than solving problems it leads to DevOps problems. Yet, some innovative companies are using core principles of DevOps to leapfrog established businesses of their industry, creating a unique duality in which DevOps adoption is not suppressed by prospective DevOps problems.
Cloudirec: What is the need for DevOps today?
Aymen: DevOps is important for organizations who’d like to deliver value for their customers at a fast pace without choosing between change and stability, between creativity and business continuity.
Most software companies experience this duality of “change vs stability” and DevOps gives the culture, the tools and the processes that help both of these to co-exist.
Today, in our competitive IT industry, DevOps is becoming mainstream and an evidence within serious software companies.
High performing software companies, already implemented DevOps the right way in their culture and processes. Today, all software companies should do the same thing in order to stay competitive and deliver value.
Many companies neglect test automation while focusing on CI/CD deployments, how big a challenge is this when it comes to DevOps success?
“I already tested the app in my machine..I coded this feature, it was simple to do and I am sure it will not have any bugs..I just added few lines of code, I am not sure this will bug the whole software..This test is simple and could be done manually..“.
These are some comments that you always get to hear.
DevOps is about delivering continuously small chunk of software.
In an organization, even if tests are part of software life-cycle, they should be automated.
Why? Simply because when delivering software at a faster pace, developers, testers or QA teams will find themselves with an unceasingly increasing number of tests to perform. If this is not automated, it will take more time to do and the time to market as well as the change lead time will be affected.
In this previous case, non-automated tests will act like a weak link and prevent a DevOps organization from moving ahead and getting the best out of DevOps.
Test automation is critical.
What are the biggest changes an enterprise needs to make while moving towards a DevOps culture?
The DevOps culture requires some practices and a new vision, with a goal of unifying people and departments around those unique goals.
One of this culture characteristics is being customer-oriented: Being focused on customers is the best way to align teams towards the same valuable goals without creating an inter-department war.
In this case, the DevOps success should be measured by a continuous feedback from customers.
There is a good number of big changes but this is, in my opinion, one of them.
Being customer focused and continuously collecting and analyzing customer’s feedback, requires business intelligence and more human factors in a DevOps transformation.
What are the prominent skills an aspiring DevOps professional needs to grow their career?
I wrote some articles that could reply to this question like The Roadmap to Becoming a DevOps Professional — From Server to Serverless, The Must Know Checklist For DevOps & Site Reliability Engineers or DevOps Hiring Explained In 10 Points and the common point between all of these articles is learning about the culture.
A DevOps professional should always start by learning about the culture. All engineers are trained to resolve problems but not in the DevOps way.
In my opinion, two of the hardest challenges for DevOps professionals are being technically multidisciplinary (code, integration, QA, operations, production etc.) and having a business sensibility (measurement, KPIs, MTTR etc.) at the same time.
What do you find most challenging in DevOps transformation?
There are a lot of challenges in a DevOps transformation like automation, provisioning, continuous testing, immutable infrastructure, measurements and continuous feedback.
Imagine a 3-dimensional space with 3 axis: Human, process and tools or simply an equation with the same three variables.
The challenge is in finding the right combination of variables to resolve the equation, alternatively finding the point in a 3d space composed of infinite points.
If the problem was just mathematical, it will be easier to resolve but in an enterprise context, different factors — like the human and the business factors — are constantly changing and this is what makes optimizations difficult.
Fortunately, DevOps gives some solutions to help organizations resolve this kind of equations through rapid experimentation’s and continuous feedback/learning.
We get these questions a lot from our readers “How is DevOps different from Agile / SDLC?” How would you like to define the difference?
Agile (or SDLC) is a set of values and principles for software development. DevOps is extended from software development to operations and the pipeline between.
Agile methods can be used as part of DevOps.
What will be the biggest driver of cloud in the next couple of years?
Cloud adoption is becoming mainstream and it will continuously increase in the next couple of years.
The cloud will be driven by the increasing need of delivering innovative solutions (like orchestration, distributed computing, machine learning, analytics and serverless) at a faster pace and lower costs.
The fact that many companies started adopting multi-cloud and the rise of multi-cloud strategies, will push cloud providers to recognize that multi-cloud environments are the future and will provide technical solutions for this kind of strategies.
In the short to medium-term, companies like Google, Microsoft or IBM will sell quantum computing in the cloud, some steps have been already taken by some of these company toward the commercialization of quantum computing.
Data theft and safety in the cloud is still the biggest concern among cloud adopters and enterprises around the world. How do you think can these concerns be mitigated in the coming years?
There is a misunderstanding here.
The cloud is not less secure, the way you use it and manage it, could be less secure.
Major cloud providers give you the security tools you need (IAM, encryption, private networks, firewalls etc.), it’s up to the companies deploying their applications in the cloud, to make sure of the right usage of these tools.
The fact that the data is stored in servers that you don’t own makes people think that this is an insecure approach, while it’s not always true.
Many of the data theft and safety concerns are irrational. This doesn’t mean that the cloud is 100% secure, EVERYTHING can be hacked. NOTHING is 100% secure.
People welcome every new technology with some security myth and paranoia but with time they realize that most of their fears were unjustified. Look at the fear wave that comes with cryptocurrency adoption for instance or remember the paranoia people had towards online payments in the 90’s.