It's a DevOps world for ambitious merchants running on Magento.
DevOps (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals... while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably.
This is part one of a three-part series on the emergence and role of DevOps in Magento eCommerce.
Heart of the matter
In its most basic form, DevOps for Magento is the consolidation of development and hosting into one entity. It's natural evolution in the pursuit to improve whole store performance — from front-end to back-end. The historical landscape for Magento eCommerce at the small and mid-size merchant level ($1m-$20m) is not DevOps. Agencies do development. Hosting companies do the operations. While the two parties may share referral-style relationships, they do not function as a DevOps pair. They are self-guided without shared principles and workflows.
DevOps for Magento is a culture to manage Magento, its components and dependencies, holistically. From a practical standpoint, this is usually embodied when single parties assume a "whole stack" responsibility for the programming of a Magento store and its underlying systems. DevOps is the recognition that the complexities of Magento are too difficult to manage in piecemeal fashion by multiple parties with disparate interests.
Amazon Web Services
AWS is a big factor. It's the canvas for DevOps. It's what enables Magento consultancies like ours to evolve into virtual hosting entities with the ability to assume responsibility for configuring, tuning and managing servers and server software. Why would we care to do that? Foremost, because anyone with good sense about modern Web services knows the performance of an application such as Magento depends on the programming of the application, itself, and the relationship it has with underlying systems and server software. Put simply, to wring performance out of an application, you have to be worldly with the whole stack. You have to work over systems and server software. AWS brings to the table a model that makes this all substantially more feasible and accessible to consultancies.
Why optimized hosting doesn't always work
Traditional hosting companies have stepped up their game with "optimized Magento hosting" in recent years. It's been an improvement. Unfortunately, it can still fall short because whatever they're touting was never benchmarked against what ambitious merchants are running. Optimized Magento hosting is spec'd against clean, pristine Magento installations. This is not the typical Magento store representing an amalgamation of Magento with other programmings, customizations and services. What's needed are optimizations for individual stores, but that's too difficult for hosting companies with fixed-fee, managed services models. Sometimes, optimization means rebuilding or at least refactoring parts of a Magento store, and that's no where near the turf of hosting companies.
We are DevOps because we have to be. There is no out of scope for consultancies, anymore. If you build and/or support Magento stores, you are responsible for making those stores run fast. There is a lot of complexity to performance with any sophisticated Web application, but there are avenues to exacting that performance. AWS, being one. The requisite, though, is being able to dig deep into application and systems realms to understand how interconnected it all is. This is DevOps, and DevOps for Magento, in a nutshell.