- How Things Got Off Track
- SOA to the Rescue?
- What the Heck Is SOA, and Why Should I Care?
- SOA Meets Cloud Computing
- Defining Cloud Computing
- The Components of Cloud Computing
- The Dream Team of Cloud Computing and SOA
- What SOA Can Learn from Cloud Computing
- What Cloud Computing Can Learn from SOA
- Making the Leap
- Being Positively Disruptive
SOA Meets Cloud Computing
So, what does SOA have to do with cloud computing, and why did we write a book about it? Cloud computing is any IT resource, including storage, database, application development, application services, and so on, that exists outside of the firewall that may be leveraged by enterprise IT over the Internet. The core idea behind cloud computing is that it is much cheaper to leverage these resources as services, paying as you go and as you need them, than it is to buy more hardware and software for the data center. There are other advantages as well.
Cloud computing allows you to expand and contract your costs in direct proportion to your needs. Moreover, it shifts some of the risk around expanding your IT resources from the enterprise to the cloud computing provider. We cover the business benefits of cloud computing in Chapter 4, "Making the Business Case for Clouds." Also, cloud computing abstracts those using the cloud computing–delivered IT resource from the management of those resources.
The relationship between cloud computing and SOA is that cloud computing provides IT resources you can leverage on demand, including resources that host data, services, and processes. Thus, you have the ability to extend your SOA outside of the enterprise firewall to cloud computing providers, seeking the benefits already described. We describe this process as "SOA using cloud computing," and it is the objective of this book to show you how it is done.
SOA is important to cloud computing for a few key reasons:
- It is a good approach to architecture that deals with the proper formation of the information systems using mechanisms that make them work and play well together, inside and outside of the enterprise.
- In order to take advantage of cloud computing, you need interfaces and architectures that can reach out and touch cloud computing resources. While many believe they can simply create quick and dirty links between core enterprise information systems and cloud computing resources, the fact is that you really need an architecture inside of the enterprise, such as SOA, to make the most of cloud computing. That is the theme of this book.
- You need some sort of architectural discipline with guiding principles to document and organize your architecture. Most have ignored this need over the past several years to focus on ad hoc hype-drive stuff. We must get back to leveraging the best solution for the problem, and SOA is a good approach for doing that if you follow the steps.
For our purposes, we know that cloud computing is the ability to provide IT resources over the Internet. These resources are typically provided on a subscription basis that can be expanded or contracted as needed. This includes storage services, database services, information services, testing services, security services, platform services—pretty much anything you can find in the data center today can be found on the Internet and delivered as a service.
If you think you have seen this movie before, you are right. Cloud computing is based on the time-sharing model we leveraged years ago before we could afford our own computers. The idea is to share computing power among many companies and people, thereby reducing the cost of that computing power to those who leverage it. It was a pretty simple idea at the time. The value of time share and the core value of cloud computing are pretty much the same, only the resources these days are much better and more cost effective. Moreover, you can mix and match them to form solutions, which was not possible with the traditional time-sharing model.
There is nothing to fear from cloud computing. Indeed, it should be comforting to leverage resources that you do not have to maintain. Moreover, the sharing model has been around for years—we just call it something new: cloud computing. There are also some new offerings in this space that we discuss next.
The opportunity to learn how to leverage cloud computing—in the context of well-known architectural approaches such as SOA—is a way to get your enterprises leveraging a more efficient and effective IT infrastructure. However, cloud computing is not a cure-all or something that you attach to your systems and hope for the best. You have to do some planning to leverage cloud computing resources in the right way. In essence, that is what this book is about.