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.

 
2 favorite thumb_down thumb_up 4 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

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 3 months ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Vivek Ganesan
    By Vivek Ganesan  ~  1 month ago
    reply Reply

    Thanks for submitting this proposal, Rajith :)

    Just a thought. Would it be useful to include the names of programming languages that will be compared in this proposal itself? In my opinion, this will attract a passionate crowd to the session and probably start conversations that go beyond the conference hall.

  • Leena S N
    By Leena S N  ~  2 months ago
    reply Reply

    Hi Ranjith,

    While choosing a language for Microservices is important, I wonder why it is different from choosing the language for any app, be it Microservice or not. Can you make it more clear in the proposal?

    Can you change the proposal into an experience report or case study so that the audience can relate it better?

    Also please share a video of your presentation so that we can understand your presentation style.

    Thanks,

     

    • Rajith Raveendranath
      By Rajith Raveendranath  ~  2 months ago
      reply Reply

      Hi Leena,

      as an answer to your first question, I have blogged as follows 

      https://agileiq.blogspot.in/2017/11/programming-microservices.html

      I have experience with programming in languages that are less suitable for developing Microservices and those which are much more suitable because of certain features they have. I will use some of these experiences in my talk, but would prefer to keep the format as a talk/discussion. My goal is to get the audience to question themselves (hopefully with the right ones!) and trust them to find the answers they need.

      I don’t have any video, my next talk is planned at the XP conference, may be some reviewers would be attending it.

      regards

      Rajith


  • 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 Nick Balestra
    keyboard_arrow_down

    Nick Balestra - Painless Micro Frontends Delivery

    Nick Balestra
    Nick Balestra
    Senior Engineer
    OpenTable
    schedule 3 months 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 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.