Intro 0:06 Welcome to Cloud Talk. Here's your host, Jeff DeVerter. Jeff DeVerter 0:12 Welcome everybody. My name is Jeff DeVerter, CTO over here at Rackspace, and welcome to Cloud Talk. Glad that you have taken the second to listen in. And today's conversation is going to be all about containers, and where they fit in the grand scheme of your enterprise architecture. I'm joined today by Tolga Tarhan. Tolga welcome, glad that you're here. Tolga Tarhan 0:35 Thanks for having me. Looking forward to it. Jeff DeVerter 0:37 Absolutely. Now, let's get some background on who you are, and why you are in this case an authority in serverless and in containers. Tolga Tarhan 0:46 I was the CTO of Onica, that Rackspace acquired back about six months ago. And in that capacity, and currently as well, have been pushing for cloud native adoption. And so as customers look to migrate and adopt the cloud. One of our big pushes has been to do that in a way that embraces what's unique about the cloud. And this is a world I've lived in for the past seven, eight years. Jeff DeVerter 1:12 That's excellent. So, just kind of as a preface then, think about things that are unique about the cloud. And why it's different necessarily than saying, 'Hey, here's my VM. And now let's put that VM out in a cloud.' And that's pretty exciting. It is exciting in some cases. But what makes the cloud? Give me a couple attributes of the cloud that make it unique and different. Tolga Tarhan 1:32 The simplistic view of the cloud is that it's a data center. And when you think about it in that way, it's like having a data center with no address. And if you just do that, is that really beneficial to you? When what you want to do is actually realize that it's a unique place, this elastic computing infrastructure. The programmatic ways in which you can use API's to do things that used to require someone to go plug a cable. Those kinds of things make it necessary to have a different approach. And if you take that different approach, this involves: people, process, technology changes. But if you do that, then you get this kind of promised land of the cloud with totally elastic scaling. Which is cost effective with better reliability, with automated deployments and a faster time-to-market. So we want to look at this as a new way to approach technology and embracing the new way brings a lot more value than just going to the cloud as a data center. Jeff DeVerter 2:28 That's awesome. So one of the things that I've said a lot to customers over the years is in the move to the cloud. It's not like the old days, where it was like VMware two to VMware three, or this physical server to that physical server. The thing that you had to think about every couple, or three to four years. But the the move to the cloud is not just a real estate change. But it's a process change. It's a methodology change. And so what are a few of the things, as you think about that, that a company has to change the way they think in order to truly adopt this elastic environment that you're talking about? Tolga Tarhan 3:01 Yeah, one of the first changes, and probably the most difficult change is probably a change in org structure. In a lot of cases, we see customers have very fragmented, very segmented, very functional org structures. But that doesn't lend itself well to a model where the infrastructure is deployed as code. When you're defining your infrastructure, your load balancers, your instances, your network stack, as definitions in a configuration file that you then deploy. That doesn't lend itself really well to a model where developers develop and IT professionals deploy. It lends itself much better to a cross functional team. Where all that's being done in a single team, all kind of versioned and source control together. And so the first step to this journey is a DevOps and agile transformation that should take place. Jeff DeVerter 3:51 Got it. And it's important to call that out. Because greater detail to what you said before. When you talk about people, process and technology. We so often think about IT as truly just we have to solve for a patch. We have to solve for an upgrade. We have to solve for a new version. As opposed to, we need to think about this thing from the business-end all the way down into the bits and bytes and how it all orchestrates and works together. Tolga Tarhan 4:15 Exactly. I think in doing that, is what is the enabler of future innovation. So, once you'd make the hard changes in people, in process and technology. Then the benefit is you move quicker in the future. You deploy new updates every day, or every week as opposed to twice a year. That means faster time-to-market. That means better customer experiences. And ultimately, we hope it means revenue and customer growth. And so this is not all about cost savings. It is also about that forward looking opportunity. Jeff DeVerter 4:47 Well that's cool because as you think about what you just described in the old days, you go back into the 1990s or even the early 2000s. IT was about - they manage their little bucket, their little world. And they would talk to the business when they HAD to talk to the business. And if the business came knocking on their door looking for a solution, a lot of times they had something in their hand. They say, 'Hey, can I can I have one of these, please?' And then IT would go off to vet it and they would make sure it's the right thing, which has some value. And it was this weird sort of, 'Sir may I have?' And then. 'I will bless you with that thing.' As opposed to this world that we live in now, where everything is working in concert, ideally. And what happens as they adopt newer technology is, they're also adopting new work methodology so that they can work closer together. And I think that one of the technologies that really has helped drive this concept, is the concept of containers. Now, Kubernetes was released in 2014. It has arguably won the race of which orchestration engine is going to win. And about 40%, of enterprise companies today are deploying Kubernetes, not into a test environment but into production. And 71% of Fortune 100 companies use it as their main container orchestration tool. But before we go too deep into all of that, there still may be a couple of folks who are a little fuzzy on container. So in the grand scheme of all things, not a VM and technology, in 30 or 60 seconds or less. What's a container? Why is important?What's its role? Or what's its economy as it relates to serverless? Tolga Tarhan 6:18 If you think about where we started in the year 2000, we would have physical machines and data centers. And that was like the norm. And fast forward, like six, seven, eight years later, the norm was virtual machines on those physical machines in our data centers. And then fast forward to like 2010, eleven, twelve. The norm was becoming, or the up-and-coming norm, was becoming VMs in the cloud. So, we took the VM sort of on-premises model and said, 'We don't care about the physical hardware. We're gonna abstract ourselves away from the hardware.' Well, what's the next level of abstraction after that? It would be to get further away from the operating system. And both containers and serverless are steps in that direction in different ways. So in the case of containers, we want to be able to provide a environment for application that's really well-defined. We don't want to have to worry about what version of certain libraries might be installed on the system. We don't want to worry about dependencies on other applications or conflicts with other applications on a system. And again, in the last decade, the way we address that is, we have basically put a single application on each VM. But that's not the most efficient use of VMs. And so what we're looking at now is, can we put more than one application on a VM using the same kernel? The same sort of instance? But isolate them from each other in a way that preserves that kind of feeling of one application per VM. And that's what containers do. They give each application, an environment that's very predictable, that is the same no matter where it's running. And that has isolation from other things happening on that same virtual machine, that's leading us to higher capacity. Jeff DeVerter 8:05 Yeah, so greater density into resource utilization. Then to tease out the differences between serverless, as we would know it running in AWS, or Azure or Google as these services or container, The container is a place for me to put a single application or an aspect of the application, But still be able to control it as its own thing, both in where it runs and also how it runs. But then when you think about a serverless environment, serverless is going to be as it would relate to an offering inside of AWS. For instance, its a technology that is going to handle automation. It's going to handle where it runs, its going to handle the storage and so forth. But it's going to be bound specifically to that cloud or to that resource set. Tolga Tarhan 8:53 I think that right now, serverless is very much sort of a per hyperscaler model. There's not a good abstraction across hyperscalers, I suspect that's a short term problem. I would look at the difference between the two more as in containers, you are still running a full application, it still has a full lifecycle. And you decide when it runs. And when it scales up and when it scales down. And you're still aware of the fact that there is an application that runs on top of an operating system. When you get to serverless. It's one layer of even deeper of abstraction, where you don't even think about the operating system. You don't think about what instance are scaling up or down. It's just in response to an event, some code runs. And so the only time you're writing, is the code that runs in response to an event, not any of the sort of infrastructure oriented code. And while I kind of personally think of serverless as the more cloud native approach. It's not right for every application, some applications, go to containers and stay there because their model fits better. Jeff DeVerter 9:57 This kind of brings out the point that it's not like you have to choose, I'm going to go only serverless as it relates to something inside of Azure. Or I'm only going to use containers for this application over there. And in my opinion, what you're looking for is to breakdown either existing monolithic applications. Or as we think about writing applications to decide, well this aspect of this application really lends itself well to a container. But yet, we're going to control the event triggers around it and run them in a serverless world and use those in concert to where they fit best. Tolga Tarhan 10:32 Yeah, you make a really good point here that even within one application, you don't need to choose one or the other. And in fact, it's very likely that as you migrate existing applications. Or as you break up existing monoliths, containers are going to be the more obvious path. It's going to be a lot less effort, all you have to do is work around the edges of your application, as opposed to major surgery on the application. But let's say, as you then build new features, you create a new micro service. There's no reason that new micro service might not be a great target for serverless. Given that we basically use entirely web based API's now to communicate between services. And in almost every case, it shouldn't really matter to any other part of your system, that one service isn't serverless and 10 others are in containers. In fact, that to me, is proof of maturity in your approach to micro services that you could do that without breaking your application. Jeff DeVerter 11:27 Well, many companies also think about, are worried about vendor lock-in. Meaning when they think about moving to a hyperscaler, they think, 'Well, I don't want to use these advanced capabilities here.' Meaning their container orchestration engine or their serverless capabilities because then I'm locked in. And if they've raised the price, or I get mad at them, I can't move. And their ultimately looking for portability. And unfortunately, portability oftentimes drives them towards the lowest common denominator from a technology perspective. And most companies then would only think, 'Well, I'm just going to be using network storage and VMs.' But containers actually gives them a level of portability. But I think that actually, adopting a serverless architecture on top of containers creates a super interesting way to break up that portability. You might use a serverless orchestration engine that's running in one cloud. But your containers are running in another for different reasons. Whether it's, I want to diversify my state, I want this to run across multiple clouds, or the regional accessibility for some aspect of that. What are your thoughts there? Tolga Tarhan 12:34 You're right that portability has become a really hot topic. And I actually wrote an article about this, that was published in Forbes recently. About when to choose multicloud, and what's the value of portability? And so at a high level, I would say, we should not use portability as a way to do cost arbitrage. I think if you're approaching application portability, because you want leverage over-pricing from the hyperscalers. I think very few customers, you could count them on one hand, that have enough scale to actually impact the hyperscalers negotiating position. They for the most part have discount programs that are well understood, that are consistent. And threatening to take a workload from one to the other, I think is not a great negotiating tactic. Having said that, portability makes sense in a number of other cases. It makes sense if your end customers might want you to operate your service in the same cloud as them. And in that case, you may need to deploy a version of your service on all the different hyperscalers. That's one thing we're seeing more and more of, Jeff DeVerter 13:40 And that applies super well to VARs. Somebody who's going to create software. That software-as-a-service type of offering and then their ability to deploy it across all clouds, a container becomes a great way to do that. Tolga Tarhan 13:52 Exactly right. I think that VARs are going to change their software distribution mechanism over time to be primarily container based. Because imagine a world in which there are no install instructions. There are no prerequisites. There are no things you must go configure before you can install the application. It's more just like, here's a container image, it's already fully baked. And you can deploy this image in any hyperscaler, or on-prem, or in a private cloud. That's really valuable for VARs. And I think, we'll see them go that way. I think we'll also see SAS vendors go that way as well. I think you've got some enterprises that are standardizing on one cloud, and they prefer to see their SAS vendors in the same cloud with them. Jeff DeVerter 14:32 As we think about containers, adopting them, this ubiquitous way across multiple hyperscalers. But then we start to bake in serverless. Things start to get interestingly complex. And there's always been complexity. You look at these big monoliths, people are finding ways to deconstruct and move elsewhere. That had a huge amount of complexity. But I think what gave enterprises comfort is that they could put their arms around that complexity. They control that complexity. But when you start spreading it across these different services in areas that they can't necessarily touch, and they can't necessarily control. It creates uncertainty and that's a huge piece of complexity. What are some of the other aspects as you think about the complexity, that maybe dissuading people from adopting this type of methodology, Tolga Tarhan 15:22 I think there's a probably a psychology case study we could do on this, because it's so simple, it has become complex. What I mean by that is, for example, AWS console, you can go to Lambda, which is their serverless product. And you can write your first 'Hello World' in three minutes. The problem is, that simplified approach, makes it look like: 'Hey, how am I going to scale this out to my dev team of hundreds of people? And my mature change control processes? And my need to promote between environments?' And there's a big gap between the, 'Hello World' do-it in the web console. And the here is a fully baked sort of DevOps integrated process where I commit code and things happen. And I've got organized ways to deploy new services. And I've got a standard way in which I express my infrastructure requirements, and whether that's terraform or cloud formation or something else like that. And so, I think, once you get past that first hurdle, and you see your first successful serverless project. Then it all makes sense. Then it's like, okay, I see, here's how I structure code base. Here's how it's versioned. And here's how it works. 'But I think that leap from the console to that, is hard to make for most people. Jeff DeVerter 16:32 That's really true. And doesn't that also then start to show to IT specifically how they can start to work closer with the business. In fact, even the business getting involved in the testing process more directly and in the promotion process? Tolga Tarhan 16:48 That's right. One of the things we didn't talk about in containers is that because they represent the entire environment. They represent a full definition of the application. If you do it right, you can deploy them really easily. So, deploying a test environment doesn't become a major IT project. If everything is cloud native in the way we've talked about it. Any developer or frankly, even a business user could probably push a button and launch a new test environment. And this is a another good litmus test for how well have you done in becoming more cloud native. And so that enables very different models of testing and very different models of engaging with the business. Jeff DeVerter 17:31 And engaging with the business. And again, we're talking about testing, we've been talking about technology. So, we think we've got to test our code. But it's not just that, it's testing the business rules. It's testing the data, what is the data now do inside of this environment? So, now inside of the business - they can deploy a test environment front load a new set a new data set into that. And check behavior, one of the code, and then two, do the business rules still apply? Does the data still apply? Those sorts of things. Very powerful. Tolga Tarhan 17:57 Yeah, exactly. And you could do all that with VMs. And people have been doing that with VMs by orchestrating every aspect of the deployment. So, you deploy some terraform, or some cloud formation, and up comes an environment and the instances auto provision their applications. It's all possible with VMs. But it is so much simpler with containers. And the tooling is built around the concept and this whole ephemeral instance idea is so natural, and containers - that I think it just advances the maturity much, much more quickly. Jeff DeVerter 18:27 Well, that and it makes it so much more accessible. Because when you think about having the wherewithal from an infrastructure perspective, to be able to spin up some of these large environments to do the type of testing. I mentioned before, was a bit of resources to have that amount of capability sitting idly by waiting for a test run. As opposed to a lightweight container environment that could could spin up kind of literally anywhere, even on their desktop. Tolga Tarhan 18:53 Exactly right. In fact, desktop is a good point. So, as you advance in containers, or serverless, to more mature processes, you've got to give developers back that ability to do work locally. That's what they've been doing for decades. And waiting to deploy to the cloud to test the ten lines of code you just wrote, is super frustrating. Jeff DeVerter 19:15 Let's just pivot, just a second. Now, as we think about containers, and the work that happens between containers in the serverless world, because we should think about them together. It's a great way to mature. And we think about Kubernetes having sort of won that orchestration space from a container perspective. We think about how the serverless world works together from a mesh perspective. The jury's still out a little there. So first of all, what does mesh mean in the context of serverless? And then, we'll talk about who some of the front runners are there. Tolga Tarhan 19:45 So, the idea of a service mesh is to take four challenges with microservices and bring them together into a unified solution. And the four challenges are service discovery. So, how does one service find another service it depends on? Routing and load balancing would be the second one. How do I know which instance of a service to send a message to? And how do I balance that load? Then you have security and service identity. So, how does one service authenticate itself to another service in a way that doesn't assume the network layer is trusted. And then the final one is, metrics and analytics. Being able to gather metrics that have insight across the ten microservices that might be involved in one request. Jeff DeVerter 20:32 Great way to break that down. And while there isn't necessarily a single vendor or company that's winning in that space from how that happens. There are a couple of leaders, HashiCorp has got some stuff out there, Istio has got stuff some out there. Any that ring true for you? Or you've seen some good examples with? Tolga Tarhan 20:52 No, I think Amazon has their app mesh product, that's one option. You do have Istio as you said, that was developed by Lyft, and has a lot of industry backing behind it. And you have Linkerd, which is a CNV project, which is the same foundation that runs Kubernetes as a project. And so I think those are all worth looking at, unlike the container space, where Kubernetes has clearly emerged as a leader. I'm less convinced that we've seen that here. Jeff DeVerter 21:20 Agreed. Well, you brought up, what Amazon is doing from a container perspective talking about their mesh capabilities. But let's talk about Bottle Rocket really quick, because that's been an interesting thing that's in preview right now. It's a Linux OS that's just meant to run containers, it's got the core of what it's got. Do you have any experience with it? Or can tell us a little bit more about Bottle Rocket? Tolga Tarhan 21:38 Yeah, I haven't gotten to get hands on with it yet, I would very much like to. But Bottle Rocket essentially is that kind of stripped down minimal operating system distribution that was built for containers. And so, it assumes that there's nothing running on the instance but the agents that manage containers and the containers themselves. Like the other recent Amazon Linux releases, it comes with a guaranteed period of support where Amazon will continue to provide updates to the image and it integrates really well with Amazon's container management product to make this more seamless. If you think about it, you don't really want to even think about the operating system when you're deploying Kubernetes. So why not give you an operating system that doesn't need to be considered, that's fantastic. Jeff DeVerter 22:25 Good stuff. Well, containers, obviously a huge aspect of a company's move to the cloud. And just really change in methodology, we can say move to the cloud. But the reality is, it is just a change in methodology. Because as you mentioned before, containers run quite well on a desktop. Now, to do it at scale, you need a little more muscle behind it, but a fascinating way that it's being used. So, as we start to wrap this up, I do want to chat a little bit. We're recording this right now in a time where everybody does everything from home. COVID-19 is working its way through the world. And just as all things from a technology perspective, are changing the way business runs, technology has really had a chance to stand-up in this time where we're all locked at home. And I just thought, maybe I'd ask you, what ways have you seen technology really assist during these times? Some some positive aspects there? Tolga Tarhan 23:20 Yeah, clearly the connectedness that we have, with all the video conferencing has been the most notable thing. So if we think about this same incident 10 years ago, I think there would be a much deeper sense of isolation for people. Obviously we had video conferencing 10 years ago, but it was more limited to enterprises and in many cases had specialized gear involved. You look now and everyone's got the bandwidth, everyone's got the cameras at home. This is an easy thing to hop on. And there's a dozen different tools. And a bunch of those vendors have come out and done really good things for the world by allowing educational institutions and nonprofits and others to use these video conferencing platforms to keep people connected. Just a few minutes ago, my own daughter was on a Zoom with her teacher. That's an incredible thing that I don't think anyone would have thought of, or maybe would have thought of it, but would have imagined it being real ten years ago, Jeff DeVerter 24:15 So true. My son goes to a small private school, and I was talking to his headmaster a couple of weeks ago or back, actually about a month and a half ago when this was kind of starting. And I said, 'You realize that you have the opportunity to really just run your schedule as you run it.' And his teachers at that point weren't necessarily prepared for it. But again, just like you said, a week ago, he was on with his iPad with his teacher doing some math homework. Sharing his screen showing his work, and they were able to work through that problem, without any problem. Tolga Tarhan 24:44 And, what that brings up Jeff is what I'm also seeing are those enterprises that where unprepared for this, that had never imagined work-from-home. And in fact, I think you see this most in enterprises that assume that there's such a compliance and security and privacy burden thing. Like a financial institution, where they don't want people working-from-home because they don't want data to leave their four walls. I think those companies are now having to rethink that pretty significantly. And I think it'll have an impact, well beyond the current crisis to where the idea that physical location is how you secure information and ensure privacy, I think that idea is going to largely be gone after this. And we're gonna find other technology approaches to privacy and security. Jeff DeVerter 25:27 Yeah, and think of all the products that are going to stem from that that will be built in the cloud and running with containers and serverless. Now it's time for the Tolga prediction. What's the one thing you think from a tech impact perspective, you sort of just alluded to it, but what's going to be different? We all go back to being able to go out to a restaurant and have a meal without you having to lift a facemask. But what tech impact are you going to see in society when we look back at this six months later? Tolga Tarhan 25:54 I think it's going to be primarily driven from this idea that offices ar no longer the place where business is conducted. That offices are a great place to collaborate. And I think obviously, they will stick around. But I actually think, we'll see a really big emergence of work-from-home because people have now gotten comfortable with it. And companies have now had to take the steps to enable it. And I think it's going to be here to stay. So, I think we're going to see a more broad adoption of flexible work location policies. Jeff DeVerter 26:24 I don't want to call it a necessary evil that at first companies wanted to hire that person who wouldn't move. But now they've seen it, just like I've seen with cloud adoption, about that first 'Hello World' type of thing. And then a company is going to launch their first application. It's definitely not going to be something that the company's financials ride on, it's going to be a test thing, maybe a calendar app. And they're going to realize the world didn't end because they put that thing out in the cloud. And more, and more, they will adopt it. Well, now we've all gone home. And business is not just continuing. It's from our perspective, it's thriving. We work in a great industry for that. But we've gone past that point of, 'Let's just try it and see what happens.' 'Well, I can't see your face. So that must mean you're not necessarily getting everything done, you're supposed to.' But we're seeing an incredible amount of productivity in our own business continuing to go even in this world, where we're not everybody's has been comfortable with it in the past. Tolga Tarhan 27:18 Yeah, that begs to Jeff, the societal impact, right? I think actually, people are working harder when they work-from-home, because you kind of just get out of bed and you're working. And then before you know it's past dinner time. And so I do think as work-from-home becomes the norm, or at least becomes more widely accepted, people will have to start figuring out how to re-develop that work life balance that I think is lost in work-from-home. Jeff DeVerter 27:43 Super true. And what will that do to HR departments inside of companies, when somebody is looking for... needs a new employee inside of the organization. It is going to be so much easier for us to hire anywhere in the world. And know that we have the wherewithal and the infrastructure to be able to. And the trust to be able to hire somebody anywhere based on talent, not necessarily on location. Tolga Tarhan 28:05 Yet, but I think that sums up the sort of impact really well. Workforce management is going to just look different. Jeff DeVerter 28:12 100%. Tolga this has been a great conversation. Thank you so much for taking some time here. Any any closing thoughts? Parting shots that you want to take here? Tolga Tarhan 28:21 Every time I get a chance, I just like to remind people to adopt the cloud in this cloud native way. It won't be that much more work than the lift-and-shift way. And you will be thankful for it very quickly after you do it. So my advice to everybody is, make sure you take a look at a cloud native adoption of the cloud. Jeff DeVerter 28:38 Absolutely. Well thank you Tolga. I appreciate your time today. Tolga, of course leads our AWS teams and delivery, over here at Rackspace as a continuation of what they did coming in with Onica. Great. Very glad to have you. My name is Jeff Deverter CTO here at Rackspace and you've been listening to Cloud Talk. Closing 28:57 This has been Cloud Talk. You can find Cloud Talk wherever you find your favorite podcasts. And be sure to check out more content from Rackspace Solve at Solve dot Rackspace dot com.