Skip to Content
Author's profile photo Riki Dey

Cloud Native Applications

Cloud

A cloud application is one which you access over the internet and not your own computer’s hard disk. Today, everyone seems to be moving to the cloud. Cloud products are the latest in technology trends and all companies seem to be having some offering or the other on “cloud”. But it is important to be able to analyze for ourselves, if the product is really cloud – cloud-based/cloud-ready or cloud-native/cloud-centric?

A cloud based or a cloud ready application is one which was born was on-premise deployment but has been later “prepared” to run on cloud. Any application is born cloud-ready. But just dropping a tweaked  on-premise application onto a public cloud will help only to a certain point. Because it’s landscape will include many servers and virtual machines which are connected by a unique network topology with load balancing and firewalls using different forms of storage with tiering and backup mechanisms and these are all choreographed to work in a unique manner with a unique set of rules!

So what is the problem with this approach? To understand why this is not the best path to reach the cloud, we need to understand the inherent features of cloud.

As we move more and more towards a server-free architecture, a cloud based or cloud readied application would not be able to take complete advantage of these features, would not be able to deliver optimal performance on cloud and hence would not be really “cloud”.

With this realization comes the awareness that we need to create a cloud-native or a cloud-centric application – application which are built to run solely on cloud.

Identifying Cloud Native Applications

Let us have a look at how we can identify a cloud native application vis-à-vis a cloud based application, because a prima facie check shows that both will “look” very similar to each other.

Principles of Building Cloud Native Applications

 

Why Cloud Native Applications?

A true cloud native application consists of well-orchestrated microservices which are never offline and the application can shrink and grow real-time on-demand. They are created as easily redundant applications – automatic recovery from server failure by re-mapping IP addresses because the application is not tied to a particular hardware topology.

 

References

https://www.metaswitch.com/resources/what-are-cloud-native-applications

http://blog.xebia.com/top-5-ingredients-for-developing-native-cloud-applications/

https://blogs.cisco.com/cloud/developing-cloud-native-applications

https://techcrunch.com/2016/08/03/what-real-cloud-native-apps-will-look-like/

https://www.cncf.io/blog/2017/05/15/developing-cloud-native-applications/

https://www.ibm.com/developerworks/websphere/techjournal/1404_brown/1404_brown.html

https://pivotal.io/cloud-native

http://searchitoperations.techtarget.com/definition/native-cloud-application-NCA

http://www.imaginecommunications.com/resources/blog/how-tell-difference-between-cloud-native-and-cloud-enabled-and-why-it-matters

https://sharpencx.com/blog/cloud-based-vs-cloud-native/

 

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Brandyn Morelli
      Brandyn Morelli

      This is a great breakdown of Cloud-Native, and how microservices can be used to provide greater scalability & availability.

      We actually just put together a Cloud-Native Q&A Video you should check out, I feel like it would be great companion video to the article.