There are many advantages of leveraging cloud-native features in your IT systems. But they come with a cost, which varies greatly based on your applications and data. Sometimes being cloud-native doesn't make economic sense.
The pros of going cloud-native features include the following:
- Performance. You're typically able to access native features of the public cloud services to provide better performance than with nonnative features. For example, you can deal with an I/O system that works with autoscaling and load-balancing features.
- Efficiency. Cloud-native applications' use of cloud-native features and APIs should provide more efficient use of underlying resources. That translates to better performance and/or lower cost.
- Cost. Applications that are more efficient typically cost less to run. Cloud providers send you a monthly bill based on the amount of resources you've consumed, so if you can do more with less, you save on dollars spent.
- Scalability. Because you're writing the application to the native cloud interfaces, you also have direct access to the autoscaling and load-balancing features of the cloud platform.
The price you pay for these advantages is giving up portability. Applications that are localized for specific cloud platforms are not easily ported to other cloud platforms -- doing so takes a great deal of rewriting or refactoring of the code. For all practical purposes, you are locked in to that cloud platform.
If applications are going to run on the target cloud platform for years, you're bound to get your investment back in code changes and testing. You have to look at the advantages of going cloud-native on a case-by-case, application-by-application basis.
Unfortunately, there are no premade checklists you can use to bake these assessments. You simply have to get as smart as you can about the trade-offs and make the best decisions you can.