Abstract
Cloud Computing is in vogue. But what is it? Is it just the same thing as outsourcing the hosting of Web applications? Why might it be useful and to whom? How does it change the future of enterprise architectures? How might clouds form the backbone of twenty-first-century ecosystems, virtual organizations and, for a particular example, healthcare systems that are truly open, scalable, heterogeneous and capable of supporting the players/ providers both big and small? In the past, IT architectures took aim at the enterprise as their endpoint. Perhaps now we must radically raise the bar by implementing architectures capable of supporting entire ecosystems and, in so doing, enable these architectures to scale both downward to an enterprise architecture as well as upward and outward. We see cloud computing offerings today that are suitable to host enterprise architectures. But while these offerings provide clear benefit to corporations by providing capabilities complementary to what they have, the fact that they can help to elastically scale enterprise architectures should not be understood to also mean that simply scaling in this way will meet twenty-first-century computing requirements. The architecture requirements of large platforms like social networks are radically different from the requirements of a healthcare platform in which geographically and corporately distributed care providers, medical devices, patients, insurance providers, clinics, coders, and billing staff contribute information to patient charts according to care programs, quality of service and HIPAA constraints. And the requirements for both of these are very different than those that provision straight-through processing services common in the financial services industry. Clouds will have to accommodate differences in architecture requirements like those implied here, as well as those relating to characteristics we subsequently discuss. In this paper, we want to revisit autonomic computing, which defines a set of architectural characteristics to manage systems where complexity is increasing but must be managed without increasing costs or the size of the management team, where a system must be quickly adaptable to new technologies integrated to it, and where a system must be extensible from within a corporation out to the broader ecosystem and vice versa. The primary goal of autonomic computing is that “systems manage themselves according to an administrator’s goals. New components integrate effortlessly ...”i. Autonomic computing per se may have been viewed negatively in the past years — possibly due to its biological metaphor or the AI or magic-happenshere feel of most autonomic initiatives. But innovations in cloud computing in the areas of virtualization and finergrained, container-based management interfaces, as well as those in hardware and software, are demonstrating that the goals of autonomic computing can be realized to a practical degree, and that they could be useful in developing cloud architectures capable of sustaining and supporting ecosystem-scaled use. Taking an autonomic approach permits us to identify core components of an autonomic Er. Roma Soni, IJECS Volume 2 Issue 12, Dec. 2013, Page No.3360-3373 Page 3361 computing architecture that Cloud Computing instantiations have thus far placed little emphasis on. We identify technical characteristics below that must not be overlooked in future architectures, and we elaborate them more fully later in this paper: ��An architecture style (or styles) that should be used when implementing cloud-based services ��External user and access control management that enables roles and related responsibilities that serve as interface definitions that control access to and orchestrate across business functionality ��An Interaction Container that encapsulates the infrastructure services and policy management necessary to provision interactions ��An externalized policy management engine that ensures that interactions conform to regulatory, business partner, and infrastructure policy constraints ��Utility Computing capabilities necessary to manage and scale cloudoriented platforms