Service Oriented Architecture (SOA)

Many organizations are adopting a service oriented architecture (SOA) to support business agility - enabling rapid innovation, enhancing business value and reducing costs. Your lines of business leverage the loose coupling of this architectural style to increase the flexibility of your business systems and enable reuse of application service components to support your business processes. However, managing your operational costs and quality of service in this new environment requires changes to your IT service management systems otherwise, service costs can increase and service quality can decrease. With up to 70 percent of IT budgets devoted to maintenance and operational costs, a failure to adjust service management systems could prove counter to your business expectations of agility and controlled costs.

Infrastructure changes to support an SOA environment SOA is an architectural approach that supports rapid development and deployment of new business services where the infrastructure architecture is:

  • Componentized and standardized by leveraging known patterns that simplify complex configurations through standardized architectural building blocks.
  • Decoupled so that the physical relationships between applications and static hardware in the infrastructure are no longer directly linked.
  • Automated for deployment, discovery and configuration management of the infrastructure so that consistent, standardized images are deployed, tracked and managed across the infrastructure, allowing dynamic changes to be implemented consistently and rapidly. From a physical standpoint, your enterprise infrastructure consists of your data center facilities, network elements, servers, storage and desktops, as well as mobility and security devices. In an SOA environment, your infrastructure leverages these existing infrastructure components with the addition of middleware software and specialized appliances that are integral to the execution of your SOA-based composite business applications to support connectivity and reuse. It is the architecture, design and management of this middleware layer that changes how you need to approach service management.

Service management implications

As you decouple your application environment, the challenge is effectively managing and troubleshooting SOA-based composite applications when the supporting business services are virtualized and distributed across your enterprise infrastructure. Your business and end user service experience and costs are driven by the operational phase of the service lifecycle, so it is important that your service management capabilities are updated as new SOA services assets are released. Capacity, scalability, availability, manageability and recoverability of the infrastructure also require additional focus in an SOA environment because of the dynamic and broad enterprise adoption of the business services. Your IT architect needs ways to evaluate this new SOA environment and the impact on and requirements for each component of the infrastructure as well as the business services, composite applications and business processes that leverage the infrastructure. As your organization embraces SOA-based application development and deploys the supporting infrastructure, the skills of your staff, your service management tools and information requirements needs to be adjusted in order to deliver the service quality that is expected within your service cost constraints. Your service management capability must be updated to manage new:

  • Infrastructure, including understanding infrastructure-to-infrastructure relationships
  • Applications, including dynamic application-to-application and application to-infrastructure relationships
  • Business services, including dynamic service-to-service, service-to-applications and service-to-infrastructure relationships

With new and decoupled applications in the operational system, there is a requirement to understand not only what applications are deployed, but also the application-to-application relationships and dependencies. Your service management needs to include the infrastructure-to-infrastructure relationships as well as the application-to-infrastructure dependencies. Active configuration management capabilities are necessary to enable all service management processes in this dynamic, complex service environment.

In your SOA environment, business services are not necessarily aligned to a single line of business. And you will no longer have isolated infrastructures for individual applications. Your service management will need to include:

  • Monitoring of the services layer for performance and availability
  • Ensuring compliance with a number of service level agreements for the same service
  • Managing security policies so that service applications can communicate securely, both internally and across organizational boundaries
  • Tracking the dynamic interconnectivity of the loosely-coupled components of the system to understand the performance, availability, and expense consequences
  • Root cause analysis and correcting problems in services based on errors in the infrastructure supporting the services layer
  • Development and testing of applications composed of operational services
  • Deploying, configuring and updating distributed Web service applications across organizational boundaries in a secure, reliable and repeatable manner
  • Tracking the business impact of services with regard to the business processes that the services support

Developing a comprehensive approach

Adopting a widely accepted process framework such as those documented in the Information Technology Infrastructure Library (ITIL) will help you analyze the service management implications for your SOA implementation. Based on ITIL and numerous SOA implementations, a team of LAZAR service management architects and consultants1 have identified the following processes and considerations as the highest priority for meeting the requirements of your business service contracts. Security management: IT systems are more tightly aligned with business processes in an SOA environment, so security practices need to be adapted to align to those business processes as well in order for security policies to meet the new challenges due to this alignment. Performance and capacity management: Your SOA environment is service-based, with loose coupling between the services provided and the resources which perform those services, so performance and capacity management must incorporate capabilities to understand which resources are actually providing a given service. Service level management: Achieving your business service commitments requires an increased need to organize client relationships and define the related service contracts based on business needs. Change and configuration management: An SOA-based environment can be quickly adapted to new situations, where business processes can be easily modified to integrate different or new service components which may be distributed throughout your infrastructure and used by other business processes. This places increased requirements on the change and configuration management processes within the context of agreed-to thresholds, business service levels and service contracts.
Availability and continuity management: Managing end-to-end availability at the business level requires new capabilities to support an SOA environment where a large number of IT services may need to co-operate to provide a business service.

Event, incident and problem management

Preventing incidents and resolving problems in an SOA environment requires greater efficiency and more sophisticated support tools. The primary factor is the loose coupling between systems where there is no predefined system integrations. The dynamic environment allows for an increase in the rate of change with the potential for numerous and frequent changes which places new requirements on monitoring and resolution tools. Financial management: For an SOA environment, the key is to be able to measure usage in a way that relationships can be made between resources that increase costs and services that require these resources to function. Release management: In managing an SOA environment, significant attention needs to be paid to the subject of transitioning new services from development to coordinate and synchronize changes to all components of a composite application so they can be managed and deployed as a single release. It is also important to understand and manage complex inter-dependencies when releasing updates to a shared or common service that might be invoked by multiple business processes. Test management: Testing in an SOA environment needs to validate the functionality and performance of independent and distributed components with respect to all of the other layers and application components in order to support the business services.

Fine tuning your service management capabilities

When any service is critical to a business function, it should be managed with a higher level of service management process maturity. SOA-based services can require higher levels of process maturity and automation; however, the design or implementation of a new process is typically not required. Process definitions such as incident or problem management are independent of the element type being managed. Also, there are specific activities within processes that will have tool, skill and information requirements that are unique to each new managed element. Investigating incidents or performing problem diagnosis will have SOA-specific requirements. For instance: What information will be needed for your staff to effectively and efficiently investigate or diagnose incidents and problems in complex interconnected SOA environments? What tools will be needed? What are the tool requirements to diagnose incidents given the SOA architectural style? Ideally, you will automate as many of the service management tasks as possible. A starting point is to improve the automation of discovery, maintenance, analysis and provisioning of configuration information to all other service management processes. Your staff will also require new on tools and new types of information to manage your SOA-based business services. New skills, information and knowledge are required at the individual service component level including:

  • An understanding of each new SOA element type and its relationships to other configuration items
  • Guidance for performing service management activities on the new services
  • Skills for usage and maintenance of tools
  • Skills for accessing and using the new information