Enterprises are way more demanding of their websites than entrepreneurs. That’s due to several reasons. But before we touch upon those, let’s find out what enterprises are.
Heard of Microsoft, Google, Dell, Amazon? These are large enterprises whose websites have to shoulder the responsibility of millions of visitors and customers. They could just be comparing products, downloading software, reading up the knowledge-base articles or be there for tech-support.
Websites like these are mission-critical to the company’s business. Not only that, millions of customers and businesses rely on them to run their own business. Remember the last time Google went down?
Due to the mission-critical nature of these websites, enterprises go to lengths (which may sound excessive) to ensure stability, performance, scalability, security and other core aspects that make these websites what they are. While the list is long, primarily it is about the following at the foundational level.
Security is one of the prime concerns for enterprises. Security is not only about avoiding a downtime but also the spread of security threats in the internal as well as external infrastructure. Also it is not only an external threat but security issues raise from the internal sources too. On the LAN which is typically a complex ecosystem the presence of malware and other security threats is a complex dynamic phenomenon round the clock. It can be from infected systems due to employee unawareness and many such sources. Internal infrastructure is monitored round the clock for threats emanating from rogue systems in the LAN and elsewhere.
Typically public facing websites can also be the source of infection. Thus they are hosted on a DMZ subnet zone. Around the world hackers are always trying to penetrate systems for nefarious purposes. It is thus critical to maintain foolproof security systems to thwart such attempts. Even then it’s a cat and mouse game and just a matter of time before a side on-ups the other. There’s no such thing as foolproof security; rather it’s about monitoring, identifying and assessing the security attacks and their impact.
Stability of a website is a function of many elements such as security, up-to-date software, availability of resources and ensured availability, uptime to keep the website operational over time. Factors such as a sudden splurge of traffic (real or fake) come into play wherein scalability and the promptness and readiness of the infrastructure determine the outcome. Stability of a website is affected by system errors, quality of code, infrastructure issues, malicious attacks, and server load.
3. Long-Term Support
Long term support essentially determines manageability and feasibility of deploying a website solution in the long term. Support is not only considered from the website framework vendor but also the supportability internally. It is important to consider how much resources, human-intervention is required to support a particular system. For enterprise websites, it’s critical to build the foundation on a framework with long-term-support or to build the framework from the ground-up internally which can be supported in the long term. Many enterprises have fallen prey to the assumption that their proprietary base architecture is sustainable in the long-term. The primary challenge is not only to hire engineers who can code such a platform but also to document the system well so that support is not resource dependent. Although there’s nothing like the-world-coming-to-an-end-when-an-employee-leaves, painstaking care and effort has to be made to document the architecture and support of such a system.
However proprietary and open-source solutions from third-party vendors have come up which are apt at enterprise requirements. From CRMs to CMSes there’s always a system that would suit the requirements of the enterprises and the vendors are more than happy to customize, deploy and support such web-frameworks.
Interoperability determines if the website framework is suitable at all for deploying under the complex internal (and to quite an extent external) infrastructure and environment. How will it integrate with existing business systems internally and externally. Enterprise websites typically have to integrate with complex internal infrastructure and middleware to serve their function. This could be as simple as integrating the help-desk infrastructure, MIS reporting etc. to integration of a support portal, knowledge-base and tech-support portal. How much of customization is possible, how much of it is required to achieve the desired level of interoperability determines if the website framework is suited for deployment in such a use-case scenario.
Interoperability is the ability of a website or multiple websites and web-services to function by communicating and exchanging information with other external and internal web-services. An interoperable website makes it easier to exchange and reuse information and services internally as well as externally.
Extensibility determines interoperability as well as extension to the core functionality. Every organization has unique requirements. And in order to achieve that function it is important for the web-framework to be customizable and extensible. How much middleware needs to be made available for systems to be interoperable? And how much customization is required for the website to make it ready and deploy in the production environment? Too much customization and middleware also raise the cost of supporting such a framework over a period of time. However, given that there’s no one system that fits all, suitable tradeoffs have to be made while considering the website platform.
Performance of a website system is determined basically by the demand, supply and interruption. Here the demand is traffic, the supply is the infrastructure resources and interruption being security issues, system errors, technical accidents and other routine activities that happen all the time and are a cause of disruption.
But performance could mean anything. And for enterprise websites it translates not only into speed of service but also it’s effectiveness in addressing the website’s goals and function. This is essentially:
- Performance at a technical level: Speed, availability, etc.
- Performance at the strategic level: User-experience, conversion etc.
Thus enterprises have internal teams responsible for testing and updating the websites as well as to architect user-interfaces, user-experiences and to continually improve the systems based on data and best-practices.
Further to the demand-supply dynamics of website infrastructures comes scalability which plays a key role in ensuring the availability of the website. For all purposes and intents of this article I’m not going to differentiate between scalability and redundancy. Though it would be prudent to mention that scalability is about increasing or reducing the infrastructure resources as the load demands and redundancy is about fallback when one of the system goes down to avoid a complete failure of function.
Working in the profile of a systems engineer in my previous organization, I have had a first-hand experience of grid-computing and grid-storage. This was before the term “cloud services” was coined. Enterprises in those days had to innovate and employ such systems internally to maximize utilization of resources and avoid wastage. However today it’s much practical for enterprises to outsource requirements for IT infrastructure to third-party offerings like Amazon Cloud Services.
With the cloud technology in place, the resources are infinite, scalability largely isn’t an issue and systems can scale up and down almost real time with automation in place.
There are several other aspects when considering websites for enterprises. The purpose, availability of resources, priorities of various determining factors and a lot of red-tape (don’t be embarrassed) decide the outcome. Options are considered to balance out between various aspects — is performance a higher priority than long-term support? And then comes the budget allocated for such an exercise which has to go through several levels of approvals and paperwork etc.
It would be politically incorrect to say that much of this is determined by key influencers — the marketers and evangelists while the architects take a backseat and the higher level management is in charge of approving a decision based on the inputs of various technical heads. Nonetheless enterprise websites and their functional requirements are poles apart from what you’d expect from a regular website with security, availability, performance and long-term sustainability being the key determining factors.