Some of the most common questions I’m asked by IT teams as they move from deploying, supporting and maintaining traditional applications (VM based apps) to modern application architectures are related to how to backup, restore or synchronise application data on the new platforms. Usually how to I modify my existing workflow to support Kubernetes.
The simple answer is that for a modern cloud native application that is build on 12 factor principles many of the day 2 operations are not required or are addressed at the application lay rather than the infrastructure layer.
I’ve been build a number of demonstration’s and examples recently to help education IT teams trying to understand this shift. In upcoming posts I will be covering a number of topics, many of these are not new to development teams but are new to IT in the concept of Cloud Native Applications. Some are almost direct translocations from virtual machine host applications to container hosted applications.
Application Level Messaging
Messaging between application components is certainly nothing new, MQSeries for example has been guaranteeing message delivery and message queues for decades. However the importance of global message delivery and consumption has never been more critical for highly distributed applications and services. Especially when you consider that services subscribing to your message topics maybe consuming those messages in new and interesting ways making the message / event mesh a critical component of not only a single application stack but a whole collection of related ‘micro’ services.
Simply using a message queue or event mesh to allow communication between Kubernetes clusters across multiple clouds or data centers and supporting that platform as an IT managed service can help application teams deliver into production faster. Using an event mesh to facility communication or even data migration between k8s clusters is a mature and well established pattern that is often overlooked by IT teams, who of course could use the same event mesh (using their own topics) to communicate with their own internal systems and services too.
I’ve been working with the incredibly talented and friendly folks at Solace recently to deploy and test their Event Mesh platform on Kubernetes (Tanzu Kubernetes Grid) alongside a Virtual Machines to demonstrate both VM’s & Kubernetes working together to share a common event mesh. I deployed TKG and VM’s in my home lab environment but equally theses deployments could have been in AWS / Azure / Google Cloud / IBM Cloud.. pretty much anywhere K8S or Virtual machine could be deployed.
The complete deployment and setup video’s are below. I hope you find them interesting.
Solace’s github site has some great code examples if you want to build and deploy some test applications of your own.