If I would get paid a euro for each time someone says ‘Let’s spin up a VM for that!’ or ‘We have this VM running anyway’, I would have been a rich man.
Although I do advocate reuse, stuffing many services on a machine ‘because it runs there anyway’ will cause a huge problem if there is a shift in architecture or platform. In the end all services need to be carved out and that can be a real pain in the behind. Also it does not really scale, for obvious reasons.
Yes let’s put everything in a pod/container!
A big cluster of VMs is still just infrastructure chewing away your money in the cloud. Do not forget that in many cases, a k8s cluster, Service Fabric cluster or whatever-cluster-cloud-native-you-like in the end is mostly a bunch of VMs running 24/7 for a lot of money.
We underestimate the power of simplicity
Let’s take an example. If you want to run a simple process, for example ingest some data and put it in a store, you could go full ETL/ELT. Alternatively you can leverage simple things, like Azure Functions or LogicApps. With connectors to almost all services, it is really easy and simple to ingest data using these services.
And it’s cheap too!
Azure Functions (ran in Azure) run really cheap, as the first million(!) executions are free anyway.
What about portability?
If you start out with Azure Functions on the Azure Platform, and later on need to run on a cluster like Kubernetes, you’re in luck. Azure Functions run basically anywhere so hosting them in a container or pod, should be a piece of cake. Development is also easy exactly because of the portability.
How to start?
Microsoft has done really great work in the training area. For Azure Functions, you can simply go to: Create serverless logic with Azure Functions – Learn | Microsoft Docs. This module will get you started easily.
Want to kickstart your development? Reach out and we’ll help!
About Peter Rombouts
Managing consultant with a strong focus on the Microsoft Azure platform. Supporting enterprise organizations in the Netherlands as consultant, lead developer and hands-on coding architect. SogetiLabs Country Lead NL; Liaison for our global SogetiLabs network and Technology Lead for our Dutch SogetiLabs office. Fully certified Quality Software Development software consultant and fully Microsoft Certified Azure Architect in the Netherlands. Projects include the energy sector, local and national government organizations, insurance companies and fintech. Peter is also an author of eLearning videos and eBooks on Microsoft Azure at Packt. Peter focuses on architecting and designing maintainable, future-proof and resilient platforms and systems. His specialties are, Azure, Automation, Service Integration, Serverless, .Net, Cloud Software Architecture, Cloud Native, and Cloud Solution Design.
More on Peter Rombouts.