Application management provides tremendous benefits by improving the productivity of application users and lines of business.
Wayne Morris, VP, Corporate Marketing, BMC Software, Inc.
Application management has become one of the critical challenges for all large IT organizations today since it is where IT groups often have the most visibility with their business clients.
Theo Forbath, Global VP, Digital Transformation at Cognizant Technology Solutions
Introduction
In many organizations, applications that were developed 20 or 30 years ago are still in use, and the most recently developed applications can be expected to have a similar longevity. To ensure high performance and productivity, these applications and their related data structures must be systematically monitored, enhanced, renewed, and retired. The question is, āHow do we best manage applications in the complex world of mobile and cloud computing?ā
In the following pages, we provide the answer to this question through an enlightening discussion focused on the various aspects of application management and its evolving role in mobile and cloud systems. To achieve this, we take a brief look at application management in traditional standalone systems as a necessary starting point, followed by a systematic discussion of the ways in which application management processes, techniques, tools, and standards have changed to successfully manage todayās complex application environment. In those chapters where it is appropriate, a list of vendors who offer products in the topic space is provided at the end of each chapter.
Chapter 2āEvolution of Application Management
Application management is closely coupled to the technologies of application software and the associated networks, systems, and databases. As such, application management is always constrained and at the same time driven by those technologies. It is important to understand the development and evolution of application management in order to help the reader better understand and give context to modern application management.
Chapter 2 explains the process through which the management of modern applications, though built on innovations of the past, was revolutionized since the beginning of the 21st century. It also discusses how and why the complexity of the management challenge increased tremendously as applications became componentized and virtualized with the introduction of mobile and cloud computing.
Chapter 3āManaging Traditional Applications
The primary functions of application management are Fault, Configuration, Accounting, Performance, and Security. Key roles for application management are frontline staff (e.g., system administrator, help desk technician, service desk analyst, etc.), applications specialists (e.g., Tier II or Tier III support, etc.), and application developers. The key objectives of application management are to ensure that applications are available to users and deliver an acceptable level of performance, in accordance with a service-level agreement.
Chapter 3 focuses on how traditional applications created 10ā20 years ago were managed. We use this as our starting point to embark on the application management journey since it is a simpler environment than is found with more modern applications, and consequently the role of application management was much less complex than it is in todayās distributed environment.
Chapter 4āManaging Applications in the Cloud
Cloud computing is a key enabler of the distributed information technology (IT) environment. The use of public and private cloud environments by organizations around the globe continues to grow at a rapid pace and shows no signs of abating in the near future, and the financial benefits of cloud computing will continue to drive its adoption. However, cloud computing brings unique challenges for managing the applications that run in those environments. Chapter 4 discusses the multifaceted nature of application management in cloud environments. It also addresses the user and service provider dimensions that exist in each of the public cloud environments, along with the different capabilities and responsibilities in each instance. In addition, it presents a discussion of IaaS and private cloud environments, the responsibilities of the customerās IT department for active management of the applications, and their power to install the appropriate tools as needed.
Chapter 5āManaging Virtualized Systems
A key concept in the distributed environment is virtualization, which can be viewed as a logical abstraction of a physical system that allows multiple physical systems to appear as a single logical system, or as a single physical system that is partitioned to appear as multiple independent logical systems. Chapter 5 addresses the various forms of virtualization, including virtualized desktops, virtualized applications, virtual appliances, network virtualization, storage virtualization, and service virtualization. It will also discuss how virtualization is evolving as an innovative concept designed to enable organizations to gain better control over their IT resources, reduce network equipment costs, and reduce power and space requirements. Also addressed are the benefits and challenges of managing virtual machines.
Chapter 6āManaging Mobile Computing
Hardware also enabled the distributed environment. Laptop computers, tablets, and smartphones dramatically changed the ways in which people work, interact with each other, and even how they think. It is not just the mobile devices themselves, but those devices together with the applications that run on them and (usually) network connectivity that provide access to additional application functionality and additional data. Chapter 6 addresses the new set of management challenges that mobile applications bring to application management, particularly in the realm of security. Also addressed is how the role of ābring your own deviceā (BYOD) simultaneously complicated and simplified the challenges of management mobile applications. BYOD made managing mobile applications more complicated because of the diversity of devices on which applications may run and, alternatively, how BYOD simplified the management challenges since most of the responsibility for managing performance and availability of mobile applications shifted to the user of the device.
Chapter 7āManaging Web-Based Applications
Internally hosted, cloud-hosted, or software as a service web-based applications compose a significant and growing majority of todayās business applications and are transforming the ways in which enterprise-class applications are built, deployed, consumed, and managed. There are differing opinions as to whether web applications are easier to develop and require less management than traditional desktop applications. Regardless of the position taken on this debate, most people would agree it is impossible for any organization to prosper without implementing, executing, monitoring, and ultimately retiring dozens of web applications across many different platforms. The challenge is to determine the best way to achieve these goals while expending minimum effort, time, and money to manage them throughout their lifecycle. Chapter 7 discusses the management of web-based applications throughout the system development lifecycle with a particular emphasis on skills, concepts, principles, and challenges related to their development, maintenance, and operations. Finally, protection of corporate and customer data in a web-based environment is discussed, and a set of web application security management principles are recommended.
Chapter 8āApplication Management Security
Applications are at the heart of an organizationās security. If compromised, they can become an avenue to exploiting or destroying valuable organizational assets. The initial development of an application is where critical decisions must be made. Correct decisions then lead to the creation of much more secure applications and less vulnerability for organizational assets.
Chapter 8 explores the need to secure those applications and how to achieve this objective. Topics covered include the need to secure applications and how to accomplish that, and Chapter 8 describes steps that can be taken to prevent problems from arising or minimize the impact if they do arise. In addition, Chapter 8 identifies 25 of the worst application coding errors that can create vulnerabilities and describes steps that can be taken to prevent problems from arising and/or minimizing their impact. Finally, protection of corporate and customer data in a web-based environment is discussed, and a set of web application security management principles are explained.
Chapter 9āDistributed, Tiered, and Componentized Application Architectures
The definition of āapplicationā is exceedingly broad, defined differently in many different contexts. Often, the only things āapplicationsā have in common are the fact that they are created from code and designed to perform a discrete task or set of tasks.
For example, in the network management space, file transfer protocol (FTP) is considered to be an āapplication.ā In the desktop space, Microsoft Word and Virtual Private Network (VPN) software are considered to be āapplications.ā On a mobile device, an application could be either a tiny native āappā running on the device or a traditional web application running on a mobile browser. A mobile āappā and a massive enterprise resource planning (ERP) system consisting of hundreds of modules and thousands of functions are both examples of āapplications.ā
This diversity can be extremely confusing to potential application performance management (APM) buyers. It can be time-consuming to navigate the sea of potential vendors and solutions in search of the one single product that best meets the buyerās needs.
Chapter 9 discusses the management challenges inherent in complex distributed and componentized application architectures. Tiered/distributed applications, services built over service-oriented architectures (SOA), hybrid ...