Don't underestimate the value of problem solving. Issue management is big for eCommerce merchants running Magento. This is the nature of software management. When you run Microsoft Exchange server, you deal with issues. When you host you're own ERP, it's not all wedding cake. Likewise, when you make the choice to run an eCommerce store with Magento you believe the power and flexibility of operating your own software will outweigh the overhead of managing that software. Invariably in software management, troubleshooting becomes one of the key factors to success.
This is part two of a three-part series on the emergence and role of DevOps in Magento eCommerce.
Need for all hands on deck
The DevOps movement has swelled because modern web applications present challenging problems that require an all hands on deck approach. When developers and systems professionals become active, collaborating participants in trying to resolve problems, you know you have a DevOps culture. Progress happens with a single, unified team.
We're not living in an old-school LAMP era, anymore. There's more supporting software in the mix than ever before with applications such as Magento. This is the optimization movement. What robust Magento store is not running Varnish, Redis, memcached or some in-memory data store to speed things up, for example? But all these supporting applications bring complexities to the table which necessitate problem solving with broader expertise across a larger swath of technologies.
Do your partners really collaborate?
To the heart of the matter, troubleshooting tough problems is more difficult without DevOps. Issue management becomes a problem, in and of itself. Without DevOps, you don't have the benefit of team-oriented problem solving which is inherently better when issues span the application and systems.
Let’s consider this typical issue:
My store seems slow.
A DevOps team will tackle this from any and all angles. It could be the Magento application, supporting software or hardware resources. DevOps is about applying all-round expertise to resolve the problem no matter the cause. But the reality is that issues like performance are usually a multitude of factors across the board, so you can't really effect progress by isolation efforts to one area, anyway.
In a non-DevOps culture, you have disparate parties with their own responsibilities. This can result in more deflection of issue management when things are off-kilter. Developers and hosting companies have their own turf to protect. It’s not uncommon that each will at least initially defer to the other as a potential culprit. It's a polite, passive-aggressive blame game, but it forces customers into the difficult position of having to press diligently on both sides.
"It could be the application, but you may want to have your hosting company look at what’s happening with the server.”
“The server seems to be running out of memory, you should have your developer look at what’s causing that at the application level.”
The question is how far will self-motivated partners such as agencies and managed hosting go to solve a problem when it's uncertain what the root cause is? There’s no single answer to this question, but it's not uncommon for merchants to suffer interminably because the commitment behind the scenes is not as strong as it appears on the surface. Time ticks and issues linger.
Masking problems instead of solving them
When merchants can't shake performance issues, it's not usual for agencies or hosting outfits to pull the "it's time to upgrade" card. It's an easy way out. Throwing more hardware at a store is a convenient way to mask problems and deliver instant gratification. But when you start sweeping issues under the rug through hosting upgrades you're effectively agreeing to pay for the problem month over month. It's not a great deal for merchants even if the alternative would bring more costly reparations to fix core issues.
Solving problems through a DevOps model isn't free, but it can provide a unified team with a stronger commitment to work through issues without prejudices shortchanging that commitment.
Efficiency and cost control
Growing eCommerce merchants are always facing increasing costs. Simply put, you can't grow into Amazon at a fixed fee. What merchants can look to achieve through DevOps is better efficiency, reliability and cost control. These all tie into issue management. You cannot operate an eCommerce store efficiently, reliably and cost-effectively if you struggle to pin down and resolve issues. Good DevOps will do this for you.