Developer at a Crossroads - Choosing a suitable programming language for Microservices

How to choose a suitable programming language for developing Microservices?

We start our discussion with the most important characteristics of Microservices.

The following aspects of programming languages are discussed, keeping Microservices in mind:

  • Functional Composition, we will look at some features that are missing in the most popular languages - C, C++ & Java for composing functionally, and some alternatives
  • Managing Concurrency, we will look at how some programming languages are simply concurrent, thus avoiding the need of managing mutability, as we often do in C, C++ & Java
  • Frameworks & Tools
  • Popularity, there are the popular ones and the esoteric, but what is interesting are the ones in betweeen

We conclude by comparing some popular programming languages using these and drawing some inferences.

We will compare the three most popular languages - C, C++, Java with some multi-paradigm languages like javascript & python and with some functional languages like Scala & Erlang.

 
 

Outline/Structure of the Talk

We start our discussion with the most important characteristics of Microservices. (5 mins)

The following aspects of programming languages are discussed, keeping Microservices in mind: (10 mins)

  • Functional Composition
  • Managing Concurrency
  • Frameworks & Tools
  • Popularity

We conclude by comparing some popular programming languages using these and drawing some inferences (5 mins)

Learning Outcome

Some pointers to choose the programming language for developing your microservices; a choice that will pay off big time in the longer term!

Target Audience

Developers, Tech Leads, Architects, DevOps, Testers & leads

schedule Submitted 2 years ago

Public Feedback


    • Liked Nick Balestra
      keyboard_arrow_down

      Nick Balestra - Painless Micro Frontends Delivery

      Nick Balestra
      Nick Balestra
      Sr. Engineer
      OpenTable
      schedule 2 years ago
      Sold Out!
      45 Mins
      Case Study
      Intermediate

      While microservice architectures allowed teams to scale delivery of independently deployable services, most frontend layers are still run as monolithic applications. Similar to server-side applications, frontend layers often grow into large monoliths that are difficult to maintain and evolve. Building, deploying and consuming frontend components across a diversity of teams and web applications can be a daunting task, especially at scale. To address this issue, at OpenTable we enable fast-moving teams to easily build and deploy front-end components using OpenComponents, an open-source, battle tested, front-end microservice architecture for painless component delivery.

      The idea behind micro frontends is to enable multiple teams to work seamlessy together by fostering end-to-end ownership of independently developed, tested and deployed features.

      Think about UI as the composition of features which are maintained by independent teams. These teams could be cross-functional allowing them to develop such features end-to-end, from a database to user interface and independently deploy them.

      During this session I'll explain how OpenComponents works, how do we use it at OpenTable and how we allows teams to build ship and consume frontend components at runtime across teams and web applications at scale.

    • Liked Anand Bagmar
      keyboard_arrow_down

      Anand Bagmar - Build your own MAD-LAB - for Mobile Test Automation for CD

      45 Mins
      Case Study
      Intermediate

      In this age of a variety of cloud-based-services for virtual Mobile Test Labs, building a real-(mobile)-device lab for Test Automation is NOT a common thing – it is difficult, high maintenance, expensive! Yet, I had to do it!

      Attend this talk to understand the Why, What and How I built my own MAD-LAB (Mobile Automation Devices LAB). The discussion will include –

      • Understanding the context,
      • Why no cloud-based solution worked for me,
      • The automation strategy for Android / iOS / Web platform,
      • The tech-stack (cucumber-jvm / Appium), and,
      • The core implementation to build your own MAD-LAB! (already open-sourced)
      • How this results in Continuous Delivery (CD)
    • Liked Kiran Chhabra
      keyboard_arrow_down

      Kiran Chhabra / Atulya Mahajan - The Subject They Don’t Teach : What’s Post-Deployment

      45 Mins
      Talk
      Intermediate
      When we talk about Agile methodologies then focus on just delivery is not enough. There is life beyond delivery, and very often a product makes or breaks its destiny during that phase.
      The Devops process itself is more than Continous Integration/Deployment, and it is important to know the other Cs of Continuous Monitoring and Continuous Operations as well.
      We will share a case study for a team that had to sustain fast-paced releases with a large customer base. Agile, Continuous Integration and Continuous Delivery were not just fads for them but needs for survival.
      This system turned out to be a big success story and thus we went ahead and replicated the model in the rest of the organisation.
    • Liked Siddharth Kulkarni
      keyboard_arrow_down

      Siddharth Kulkarni - Dr Culture Shock - Or How I stopped worrying and embraced Org Culture

      45 Mins
      Talk
      Intermediate

      The org culture mantra is usually considered a silicon valley mumbo jumbo. Although many companies and teams rant about culture, very few in my opinion take it seriously. In this talk I would like to discuss the importance of Org culture and how it makes or breaks businesses and teams. I will lay out some key pointers that will help the influencers in the audience make decisions about their org or team culture. The talk will be in the context of culture in tech companies.