 From the CUBE Studios in Palo Alto in Boston, connecting with thought leaders all around the world, this is a CUBE Conversation. Welcome to this CUBE Conversation. I'm Paul Gillan, Enterprise Editor at SiliconANGLE. We've been talking a lot about cloud native on SiliconANGLE lately, and my guest is someone who had a seminal role in defining the the principal architecture, some of the foundational technologies for cloud native applications. Ben Golub is the CEO of storage, a company that has a really interesting new approach to storage management. They will talk about in just a bit. Ben is probably best known to many people as the former CEO of Docker, which pioneered software containers and was one of the fastest growing companies in Silicon Valley history. Ben, thanks for joining us. Prill, appreciate you being here today. Thank you. It's great to be here. So let's get into the question of cloud native. It's a theme that we're focusing on right now. How important is it for organizations you believe that are moving to the cloud to choose to re-architect around cloud native principles? Well, I think it's it's I mean two points. First of all, I think that the cloud native is sort of a spectrum and for many people there is a point along the spectrum that makes sense. You know at the far end of the spectrum is applications that are deployed on a massive scale that are composed of thousands of microservices, you know, heavily orchestrated with things like Kubernetes scaling up scaling down for many organizations They don't need to go all the way there to get real benefits And maybe the related thing is that I think for organizations, there's absolutely From almost all organizations, there's value in moving along the spectrum But they should be thoughtful about where it is that they're going why they're going either or thing and they Applications can live along the spectrum You submitted some Comments recently for an article we did on this topic and among them you said that some applications may make sense being containerized or Dockerized but not being orchestrated with Kubernetes. Can you give an example of something that meets that criteria? Sure. Well, again, I think that Almost all applications can benefit from running on more cloud-like infrastructure. There's certainly value in having infrastructure that that scales up or scale scales up the scales out That where people can be able to sort of dynamically use resources and not have it have to rely on big iron But in terms of the applications themselves applications traditional applications can run well in Cloudy environments provide that some steps are taken and often for many organizations the first step with a Traditional application is simply to containerize it or dockerize it That gives a lot of benefits including, you know Ease of migration Greater ease of adopting things like CI CD and you don't necessarily have to take all of your traditional applications Break them into lots of microservices start orchestrating them with Kubernetes on day one for some applications It may never make sense because they're not going to be you know run at massive scale Many people assume that containers and cloud native architecture are inextricably linked. Is that your opinion? Well, so I think that Cloudy infrastructure Tends to benefit from from containerization But it's really it's more of an application question if you are breaking your application or your writing applications that are composed of lots of different services Almost inevitably you want to have those services in containers so that they have clean interfaces between them And so that and you can do the things people want to do with cloud native, which is you know make changes to You know microservice a with a small team and do so rapidly without unintentionally screwing up microservices BCD etc. And the doctors a containerization Among other things provides that nice clean interface How have you seen I mean since you left docker three years ago how have you seen the container technology evolve What do you think are some of the most important evolutions we've seen in container technology since then? Yeah, so I think you know What has been really important for us to see that the community continues to grow. So of course the doctor may continues to grow There are now lots of other communities around it the cloud native computing foundation Kubernetes and I think what you're seeing is really the maturing of this technology so that Applications can be written In a cloud native way much more more easily the barriers to making an application cloud native really come down but also the potential for Running applications at really massive scale Have have have increased and there's certainly a number of interesting things that have happened in the storage space in terms of persistent volumes things that have happened in terms of Serverless technology service messers meshes like Istio and these are all really great examples of how the community is filling in around containers We've heard a lot about the benefits of portability that come from using containers But being portable can involve some trade-offs because you have to give up some of the native Functionality of branded cloud platforms. Do you think that the goal of multi cloud is overblown? um I I think there is real value in being multi cloud and I think I think that um while You know the the larger cloud providers have have provided great services You know they it is in their nature, of course, we're trying to get all of the workloads run within their within their their four walls and I think for most organizations You know locking is a bad idea regardless, right? You know, we're in a distributed world. Most people want to be able to run their applications at scale in a distributed way and they want to be able to um, you know take advantage of of spare cycles and in the most efficient way and we're doing so and so having lock-in I Uh, I think is a bad idea and for most organizations the investment to become portable, you know, while not trivial pays off in the long run How about some of the cultural issues is something that you also mentioned in the the comments you contributed to us earlier Uh, we hear often that the biggest impediments are not technical or even skills But actually changing the culture to adapt to a cloud native way of building applications How should organizations prepare for that shift? um, well, I mean, I think I think if they should uh Recognize what those differences are going to be and if you're writing, you know The traditional method was you write a large monolithic application Because it's so big and complicated generally speaking people follow sort of a waterfall Procedure they have large teams working on it and you know, you update the application once or twice a year uh at the height um the Cloud native approach is let's write applications that are composed of lots of smaller services Produced by smaller teams that move very rapidly and a lot of the testing and the deployment happens in a very automated way Um, and the cultural barriers are are are pretty large, right? I think most people are happy at the end of the journey But there's a period in between where things are difficult and that you're You know, you're breaking glass as a well And so I think for for a lot of large organizations the approach that often works best is to have a a few um sort of isolated green field application Approaches where you have a small team that is sort of proving out and becoming good Ambassadors for doing things in cloud native way But there's also an evolutionary way to bring the older applications along that for many organizations is really helpful Uh, that doesn't sort of have you running head on into the cultural issues with the official application So break them up into teams and have different teams at different stages of evolution Right right and so I think you can have a a small advanced team that is That is working on new applications that are greenfield and building them in a cloud native way But then the sort of transition path for the teams that are working on the older applications traditional applications that were not initially architected in a cloud native way Is to break them down in an evolutionary way first dockerize or containerize the Traditional applications then maybe break them down from a monolith into So say three tiers each of those tiers being containerized Uh, and then potentially pull out one of those services if it's a common service across all of the applications And start using that and and the process I think we find organizations Get the sort of muscle memory around doing things in a more Continuous way in a more agile way and they get experienced with tools like c i c d docker Kubernetes etc in a more organic way Do you find that people who come from the traditional waterfall development background eventually can make that shift? I think some can You know there there are there are pluses and minuses, but I think that most organizations find that as they get more agile Things that used to be very difficult become a lot easier right so rather than having big masses of code that need to be Uh rewritten and you change uh, you change something in one area and it breaks things in an unexpected way in another area Right and and you're trying to get large teams of people to sort of agree on things which we know is tough to wait for world works When you get to smaller teams working on more atomic pieces of the code with clean interfaces between them And can iterate more rapidly without having unintended consequences from us organizations that not only makes them Faster, but it gives higher quote quality safer etc Another topic we hear a lot about today's application modernization. What does that mean to you? Um, so I think for me application modernization means that you are Re-architect you're you're you're making the application itself more more cloud-like Which doesn't mean that you make it full-scale cloud native on day one right, but that you Uh, for example taking a traditional application and dockerizing it or containerizing it Just containerizing the monolith actually gives some real real advantages. Um Uh, and that then sets people up to say let's not only take the advantages that we now have in terms of portability But let's start exploring the advantages that we can get from having more frequent deployments or Uh more automated testing And so really it's it's modernizing the application But also modernizing the environment around it in the culture for how you build and deploy applications Let's turn to your current venture storage You've been the CEO there for about two and a half years now a very interesting decentralized approach to storage using blockchain Just tell us quickly how you're reimagining the storage Sure, sure. Well, I mean for uh for of course most of uh, Of computing history storage was done Uh by people buying their own disk drives and then storing data on it and if they failed or got lost That was a problem Uh, or they had to buy too much that was expensive Then we moved to centralized clouds where you're storing data on drives that One organization was running we've sort of taken it a step further where we built a A storage service, um, but we don't override our own any disk drives. We were sort of like airbnb for disk drives, right, but we've uh gotten Tens of thousand people around the globe Generally data centers who have spare capacity enabled them to rent out that spare capacity And we're offering our customers a way to do storage that is much safer Much more private faster and far less expensive than with the traditional clouds Certainly intuitively it would be less expensive. How is it faster? uh, well, it's it's it's faster for a lot of the same reasons that, uh, you know the the internet if you will is faster than uh Then traditional, uh, you know the traditional first force landline We were able to take advantage of parallelism, right? So we break every file up into a large number of pieces Which are then distributed across the network. And so First of all, we don't get slowed down if some of the drives are slow or they happen to be in an area where there's network congestion It doesn't slow down We also end up having generally speaking have our data much closer to the edge. So if you're in um If you're in kenya and you're viewing a video that's sort of served from our network chances are the data is getting served from Uh drives are a close review rather than drives that are in kansas Uh, it sounds like there are some sort of cloud native Aspects to what you're doing. In fact, are you adopting some cloud native principles? Our service, uh in a cloud native way But it really sort of almost takes the cloud native notion of distribution It takes it even a step further, which is that uh things are highly decentralized and so we built our built our service, uh In a very particular way because we are not directly controlling the the disk drive. So we basically use algorithms and math to make sure that we're resilient against any failure and uh and uh And things are done in a highly automated and scalable way So that there's really no single points of failure and there's sort of infinite scalability Which is which is really a goal of cloud native, but we take it a step further and blockchain is what knits this all together Right what tracks the location of all the of all the data. Uh, so actually not it not an arc is we use we use blockchain uh For certain purposes namely, um compensated the people who are running the uh running the drives Um, so they they do cryptographic proofs to prove that the data they have is that they should have To get compensated for running it. But then we we we've certainly used a large range of different kinds of peer-to-peer technologies and and even frankly some Very cool but very old technology like erasure coding which is on the on the voyager spacecraft to make sure that all that's together In a in a way that's safe secure private and super fast Are there other applications of this technology you've developed beyond storage? Uh, well, so we are working on uh decentralized storage other people are out there working on decentralized computing You know where the application can be written and run on Uh, uh, sorry, it can be run on uh using cpu's that are all around the globe We happen to think storage is is probably the most important solve problem to solve first um because You know death taxes and data that never go away and the world's creating more more data every Every year it would actually the data created this year would have filled a stack of cd wrongs to format of mars and back And it's gonna grow from there. I love those analogies. Yeah, some of that some of that, you know, that's cat videos but a lot of it is Really super critical data on finding, you know, therapeutics for cove or the cure for cancer or new new forms of Energy and and so find a way to do To give people their weight the ability to sort of store their data in a highly secure highly efficient and and cost effective way We think is really important And what should we be looking for for from storage for the next year? Uh, well, so storage is uh is introduction. Um, we are adding uh adding users Uh, we are starting to see some larger users, which is a very exciting for us. Um Today we're used primarily for sort of second tier storage what we expect to be moving into sort of primary storage and an even cd end down the road It turns out that what we What we've built is a really great way to distribute large files Including video and and photos and x-rays and satellite images and things like that Well, Ben, thanks for joining us today. I know you're a cube alum. You've been many times on the cube I think this is the first time we've done it virtually though I know I So I I do miss being in the same room as you and your colleagues, but this is this is a pretty nice substitute So do we believe me Ben gobb ceo of storage. Thanks for taking time for being with us today This has been a cube conversation. I'm paul gillen. Thank you for joining us. Be well