Is the choice of programming language important for Microservices?

An answer of definite YES or NO is highly irrelevant here, because a Microservice can be written in any programming language which supports some communication end point, such as API.

A Microservice is an application architecture style and the programming language used is just one element of it. Let us revisit Martin Fowler’s definitions from 2014,

…a particular way of designing software applications as suites of independently deployable services

…developing a single application as a suite of small services, each running in its own process

…which may be written in different programming languages and use different data storage technologies.

Not all Microservices need to follow all the characteristics defined by all the experts in the field, but at least we have to make sure it is not violating any characteristics.

There are different deployment options available such as Kubernetes, or Azure Container Service. They use a concept of removing-the-bad, and spin-up-new containers. To support this process, it is important to make sure our microservice applications are independent and stateless to avoid any application crashes or malfunction.

Coming back to our question of programming languages, while we can use any languages or technology stack for writing Microservices, it is always good to keep these points in mind while selection:

  1. If not necessary, try to avoid languages which requires a virtual machine to run..such as JVM for Java. Some memory resident platforms require some bootup and killing time which can delay the instance creation and  destroy. Found Go handles is better.
  2. Smaller the better, the container size matters. Some languages require a bigger library to be accompanied to have the application work properly, but it makes the container size bigger.
  3. Application performance – some programming languages are faster for some operations compared to others

Well, it all boils down to the functional and technical requirements, and I do believe that the selection of programming language is not crucial for most cases. Upon Google research, it is also found that people rely/biased  on their own skillset to build Microservices, than making the choice-of-language a problem in front of them, which makes this question a low priority concern.

Read about Microservices here –

15 benefits of embracing Microsoft Power Platform

Find some of the benefits of Microsoft Power Platform.

  1. Self-Service for Easy Adoption and Use
  2. Can be used by most kinds of users (business, executives, developers, BAs)
  3. Rapid prototyping (no need to remake)
  4. Saving time for development
  5. Reducing third party dependency
  6. Integration with third parties, especially Microsoft tools such as one drive, excel, teams
  7. Device compatibility (work across devices)
  8. All Enterprise Business Processes in a Single Platform
  9. Compliance, Governance, Scalability, Security, Disaster Recovery
  10. No software upgrade, patching headaches
  11. Microsoft Advantage
  12. Office 365 Integration
  13. Enterprise Scale
  14. Large set of connectors (data source support)
  15. Serverless

Dapr: The distributed application runtime is now production ready

Dapr - Distributed Application Runtime

Simplify cloud-native application development. Focus on your application’s core logic and keep your code simple and portable

Dapr is an open source, portable, event-driven runtime that makes it easy for developers to build resilient, microservice, stateless and stateful applications that run on the cloud and edge. Dapr enables developers to focus on writing business logic and not solving distributed system challenges, thereby significantly improving their productivity, and reducing development time.

Read more:
Dapr Home: