Application delivery is the process of bringing an application (typically a web application) to end users while the application’s data processing and computing is executed inside a datacenter or cloud environment. It may also be referred to as application delivery as a service. This enables a great user experience for remote workers by providing access to application functionality without requiring it to be installed on each user’s local desktop or server. Application delivery helps ensure both remote and in-office workers have secure anywhere access to the web and cloud apps they need to be productive.
An essential element of application delivery is the application delivery controller (ADC). ADCs are purpose-built network appliances that improve the security, performance, and reliability of applications delivered via the web. As demand increases for older load balancing appliances to handle more complex application delivery requirements, modern ADCs help legacy applications adapt to the networks and protocols in place today. This ensures all apps perform optimally and securely, and are always available.
An application delivery platform is a suite of tools that make it easier to deliver applications reliably and securely to end users. The tools in an application delivery platform handle application services such as traffic management in datacenters and cloud environments, load balancing, and security controls. A strong application delivery platform is important to ensuring remote and in-office workers have anywhere access to the web and cloud apps they need to be productive—all while ensuring high performance, availability, and security.
Application delivery controller (ADC)
An application delivery controller employs algorithms and policies to determine load balancing, or how inbound application traffic should be distributed. The most basic form of traffic management is round robin, which forwards client requests to each server in the order the requests are submitted. This method assumes all application servers are identical without considering account health or responsiveness. More sophisticated traffic management can implement additional policies that direct the ADC to check certain criteria before sending an inbound request to an application server. Modern application delivery controllers can inspect packet headers for keywords or requested file types and direct the request to the appropriate server based on this information.
Load balancing is the efficient distribution of application traffic across multiple servers. Load balancers work by monitoring the health of backend resources and only sending traffic to servers that are capable of fulfilling the application request. This traffic management is important to application delivery because it works inside an ADC to broadly improve the performance of web and microservices-based apps—no matter where they’re hosted. Load balancing helps distribute traffic across a cluster of servers to optimize utilization, improve responsiveness, and increase availability.
Application delivery management (ADM)
Application delivery management refers to technology that provides holistic visibility into how applications are delivered across multi-cloud environments. Because many enterprises rely on multiple cloud and on-premises environments, gaining useful insight into how applications are deploying and functioning can be challenging. A strong application delivery management solution makes it simpler for IT to monitor delivery everywhere—streamlining operations, speeding up the troubleshooting process, and improving security.
Application delivery network (ADN)
An application delivery network refers to services deployed via a network that help ensure high availability, security, and visibility for web applications. ADNs work by speeding up datacenter load times and increasing IT visibility across the application delivery process. An ADN is closely related in design and purpose to a content delivery network (CDN); the primary difference is that CDNs speed the delivery of static content (like high-res images) and ADNs accelerate dynamic content (like web apps).
Cost savings and efficiency: One benefit of modern application delivery is the improved efficiency of enabling anywhere access to business apps via the web instead of relying on locally installed applications for each user’s device. This is because delivering web apps to users as needed is more cost-effective than buying licenses for each user’s device. In addition, as more users access web apps on mobile devices and in the cloud, modern application delivery empowers these mobile workers to be productive anywhere rather than requiring them to work inside an office’s local area network (LAN). When an organization’s application delivery offers a great web app experience everywhere, that organization spends less on customer support, hardware, and upkeep.
Improved productivity: For employees to do their best work, they need high performance and availability from their web and cloud applications. Modern application delivery makes this possible by ensuring a seamless application experience. So even when an application server fails, a good application delivery solution will automatically failover the in-use application to a healthy server without the end user noticing the difference.
Better mobile performance: Modern application delivery also offers application performance benefits across mobile networks. Web pages built for high-speed internet links can fail to deliver the same user experience on mobile devices connecting over a bandwidth-constrained network. Modern application delivery controllers can address this by optimizing web content delivery over mobile networks using domain sharding. This involves connection-layer optimization being applied to one domain, and then breaking down content on each page into a sequence of subdomains that permit a larger number of channels to be opened simultaneously. This improves page load time and performance. It is also possible to optimize delivery of web pages that contain large images by compressing these files. This reduces download times to improve the end user experience.
Stronger user security: As increased mobility and more diverse cloud environments enlarge an organization’s attack surface, modern application delivery can play an important role in security. Because application delivery controllers authenticate each user attempting to access an application, they are a common entry point or gateway to an organization’s network. If an application is SaaS-based, the ADC can validate a user’s identity using an on-premises active directory data store. This eliminates the need to store credentials in the cloud, improving security and enhancing the user experience by providing single sign-on (SSO) capabilities across multiple applications. Other common security features in an application delivery solution include a web application firewall, converged load balancing, and advanced Layer 7 protection.
When choosing an application delivery solution, organizations should focus on:
A single code base: Many organizations have a multi-cloud strategy in place and rely on cloud services like Microsoft Azure and Amazon Web Services (AWS) for their applications. This can lead to application components being distributed across different cloud environments, leading to fragmentation and other application management challenges. With this in mind, it’s important to adopt an application delivery solution with a single code base across all ADCs. With a single code base across your ADC portfolio, you can ensure operational consistency for monolithic and microservices-based applications across multi-cloud. This gives you greater agility and speed in your application strategy.
Global server load balancing: Load balancing is a critical service in any high-traffic datacenter, but your application delivery controller should also be able to redirect traffic to a cluster of servers located in a different datacenter. This is known as global server load balancing. The servers in the other datacenter can be front-ended by another ADC, which works in tandem with the first appliance. Each application delivery controller can detect which datacenter is closest to a given user, and then route the client request to a server in that datacenter. This process minimizes latency and round-trip times for the user’s request, ensuring a better application experience.
Sophisticated security: With so many reported vulnerabilities coming from an organization’s applications (not networks), it’s important to choose an application delivery solution that can protect applications and APIs from known and zero-day attacks. Look for ADCs that include an integrated web application firewall, bot management, and volumetric distributed denial of service (DDoS) protection. It’s also important your application delivery solution provides good price-per-performance for SSL. This works by terminating SSL and TLS first and then service chaining, simplifying your SSL and TLS termination by only doing it once instead of encrypting all traffic individually.
Always-on application availability: Many employees are no longer forced to use company-owned equipment inside an office to get their work done. They often use personal devices to work whenever and wherever they choose. To support employees working at any time, IT departments must ensure workplace servers and applications are always available. However, servers can fail for many reasons such as mechanical problems, over-utilization, and security breaches. If a server goes down, applications running on it will become unusable or inaccessible. This makes it important for your ADCs to ensure high application availability by balancing application workloads across a cluster of active servers in multiple sites. This enables seamless failover of applications, translating to an uninterrupted user experience even if an application server goes down.
NetScaler offers the industry’s most comprehensive application delivery solution for monolithic and microservices-based applications, making it easy for organizations to deliver a better user experience. It can be deployed on-premises or through application delivery as a service.