Application infrastructure includes all of the computational and operational infrastructure and components that are necessary to manage the development, deployment, and management of enterprise applications.
- Application infrastructure supports all of the features, services, and functionality offered by an application.
- Application infrastructure is designed by developers for supporting the unique features, capacity, and demands of a given application.
- Application infrastructure can be developed as an on-premise IT infrastructure, or delivered as cloud-based infrastructure by a third-party public cloud service provider.
There is no general model for application infrastructure design. Rather, the developers of an application design an application infrastructure that is suitable for supporting the unique features, capacity, and demands of the application. Application infrastructure components may include things like servers, data storage, networking, application monitoring, and logging capabilities, and application security services. Application infrastructure can be developed as an on-premise IT infrastructure, or delivered as cloud-based infrastructure by a third-party public cloud service provider.
The application infrastructure that will be needed to support a given application depends on its functionality as well as its architecture. Many developers use a layered application architecture model to define various services within the application and how they interact.
The most common type of layered application architecture includes three tiers of services, with each one typically developed and maintained independently and on separate platforms:
The presentation layer: the topmost layer that users and clients interact with.
Consisting of a GUI through which users can access application services and functionality, the presentation layer of a web-based or cloud-based application may be accessible to customers with an internet connection via a web-based page or portal. This requires infrastructure components, such as web servers and networking equipment, as well as security services that can be used to authenticate user access.
The logic layer of an application: does most of the heavy lifting with user requests.
The logic layer is responsible for coordinating application activities, performing evaluations and calculations, solving problems, and facilitating the transfer of data between the presentation tier and the data tier. The logic layer consists of rules, operational procedures and workflows that help ensure an application works how it is supposed to. The application logic layer may depend on underlying infrastructure like servers that provide the computational power needed to manage requests, especially when they occur at a high volume.
It may be divided into business logic and application logic. Business logic and application logic are the rules that govern how an application will interpret and respond to requests from users. Business logic might include things like, "Do not allow the customer to withdraw more money than they have in their account." Whereas, application logic is the programming rules that govern how an application functions. A piece of application logic might say, "When the user requests to check their account balance, find their account balance in the database and present that information in the GUI."
The data layer of an application: a back-end system that stores all of the important information that the application needs to deliver services to users.
The data layer may include encrypted user data, such as user names, passwords and other authentication details. It may also contain data and files that users may access by querying through the presentation layer. The data layer depends on application infrastructure such as SQL servers that store application data.
Application infrastructure consists of all the components that are needed to deliver an application and its functions and services to the customer. While each application is unique, we can still highlight some of the most common application infrastructure components that are commonly implemented to support application features and service delivery.
Intrusion Detection System (IDS) - IDS systems monitor network traffic for suspicious activity. They can be used to alert application managers and developers when a cyber-attack may be underway against the application, or when a user is attempting to gain unauthorized access to the application.
Web Server - Web-based applications are delivered through a web server that sends HTML and PHP files using the HTTP communication protocol. A web server typically hosts the GUI through which users engage with the application.
Firewalls - Applications are segmented based on user trust levels, ensuring that customers can only access parts of the infrastructure that are meant for them. Firewalls are used to restrict access to unauthorized assets and services, ensuring that users interact with the application exclusively through the web portal and may not access other application infrastructure components.
Application Server - An application server houses the application and business logic that make the application work. The application server is typically hidden behind a firewall such that users can only interact with it through the presentation layer. Application servers provide the computing power necessary to fulfill requests and deliver services that users request through the GUI.
File Storage/SQL Servers - Some applications that store data in files may incorporate a file storage server as part of their application infrastructure. Applications that need to access data in relational tables might use SQL servers to fulfill their database function. In either case, application infrastructure typically includes a database that supplies the information requested by users.
For web-based applications that are deployed in the cloud, many additional components of application infrastructure may be located in the cloud and some may be managed by a third-party cloud service provider. Data assets and servers in the cloud require continuous monitoring for their security posture and operational performance, especially for organizations that operate several cloud-based apps across more than one cloud environment.
With Sumo Logic's cloud-native platform, organizations can aggregate and centralize event logs from applications and their infrastructure components throughout private, public and hybrid cloud environments. With our robust log analysis capabilities powered by artificial intelligence, organizations can turn their machine data into actionable insights that drive security, business, and operational performance.
Complete visibility for DevSecOps
Reduce downtime and move from reactive to proactive monitoring.