DOTMAGAZINE: What are the most important infrastructure requirements for e-commerce?
THOMAS FISHER: Today’s e-commerce requires flexibility and short feature lead times. This means that the infrastructure must provide the possibility to cope with changing requirements and short release cycles.
A modern infrastructure should therefore allow for API (application program interface) access to provision and change network, storage and computational resources. Cloud platforms in their different shapes, ranging from dedicated private clouds to the major public clouds, provide this kind of programmable access. Based on such infrastructure, a continuous delivery based release management that automates all steps required during a release process allows the business to eliminate or at least reduce the pain of each release. The key buzzwords in this context are “Infrastructure as Code” – all configuration is managed like source code using tools like Puppet, Ansible or Salt and “Immutable Infrastructure” – deployment units; often containers that are immutable and a change leads to a redeployment, rather than a change of the system. Such an infrastructure supports Agile and DevOps processes and can cope with the ever-changing requirements of modern e-commerce.
DOT: How do the infrastructure requirements differ for different aspects of e-commerce – for example, website, web shop, customer relationship, logistics, and payment systems?
FISCHER: The different infrastructure requirements are mainly driven by the software employed. And the readiness of currently available software for modern fast-paced infrastructure designs ranges from “old-school” deployments, where systems must be treated as unique “snowflakes” with only rudimentary failover mechanisms, up to cluster architectures with production-ready containers.
The key for a future-ready infrastructure is to keep operability and “cloud readiness” in mind when decisions about certain software products are made. You should always have failure scenarios – and how the software can cope with such scenarios – in mind. In a “cloud world”, compute nodes will fail – and with short release cycles, the software should be responsible for any failure mitigations.
One of the challenges in such architectures is security and data location. Both challenges can be addressed with a hybrid strategy, keeping critical data and core applications in a secure dedicated cloud platform, while MVPs (Minimal Viable Products – anything from a mobile app to a fully-fledged customer interface) and satellite applications like customer interfaces can be hosted in a public cloud.
DOT: Can you describe the basic IT infrastructure set-up required for an online shop?
FISCHER: From a cloud-centric view this question is easy: Just subscribe to one cloud platform and use the provided features to build your setup. The components required would be load balancing, firewalling, redundant application servers, and one or more databases of your choice. But, as I said before, the basic infrastructure set-up depends heavily on the design and requirements of the online shop software. However, it is advisable to keep the application servers stateless in order to easily scale horizontally (in times of high-demand or as the platform grows) and move session state like the shopping cart into an (in memory) database.
DOT: Is geo-redundancy advisable for hosting e-commerce solutions?
FISCHER: The requirement of geo-redundancy depends heavily on the size of the e-commerce solution and the disaster recovery scenarios the platform requires. Geo-redundancy in terms of stretching the setup over different data centers is one way, however, in some scenarios a distribution of the setup over two fire compartments in one data center is totally sufficient. A cloud platform mirrors these two disaster recovery scenarios by providing different regions and availability zones.
DOT: What are your top three tips for companies thinking about starting e-commerce activities?
FISCHER: First, start small and build an e-commerce platform that easily scales with the demands of the platform.
Second, design your e-commerce software for failure of the underlying infrastructure. This allows you to use cloud platforms and reduces the requirements for the infrastructure.
Third, find an infrastructure partner that can accompany you along your way and is able to realize hybrid architectures, if the core components of your e-commerce platform must be dedicated systems. In order to be future-proof, that partner should be able to provide the complete stack, ranging from colocation up to cloud services.
Dr. Thomas Fischer is working as Principal IT Architect for noris network and is a visiting lecturer at the University of Erlangen-Nuremberg. His current interest focuses on digital transformation strategies as well as scalable and energy efficient architectures for cloud environments. He experimented with agile methods at the University of Erlangen-Nuremberg. Additionally, he focused on research for software architectures in the field of distributed high performance middleware. He gained industry experience by designing scalable IT systems and founding a startup for small business IT consulting.
Please note: The opinions expressed in Industry Insights published by dotmagazine are the author’s own and do not reflect the view of the publisher, eco – Association of the Internet Industry.