|By Gathering Clouds||
|August 16, 2013 09:30 AM EDT||
Those who think cloud computing requires no forethought or planning are dead wrong. Considering the fact that cloud computing is a truly complex distributed architecture, there is a lot to think about in terms of what components are leveraged (e.g., storage, compute, database, etc.), how they are configured, governance and security, and monitoring and management. Just to scratch the surface.
Thus, those who implement cloud computing need to get smart around how to approach the architecture. Many skip this step or role and move directly to the good stuff, the technology. A lack of planning and architecture will absolutely derail your cloud implementations, short- and long-term.
Systems architecture within the cloud requires that you have a general understanding of everything, and how everything works and plays well together. We’ve defined and refined enterprise and applications architectures for years. This is no different, except the consumption models and provisioning models are typically something you’ve never had to deal with in the past.
Here are a few tidbits to consider as you look to be a good cloud computing architect:
First, leverage an architectural approach, such as SOA. Obviously, since I wrote a book on cloud computing and SOA, I’m partial to SOA as the right approach to leverage. Although many consider SOA an archaic approach to cloud architecture, if you think about it, it’s really the only architectural pattern that fits the largely service-based model that public and private clouds bring.
Leveraging SOA, simply put, means that you break down the architecture into sets of services that may be formed, or reformed, into business solutions. This provides you with the ability to quickly build and change things, and thus provides the agility aspect of leveraging cloud computing.
Second, consider performance. Many cloud computing systems are falling down because performance engineering was never a part of the process. The fact of the matter is that leveraging public clouds, over the Internet, means latency.
Latency should be understood before implementation of cloud computing systems. In many instances you can design around it, or, at least make sure you understand the impact on users and processes. I’m finding many cloud computing systems are quickly turned off because users push back on the latency.
Security starts in the beginning, not the end. It’s tough to reengineer a system around a security model that best supports your cloud computing model. The ideal approach is to create the security model up front, and drive it systemically into the architecture. The same issue occurs with governance, which I discussed last week in this blog.
Architecture and cloud computing are two concepts that must work together. However, most who implement cloud computing don’t understand the details behind how to make them work together. Cloud computing does not occur by just tossing technology and money at the problem. Some planning and forethought is required as well.