By now most organizations whether big or small have a cloud migration strategy. The hype around cloud computing services is too difficult to ignore. But the goal in migrating to the cloud should be much more than just the cost-saving or cost rationalization that happens with moving your infrastructure off-premise. There are a number of other benefits that you should aim for while moving to the cloud. You can aim to make your system more robust and fault-tolerant. It should not capitulate with just minor non-critical errors. You should also aim to develop a scalable system. You can easily relate to this right now. You probably have a system that is a huge monolith. There are dependencies all over the code. The only way for you to scale up your processing capacity is to create more instances of your whole system. But with the cloud, this is no longer a compulsion. With the cloud, your underlying hardware has become code. You have been given the flexibility to creating as many small processing systems or storage systems or N/W points as you may like. You can therefore now break down your monolithic system into many micro-systems and use the flexibility of the cloud to bring in scalability. With your systems becoming robust and scalable, your next goal should be agility. It is a natural consequence of robustness and scalability. Once your system is robust you can think of making more changes to your system without fear of breaking it down. The above graph shows the relationship between the changes and system availability in general. As the number of changes increases, the system becomes unstable and consequently may be offline more often. It is very difficult to push the graph rightwards to bring about more system availability with a higher level of change. But in today’s real world, you have to bring in frequent changes to meet the business requirements. It is what makes the organization agile. So as you make your system more robust, you aid in agility. Scalability also aids agility. Scalability is both ways: up and down. You can scale up to increase your productivity if the business so requires and also scale down your productivity when you experience a lull in business. Another goal to aim for with cloud migration is high performance. Performance means getting more out of your application. It requires you to make your system more efficient. Bottlenecks have to be removed. The cloud gives enormous flexibility to do so. As has been mentioned before the cloud allows for the hardware to be in the form of code. You can therefore easily deal with hardware-level bottlenecks. Security is another area that has to be dealt with during cloud migration. Your goal should be to transform the security of your application. Security tends to be the most discussed topic related to the cloud. People are generally spooked with putting out data on the cloud. But moving to the cloud allows you to completely rethink your security protocols. The main service providers like AWS, Azure, etc, may actually have better security than your own systems. They may also take care of many functions for which you have employed armies of sysadmins. Now in this environment, you need to identify the problems such as the possibility of external attack, internal sabotage, human error, etc. Each would require a different type of strategy to combat. You have to consider the handling of sensitive client data and how to encrypt the data better. So there you have it, the 6 Goals of Cloud migration: Robustness, Cost Reduction, Scalability, Agility, Security, and Performance.