Whether the target is public cloud or private cloud or hybrid cloud or the target is to build a new cloud application or migrate existing application or part of the same to cloud, one can start preparing on some pointers to easily deploy the application on the cloud.
1. Separation of networks: Build isolation between all of the different networks that are part of the virtualization infrastructure. IT staff needs to learn how to distinguish the different users in the new infrastructure.
2. Self Service automated portal: Make the compute clod easily available for both developers and IT professionals. It is better to have a self-service automated portal that enables addition and removal of resources(network, storage)without provisioning overheads.
3. Separation of customer data : This is done to ensure that no traffic is rooted between networks and there can be physical or virtual appliance firewalls between networks. The application needs support for multi tenancy.
4. Secured customer access to cloud resources: Encrypt Critical data. Make use of SSL encryption. Provide a management portal that is encrypted.
5. Strong security : It become highly important in a cloud deployment to know who performed task in the system(authentication), when the task was performed and what exactly they performed(audit mechanism). Make sure only authorized administrators have access to resources.
6. Perform better resource management: Be aware that the cloud based resources shared between customers is directly related to what th customer has paid for. An effective cloud solution needs to scalable and one needs to be aware of the boundary conditions different from the traditional model as one owns the decision when to provision additional cloud resource.
7. Plan for charge backs: Even when you migrate an internal application to cloud, the ability to create transparency in costs and services can help justify expenses.