Learning Library

← Back to Library

Containers vs Mainframes: Scaling & Consistency

Key Points

  • Containers achieve scalability by adding many distributed instances, whereas mainframes rely on vertical growth, making them larger in a single, centralized location.
  • A hybrid architecture can place containers near users for low‑latency front‑end processing while using the mainframe as a centralized back‑end for critical data and workloads.
  • Containers often shard or duplicate data to enable horizontal scaling, supporting eventual consistency for non‑critical information, while mainframes maintain a single, always‑consistent database by scaling up.
  • The decision to scale out (containers) or scale up (mainframes) hinges on whether the application’s data requires strict consistency or can tolerate delayed synchronization.
  • By combining the container’s flexible, geographically dispersed compute with the mainframe’s high‑integrity, centralized processing, systems can achieve both performance and reliability.

Full Transcript

# Containers vs Mainframes: Scaling & Consistency **Source:** [https://www.youtube.com/watch?v=H9m04URhpsk](https://www.youtube.com/watch?v=H9m04URhpsk) **Duration:** 00:05:21 ## Summary - Containers achieve scalability by adding many distributed instances, whereas mainframes rely on vertical growth, making them larger in a single, centralized location. - A hybrid architecture can place containers near users for low‑latency front‑end processing while using the mainframe as a centralized back‑end for critical data and workloads. - Containers often shard or duplicate data to enable horizontal scaling, supporting eventual consistency for non‑critical information, while mainframes maintain a single, always‑consistent database by scaling up. - The decision to scale out (containers) or scale up (mainframes) hinges on whether the application’s data requires strict consistency or can tolerate delayed synchronization. - By combining the container’s flexible, geographically dispersed compute with the mainframe’s high‑integrity, centralized processing, systems can achieve both performance and reliability. ## Sections - [00:00:00](https://www.youtube.com/watch?v=H9m04URhpsk&t=0s) **Container vs Mainframe: Scaling Debate** - A dialogue contrasts containers' horizontal scaling and global placement with mainframes' vertical scaling and centralized processing, showing how the two approaches can complement each other. - [00:03:02](https://www.youtube.com/watch?v=H9m04URhpsk&t=182s) **Mainframe Integration with Modern Dev Tools** - The speaker explains when eventual consistency is acceptable, then highlights that mainframe developers can use the same IDEs, pipelines, and build/deploy tools as modern container‑based developers, enabling a unified workflow across COBOL, REXX, Java, and other languages. ## Full Transcript
0:00Hi, I'm Container. 0:02Hi, I'm Mainframe. 0:05Even though I'm a container, I started my career as mainframe. 0:08So for today's video, I was thinking of a little retrospective. 0:12We're going to look at three different scenarios to see how they're approached 0:14from both viewpoints and how they might work better together. 0:18Sound good? 0:19Sounds great. 0:20Let's get started! 0:21Cool. 0:22Let's start out with scaling. 0:23So, when I need to scale to add additional capacity, I scale horizontally. 0:30Adding new containers. 0:33How's that scenario play out for you, Mainframe? 0:35And I don't have that problem. 0:37I just scale vertically. 0:40So I just keep getting bigger and bigger for all my work. 0:45Okay, "bigger". 0:46You say bigger, but how much bigger is bigger? 0:49Can you put those in some practical terms for me? 0:51Yeah, we're not just talking CPU or memory. 0:54What we're really talking about is what is the work. 0:57I can do 100,000 transactions, 1:00just me, a second. 1:02Well, that's great, but I can put my containers anywhere in the world. 1:06So, for example, I can move closer to where the people are located. 1:10How's that work out for you, Mainframe? 1:12I'll stay in the data center because I need to be there, 1:17but I can be the back-end processing to your front-end localization and so we can work together. 1:24So that's kind of a smarter architecture 1:25that takes advantage of having a centralized location for key data, but bringing the compute capacity closer. 1:32Absolutely. 1:33Sounds fun. 1:34Okay, so let's look at the next one, which is consistency. 1:38So again, I scale horizontally when I'm using databases to add additional performance capacity. 1:45How does that play out for you, Mainframe? 1:47You can guess. 1:48I just get bigger. 1:51I'm seeing a pattern here so far. 1:52Absolutely. 1:55You either have to shard or duplicate your data. 1:58But in my world, I just keep getting bigger. 2:03And let me give you an example for that. 2:05So let's say I'm an inventory system. 2:09I need an always consistent version of my inventory for my whole organization. 2:16But I might want to copy out in the local store. 2:19That local store copy can represent only that small amount of data of that store. 2:25And it's okay that it may not be consistent with the whole world 2:30because it represents that store and it'll get pushed updates from the rest of the big database in my system. 2:38Okay, I see that, how that makes sense. 2:41But aren't there cases where duplication actually is the right choice? 2:45Yeah, there are cases where data doesn't matter in the same way. 2:49We think about bank account balances, inventory, it really matters. 2:53But social media? Okay, you can put that local because if it's not always consistent, it doesn't matter. 3:01Or your shopping cart. 3:02Those kinds of things might sit better locally near the user and then whenever they replicate back, it's okay. 3:10It doesn't matter that it's not always consistent. 3:14You have to look at your data. 3:15Does consistency matter? 3:17If it does, large/scale up. 3:19If it doesn't, scaling out works. 3:22So there's cases for eventual consistency and 3:25where it's required, where maybe like an eventual 200 milliseconds is not going to be the end of the world? 3:31Yes. 3:31Fair enough. Okay, so we come to our final topic, tools. 3:36Now come on now, developers, they love me! 3:39All the cool tools hang out with me. 3:42How's life in the REXX/JCL land for mainframe? 3:47I can use all the same cool tools. I can use the same IDE. I, with my COBOL or REXX or any other traditional mainframe language. 4:01And I can use those modern languages too. 4:04So for my world, I've got them all. 4:07And guess what? 4:09I've got a pipeline too. 4:11And I can use your pipeline, the exact same pipeline with a version of the build tools and deploy tools. 4:18So it's all exactly the same from the developer's perspective. 4:24So you're saying we have one pipeline of which part of it belongs to those working on mainframe, 4:29part of it belongs to those working on container. And that's where we meet in the middle? 4:33Absolutely. 4:34But they're the same tools. 4:36So if you want to work on Java one day and COBOL the next--yeah, you can still work on COBOL. 4:44It would be in the same tools, same IDE and same pipeline. 4:48Cool. 4:48Well, thanks, Mainframe, but you get the last word. 4:51What do you want to have as our take away for this? 4:54Well, it's really important to think about the fact that they work better together, containers and mainframe. 5:02Use this concept of fit-for-purpose. 5:05Run the workload where it belongs and let the developers use all the tools they want and deploy it as part of the pipeline to the right place. 5:14Awesome. 5:14Thanks a lot, Mainframe. 5:16And for those who are watching, please before you leave, don't forget to hit like and subscribe.