Is enterprise architecture ready for the cloud? Is the cloud ready for EA? Cloud represents a different way of thinking. But we've been here before.
In a new post, Chris Bruzzi and Nick Hamm, both with Appirio, a cloud services provider, share their experiences in cloud application development. They point to the five changes in mindset that needs to take place as application development and deployment evolves to the cloud world.
For architects and developers who have been working within the service-oriented architecture realm, most of these best practices will look terribly familiar. But Bruzzi and Hamm point out that SOA in the past was more constrained, since it typically stopped at the enterprise walls. Now, as more and more of IT gets hooked up into the cloud, it's time to really promote "service-oriented" thinking:
- Architect solutions in a componentized way: "Step back and think about the business requirements and then architect a solution of loosely coupled components that address the overall requirements. This takes a bit more work upfront but pays huge dividends later."
- Value application programming interfaces (APIs) over language: A decade ago, IT organizations were either "Java" or ".NET" shops. The cloud abstracts the focus from applications tightly bound to languages and platforms to service delivery, Bruzzi and Hamm say. "As a cloud architect, that means you too have to shift your focus from the technology or language to architecting services and the APIs used to access them."
- Drive reuse wherever possible: Components within a cloud design may be already functional and available either within an organization's own library, or from external cloud providers -- such as Salesfroce.com or Amazon Web Services.
- Extend your team with crowdsourcing: Look to development communities -- such as CloudSpokes or 99Designs -- for new components. "The benefit of this approach is that you can get a lot of your application built quickly and in parallel since you’re not constrained by your own team’s capacity. You may also be surprised by creative solutions that you wouldn’t have thought of."
- Measure your applications: "With cloud solutions, there’s a lot of data available about your application’s configurations, code, quality and more," Bruzzi and Hamm point out. "Some cloud providers collect these benchmarks but not all do, so you may have to do some legwork!"
(Photo: US Bureau of Labor Statistics.)