I have learnt from my Cloud implementations that often customers hold expectations of Cloud that are not always completely effective. Based on my own experience from working with many customers, I have learnt that the following will need to be a focus;
- Cloud is potentially more secure than on-premises implementation. However, the granularity of security and the shifted paradigm from boundaries and perimeters to encryption, authentication, audit, and application level control need to be carefully balanced and understood. Security should be designed in from the outset and not simply applied as a layer.
- IaaS solutions are not cheaper than on-premises virtualisation, unless there is a change to the architecture and sizing of systems. Many on-premises systems and vendor supplied specifications are carefully monitored and adjusted to ensure that money is not spent on wasted space. Cloud should be addressed with a new architecture and not simply as a new location for virtual machines.
- Automation is key, where non-production environments should be powered down when not in use, or destroyed for re-creation from scripted/automation images. Auto-scaling, disaster recovery, and new environment implementation are heavily dependent on automation capabilities. These should be designed into the application from the start.
- Network connectivity and integration between systems needs to take into account the requirements of security, encryption, availability and resiliency, latency and manageability. Solution design must be prepared for communication problems or delays, without causing system failures, data loss or information integrity compromise.
- With cloud, the approaches to management, monitoring and administration may need to change to take into account the new approaches. The management of this change, and ensuring that new environments are appropriately managed and controlled, will need to be given appropriate focus to ensure that problems (and their resolution) is not unexpected or unknown.
- Architecture for Cloud hosted systems needs to ensure that there is a broad understanding of all requirement; business and regulatory needs, non-functional requirements and functional requirements. All these influences can have an impact on the Cloud design and architecture that are different if they were to be done in on-premises designs.
Cloud Implementations – never the same
Fundamentally, no two Cloud implementations that I have been involved with have been the same. Of course this is true between different industries and businesses, but it also applies to implementations between departments and business units in the same organisation.