Learning Library

← Back to Library

Polyglot Programming in Cloud Architecture

Key Points

  • Polyglot programming means using multiple programming languages and technologies in a single system to play to each tool’s core strengths.
  • In cloud‑native architectures, separating concerns (frontend, backend, middleware) makes it practical to choose the most appropriate language or platform for each component.
  • Leveraging the right stack—e.g., Node.js with Express for APIs and a MySQL database for relational data—simplifies development while still allowing expansion.
  • Adding new capabilities, such as mobile support or unstructured data, often leads to integrating additional technologies like NoSQL databases alongside the existing SQL system of record.
  • This multi‑language, multi‑platform approach improves scalability, flexibility, and maintainability as applications evolve and migrate to cloud environments.

Full Transcript

# Polyglot Programming in Cloud Architecture **Source:** [https://www.youtube.com/watch?v=WzGRBUS9Ars](https://www.youtube.com/watch?v=WzGRBUS9Ars) **Duration:** 00:07:17 ## Summary - Polyglot programming means using multiple programming languages and technologies in a single system to play to each tool’s core strengths. - In cloud‑native architectures, separating concerns (frontend, backend, middleware) makes it practical to choose the most appropriate language or platform for each component. - Leveraging the right stack—e.g., Node.js with Express for APIs and a MySQL database for relational data—simplifies development while still allowing expansion. - Adding new capabilities, such as mobile support or unstructured data, often leads to integrating additional technologies like NoSQL databases alongside the existing SQL system of record. - This multi‑language, multi‑platform approach improves scalability, flexibility, and maintainability as applications evolve and migrate to cloud environments. ## Sections - [00:00:00](https://www.youtube.com/watch?v=WzGRBUS9Ars&t=0s) **Polyglot Programming in Cloud Architecture** - The speaker explains how leveraging multiple programming languages and platforms such as Windows, Linux, and Kubernetes shapes modern cloud‑native architectural decisions, coining the term “polyglot programming.” ## Full Transcript
0:02Ola Chia 0:05maganda now just by listening to me 0:08speaking multiple languages I would 0:10technically qualify as a polyglot and if 0:14you look at the textbook definition of 0:15that it says as such someone who can 0:18speak multiple languages and you can 0:21even go to the extent of a 0:23hyperpolyglot being able to juggle 10 or 0:2611 or more languages which is very 0:28impressive by the way now for the 0:30purpose of this video we're going to be 0:32focusing on a concept called polygot 0:35programming now in your architectures 0:37when you're designing your applications 0:40you have to kind of make a a bunch of 0:42architectural decisions on what kind of 0:44programing language you're going to do 0:46uh how you going to connect the pieces 0:48of your architecture together now this 0:50concept really is very applicable As you 0:53move into a lot of cloud native 0:54architectures where things are separated 0:57and denormalized so what I want to cover 0:59to today is two concepts that really go 1:02through these particular things as to 1:04why you need to really consider about 1:07bringing this out into your 1:08architectures now the first is let's say 1:11you're in your 1:13actual organization or your server 1:17room or your data 1:20center it could be as simple as having 1:22different types of os's available for 1:25you to use that can be with Windows or 1:28Linux 1:31or even 1:33kubernetes being able to allow these to 1:35be platforms that you can actually 1:38leverage to publish applications too but 1:41let's take it a step deeper most 1:43architectures that I like to say when 1:44you migrate on to the uh Cloud native 1:47you're going to have front end which our 1:49abbreviate s Fe you'll have 1:53backend and you'll have some type of 1:57middleware that's usually going to be 2:00connecting the two 2:01together or they can kind of go from 2:04either 2:05or front end to back end you know they 2:08can kind of Criss-Cross and go from 2:09there so one of the use cases that I can 2:11say is you want to what polyot 2:13programming allows you to do is to 2:15leverage particular types of programming 2:18particular types of Technology patterns 2:20for their core competency of what they 2:22can offer now what with the default 2:24thing to do I am a big node.js fan so 2:27for me if I were to start up let's say 2:30having a front-end web 2:33application and a microservice is going 2:35to talk to my MySQL 2:40DB I may also leverage Express to also 2:45uh function as an API that I can call 2:48that talks to my database and this can 2:50be the web front end now naturally I 2:54could say yes that would be great I can 2:56use node.js for all these pieces both 2:58those services and just talk to my SQL 3:01as my architecture expanded let's say I 3:03wanted to add in 3:08mobile now when I want to communicate 3:11with this I could still leverage a mySQL 3:14database or I could go ahead and add a 3:20database now if you remember from 3:22some of the previous videos that's the 3:24difference between traditional SQL and 3:27no SQL all right that's being able to 3:29provide B on documents to store and I 3:32could still leverage my SEL to still be 3:34my system of record there that I can use 3:37more whereare housing um of my data now 3:40if I wanted to kind of uh break this up 3:42I could go very micro let's say I wanted 3:43to eventually upgrade this uh to a spa 3:47application with a framework like 3:49angular or react I could still leverage 3:52Express to serve out that those static 3:55files or I could use a different 3:58language for instance I could use go 4:02to provide the shell for serving out the 4:05static files for My Spa application why 4:08because goang is very excellent in this 4:11particular use case for a startup time 4:13and being able to serve out responses 4:15very very quickly um and that's all 4:18judging by comparing the two on what the 4:21context is now I still may want to leave 4:24Express for the backend because I can 4:26leverage other arm Technologies like 4:28Prisma that will allow me an easy 4:31interface to connect to my SQL and and 4:34and kind of facilitate that layer there 4:36as well so one one example you can get 4:38is getting very granular into the type 4:41of decisions you can make really sitting 4:43back and analyze and when I start a new 4:46project building a platform like this 4:48this is some decisions that I would like 4:50to make you know uh from there and it 4:53allows me as well to leverage other 4:55patterns here if I wanted to 4:57inject uh cough cut in 5:01the in here as well where I could run my 5:04data directly into Kafka and then into 5:07my database again uh now we're at the 5:10point where you can really have a lot of 5:12fun with the architecture that you want 5:14to kind of use now let's take the from 5:17another level here that's being very 5:19micro into the particular Weeds on 5:22individual decisions you want to make 5:24but let's say if I want to do the same 5:26project I may step back and say you know 5:28let me Analyze This a little more for 5:30that same project I may say I know I'm 5:33going to have 5:34web I know I want to do 5:38mobile um I know I want to have a a 5:44databases okay now one way I could 5:46probably make that decision to say I'm 5:49going to have other microservices to 5:52connect to my database but I want to 5:54take this decision here it may be as 5:56simple as a decision to say I want to 5:59settle on on a technology that I do want 6:01to use so just because you're into 6:03polyot programming doesn't mean you 6:05always are mandated to choose different 6:07types of technology for different pieces 6:10all right I can leverage the same piece 6:12for this because I know that by 6:14leveraging 6:17react it has facilities to give me the 6:20spa that type of customer experience 6:23that I want the responsiveness as well 6:26as has with react native I have the same 6:29cap ability to be able to build 6:32crossplatform applications for IOS and 6:36Android so two different sides of the 6:39spectrum um which I think is very useful 6:42in in in kind of working as you now want 6:45to build your applications so I I wanted 6:48to do this video to really say before 6:50you do your next project take a look at 6:52polygot programming whether it's the 6:55macro decisions you can make about what 6:57technologies to use or even the micro 6:59decisions this should definitely be 7:01something that you take a look at and 7:03put into 7:14practice