Cloud applications are built with services packaged in containers that can move from one platform to another seamlessly. They are deployed as microservices, where each service of an application is written as an independent application that interacts with the other using an intermediary software called API. They are managed on elastic infrastructure, and they are delivered continuously. So, which is the best language to use to build cloud applications?
Performance, including scalability, time to market and efficiency become important while choosing a language for building cloud native applications
Vish Phaneendra, head, solution engineering, VMware, South Asia
Vish Phaneendra, head of solution engineering at VMware India, says performance, including scalability, time to market and efficiency become important while choosing a language for building cloud native applications. “Every developer writes programs in a different way. So, having a language or framework with boilerplate code (code repeatedly used with no variation) is a real differentiator because it helps developers focus more on writing the business logic,” he says. Some languages also have a robust ecosystem of advanced frameworks.
Spring Boot has made cloud native development in Java really easy. It has also made development of microservices really easy
Raja Raman, GVP-Technology, Publicis Sapient
This is where time-tested languages like Java and .Net find relevance in cloud native application development. Java, for instance, is secure, stable, portable, scalable, and has a whole ecosystem of frameworks. “Spring Boot, a Java framework released in 2014, has made cloud native development in Java really easy. Python is extremely popular among youngsters. Django and Flask are the two Python frameworks popular in microservices,” says Raja Raman, GVP of technology in Publicis Sapient.
Raman says while choosing the language, people tend to give high weightage to skills they have in the organisation, and to keeping the number of languages they need to support to a minimum, as compared to barebone performance or scalability, or some language specific feature. “So, if they have always been using Java, they will continue to use Java,” he says.
Java, .Net, and Python are supported by most of the top cloud service providers. PHP, TypeScript, Ruby, PowerShell, and Go are backed by some. “If you have built a part of your application in an esoteric language, say OCaml, you may not be able to wire up and integrate a service, say user authentication, provided by the cloud. For a completely integrated solution, your code should be written in a language that the service supports. Lack of such planning will prove expensive,” says Asutosh J G, lead engineer at SellerApp, a provider of e-commerce data intelligence software.
A big benefit of cloud is that the cloud already has a lot of components that can be used to build an application. It helps developers focus on the business logic, improving time to market
Asutosh J G, lead engineer, Sellerapp