IT Infrastructure Architecture model
The definition of infrastructure as I defined it in my book is based on the IT systems model as shown below. In this model an IT system is defined as processes that use information, where this information is stored and managed using applications. Applications need application integration to work together and they need infrastructure to run on. All of this is managed by systems management.
An IT system, however, does not only provide functionality to users; functionality is supported by non-functional attributes as well. These non-functional attributes are affected by the configuration of each and every one of the IT system’s components, as shown in the next figure. Although many other non-functional attributes are defined, it is my experience that availability, performance and security are almost always the essential ones in IT infrastructure architectures.
When we zoom in on the applications layer, we can define three types of building blocks, as shown in the next figure. Please note that while the building blocks in this figure are presented as stacked layers, there is no hierarchy in these layers. Client applications are not based on office applications or the other way around. The same goes for the more detailed figures later in this article; including the infrastructure layers.
- Client applications typically run on end user devices (PC’s, laptops, etc.). Typical client applications are web browsers, word processors, and mail clients.
- Office applications provide applications most organizations use. Examples are mail servers, portals, collaboration tools, and instant messaging. Most organizations run these office applications more or less out of the box.
- Business specific applications are applications that are typically highly customized or even custom built. Some examples are Customer Relationship Management (CRM), Enterprise Resource Planning (ERP), Supervisory Control And Data Acquisition (SCADA) systems, and applications that are created for a specific business process (like a call center system).
Most applications need some additional services to enable them to work together. In the next figure these services are shown.
- Front-end servers are typically web servers (like Apache HTTP Server and Microsoft Internet Information Services – IIS) that provide end users with interactions to applications by presenting application screens in web browsers.
- Application servers act as containers running the actual application. Examples are Java or .Net application servers and frameworks (like IBM WebSphere, Apache Tomcat, Windows.Net and Oracle Application Server – OAS).
- Connectivity entails FTP servers, Extraction, Transformation and Load (ETL) servers, and Enterprise Service Buses – ESBs like Microsoft BizTalk, TIBCO ActiveMatrix Service Bus, IBM MQ, and SAP NetWeaver PI.
- Databases – or database management systems (DBMSs) – provide a way to store and retrieve structured data. Examples are Oracle RDBMS, IBM DB2, Microsoft SQL Server and MySQL.
A multi-tier application uses these application services to host components of an application independently of each other (see the figure below).
The next figure visualizes and categorizes the infrastructure building blocks and their non-functional attributes.
The model shows the building blocks that together form the IT infrastructure. These building blocks are:
- End User Devices are the devices used by end users to work with applications, like PCs, laptops, thin clients, mobile devices, and printers.
- Operating systems are collections of programs that manage a computer’s internal workings: its memory, processors, devices, and file system.
- Virtualization acts as an abstraction layer between the operating system and the server hardware. Virtualization enables a single physical machine to run multiple operating systems on virtual machines.
- Storage – The storage building block contains hard disks, tapes, Direct Attached Storage (DAS), Network Attached Storage (NAS), and Storage Area Networks (SANs).
- Networking is a very important building block of any infrastructure, connecting all components. It includes routers, switches, firewalls, WAN (wide area network), LAN, dial-in, Internet access, and VPNs (Virtual Private Network), and (on the network application level) relatively simple services like DNS, DHCP, and time services, necessary for the infrastructure to work.
- Servers are the main physical processing units; computers located in the datacenter.
- Datacenters – Typically IT hardware is located in a datacenter. Datacenters provide (uninterruptible) power supply, cooling, computer racks, and physical security measures.
Please note that – as stated before – these building blocks are not per definition hierarchically related. Servers need both networking and storage, and both are equally important.
In the next figure the building blocks needed for systems management tasks are shown.
- Monitoring continuously inspects all relevant IT components for events like error conditions or signs for (upcoming) failures (like a disk with only little free space left). Monitoring can lead to the generation of alarms to systems managers, who can take action to fix the event leading to the alarm.
- Infrastructure management systems are used to centrally manage the IT components, like starting and stopping applications, performing patching, handling back-ups, and remotely logging in to fix problems.
- Infrastructure services provide additional services to the application landscape, like authentication and authorization (with Active Directory or LDAP), system logging, job scheduling, and batch processing.
- Process management entails the human processes needed to perform systems management. ITIL and COBIT are the two best known frameworks for systems management processes.
This entry was posted on Friday 16 November 2012