|
For many industries, IT has become an essential part of their business. Companies rely upon IT to provide better value for customers, greater power to employees, and improved agility to the organization as a whole. Companies whose IT environments lack flexibility or cost effectiveness risk losing their competitive edge in the marketplace to firms that can creatively leverage their technology assets for competitive advantage. This increasing reliance on IT comes in the face of burgeoning complexity and business change. Companies that adapt to an ever-changing business environment are able to compete more effectively and thrive in any business climate. Such companies are particularly adept in tough economic times, often finding opportunities in the midst of chaos. Instead of being an enabler, however, IT is frequently a significant barrier to companies’ ability to respond to change. To address this need for agility in the organization, many firms are turning to Service-Oriented Architecture (SOA) – a set of best practices for organizing and managing IT resources and people to build and support Services that abstract the underlying complexity of the IT environment, providing greater power and flexibility to the business. Today, the majority of enterprises and government organizations are somewhere on their SOA roadmap. In fact, in many ways, SOA is now mainstream— enterprises have now widely adopted core SOA best practices, and organizations are looking to scale their SOA implementations to meet growing and changing business needs. To this end, architects are looking to their operations teams to support their SOA initiatives so that they can offer high performance as the usage of Services increases. Herein exists a critical problem with SOA: as an architectural approach, SOA favors agility over performance, and yet the organizations who adopt SOA require both. Furthermore, it typically falls on the operations team to support the performance requirements, even though the additional layers of abstraction that SOA introduces impede performance and scalability. And finally, in too many cases, architects and operations personnel don’t communicate or work together well, yielding architectures that cannot scale, or implementations that become inflexible as performance requirements increase. The Challenge of Heterogeneity The first, most fundamental reason that achieving high performance SOA implementations is such a challenge for many organizations is the technical challenge of heterogeneity. Today’s enterprise IT environments are enormously complex, and it is that complexity more than any other cause that leads to the inflexibility that the business wishes to address. And yet, SOA does not actually eliminate complexity—it abstracts the complexity, providing a flexible, simplified set of Services to the business that overlays the unavoidable technical complexity. At the core, IT has always dealt with underlying complexity through the power of abstraction. In the world of IT, abstraction is a way to simplify the complexities of the technology with simple, yet powerful representations. Beneath the abstraction layer exists the complexity that IT deals with today. But due to the power of loose coupling, the Services available to the business provide whatever value the business requires from them. It’s vitally important to SOA that we place such Services into the business context. As with any abstraction, however, there is no magic here. To build such powerful Services requires sophisticated governance, management, and an overall focus on quality and performance. After all, while it’s simple to talk about loose coupling—where it’s possible to independently control and change Service providers and consumers without impacting the other—such loose coupling depends upon a high quality, high performance SOA infrastructure. The first step in getting a handle on this problem of heterogeneity is providing sufficient visibility. As the IT environment becomes more complex, no one has a single, end-to-end view of any transaction. Given the increased complexity in SOA, plus the fact that most of that complexity is beneath the Service abstraction, end-to-end visibility, deep in the IT infrastructure, is critical to understanding what is going on in the IT environment. The Challenge of Abstraction Many people still confuse SOA with Web Services, even though the two concepts are quite different. While SOA is a set of best practices for organizing IT resources to better meet changing business needs, Web Services are nothing more than standards-based interfaces. Furthermore, many implementations of Web Services do not constitute SOA, and many of the Services that form the core of most SOA initiatives aren’t Web Services—instead, they are abstracted Services.
|