Skip to Content
47:00 Webinar

Portworx Food Services - An Engineering Expedition

Join the platform team from a fictional food services company while they deploy and manage some of their critical, containerized applications.
This webinar first aired on June 14, 2023
Click to View Transcript
00:03
Hey, everybody. Thanks for joining us today for our session. Port works Food services, an engineering expedition. This is our list of illustrious speakers that are going to be joining us today and I will kick things off as myself. All right, everyone get ready to embark on an engineering expedition with Port works,
00:28
food services. I promise that this session will be unlike anything you've ever experienced. Instead of a typical, typical presentation, you will, you'll witness our Port works, technical marketing engineers in action as they immerse themselves in the world of platform engineering. Together, we'll experience challenges faced by
00:45
our fictional food company. Port works food services as they tackle a set of real real world problems and take on a new project while you're watching, see how many of these scenarios feel familiar to you from your own experiences. Now, we'll join our engineers from Port works food services as they enjoy a typical day in the office
01:09
project project. Picnic basket. Who comes up with these stupid names for projects? Eas, that's not a word. Hey, good morning. Oh, hey, I'm, yeah, I'm Justin. I just joined this week, so I'm still getting used to works barbecue.
01:30
Awesome. So you had like HR and stuff? Yes, I got my swag. You got your new hire? Uh Love the hoodie swag. I love it. So. Awesome. So what's your background? So I did like admin kind of work. Um I think this position is called platform engineer.
01:43
But yeah, I did, I did, I have some experience with a WF technologies, did some infrastructure with telecom, so mostly around the Aws side. Um Yeah, that's my background. Ok, great. So, uh so we'll be working closely together. Uh Are you familiar with our stores and stuff for work?
01:58
Barbecue? I'm sure you've been to our restaurants and had our barbecue and stuff before. Yeah. Yeah. II I do like I'm, I'm a vegetarian but I love the fact that Port Barbecue does have a couple of vegetarian options. So, no, that, that really helped me out. So awesome. So we, we, we interest, we'll be certainly
02:14
looking forward with the input you have on how we can update our menu as well. But your specific job here is platform engineering. Oh, ok. Ok. Yeah, I can live it out. Ok. So uh let me show you around uh what we're managing currently. Yeah. Um So our main application is uh we call the
02:31
Barbecue app. The Support works Barbecue, right? Um It's, it's, it's pretty simple. It's consists of two parts, there's a, a web front end which is our Barbecue app, right? This is where customers can go and, and purchase barbecue or make their orders and we store all the data for that in a Mango DB
02:48
database. Ok. So that's really what we're managing for our, our main production application. I'm new to Mango DB. But yeah, I get it done. Ok, great. Yeah. Um, so we run everything on Aws currently. Um, our barbecue application itself, uh, runs in containers of running it on Amazon Eks.
03:07
Uh, we've got at least one container or two containers running at a time across availability zones, right? And we've got a scaling group in there as well. So we're using the horizontal pot out of scale for, for that, right? So um if we have a large amount of traffic, that container scales automatically for us, so we can scale up to meet whatever demand that
03:25
we're having, right? Like bowl parties, things like that, right? When we get a lot of orders coming in, uh we need to be able to automatically scale without having somebody, you know, call us and say, hey, can you scale our application? That's it. I'm not doing that.
03:37
I'm watching the Super Bowl. It looks like this is following the architected framework from EWF as well. So yeah, yeah. OK. So the, the data part, right? We're using Mongo DB. We've got uh interesting, we've got, we've got DEV environments and things we have them on prem, we use uh VM Ware V sphere uh for a lot of things.
03:54
Uh our production environment though is on Amazon. Uh So we're using EKS for that and then the database part of it is we're using managed uh managed services. OK. So, uh we're currently using Amazon document DB, uh which has Mongo DB compatibility in it, right? So we've got a primary node where all the, the rights happen.
04:13
But we've also got uh replicas for, for additional reads and things so that we can also scale the database part out as well. So for the DEV piece, you said we are using the VMRV, are we using EK anywhere or are we using VM? And what about we're actually uh running uh just open source TTI on Prem. Um But when we go to production and things, we make sure that everything's working on Amazon
04:36
Eks. OK? That makes sense. OK? So let me take you through the application real quick. Oh Demo the full screen. Let's try this. So here's the web front end for port work,
04:58
barbecue. Um You can go ahead and the first thing you'll have to do if you're a new customer, right? You have to register. So you're gonna put in some fake data here. I just use this guy's name um and a super secure password and you can register your user that all that data is stored in Mongo DB. OK? And then once you've registered, you can look
05:17
through our menu here and then you can go ahead and do an order. So we'll go in here and we'll just put in like, we've got smoked brisket and we've got a couple of sides here. You can use, uh, I'm gonna put in Brussels sprouts and, uh, some French fries and of course, uh, we'll use a pork special as our drink.
05:33
What is a book special? You've only worked here for like a day. I can't tell you all the secrets and things until you've been here a little longer. But when you're done, uh you can look at your order history and you can see all that data stored in Mango DB. So um that's, that's
05:53
basically, that's basically the application. So you understand the uh the architecture and how the application works at this point. Hey, Devin, how are you doing? Oh, Justin, new person in the company. Welcome. You're, you're gonna have a fantastic time in the company. By, by the way, Devon though,
06:10
what's with this R DS cost that's running through the roof. You guys figure something out. OK. Chop, chop. Cut all the costs down. OK. Got it. Cool. So what was that? That was harsh. OK. Uh He's, he's the boss.
06:23
Um And he, we've had been having a little bit of a discrepancy here. We've been spending a lot of money on those managed databases. OK? Uh So we need to kind of figure out a way to stop using managed databases and I haven't really figured out a great answer to this yet. I don't know if you have any suggestions, like what we might try,
06:41
but right now we're, we're spinning up a lot of managed databases in Amazon. In some cases, our developers each have their own managed database to like test things out on before it goes into production and those costs have kind of gotten out of control. Like I've heard you can run databases on so maybe look, we should look at that. Have you ever done it?
07:01
Uh Not really, I've attended sessions and that's it. Oh, OK. You might have a little more experience than with this than I do. Um So OK, let's put together a plan here. OK. Um uh You've got additional hr stuff to deal with, with new hire orientation, right? I've got another thing I'm working on right now
07:20
that's related to my own Cryptocurrency thing. Um But once I'm done with that, let's let's meet tomorrow. Uh try and come up with some ideas overnight and tomorrow we'll get together and see what we've come up with and see if we have a new plan for some of this. Sounds like a plan and faced with the challenge of rep platform, the Port works Barbecue App to run on containerized infrastructure.
07:42
Our talented team of engineers waste no time in brainstorming and testing out different solutions with fierce determination to find the best possible solution. They spend the next day at the lab putting their skills to the test and experimenting along the way. They discover some innovative strategies, but they also run into some challenging roadblocks that challenge their expertise.
08:02
Ultimately, they emerge triumphant armed with the newfound understanding of the power of containerization. Let's catch up with our port works. Engineers in the aftermath of their epic test testing journey and see what they've discovered. Do you have a good night? Yeah, I finished my code of conduct training.
08:19
Oh, awesome. Yeah. Yeah. Well, there's still more hr stuff you're gonna be doing that for at least a week. Ok. Uh But uh cool. So let's let's chat for a little bit before we have to go back to that nonsense. Um Here. So I did a little research on my own. So containers state full data tti apparently that can be done.
08:39
Ok. Um I was looking at what our options were with. Uh Amazon, right? Uh One of the main issues I found was uh the storage services that might be available to us might not meet all of our enterprise demands. So, uh one of one of the things I found like, you know, how do we actually present storage to a database?
09:00
You know, we're gonna create persistent volumes. Um We have to have some sort of storage connected to those Cotti clusters before we can do anything. And I was looking through our options and we've got managed services which obviously we were trying to get away from um there was Amazon EFS which scales pretty well, but also is a little bit more expensive.
09:20
Um So I was looking at Amazon EBS, right? Maybe we're using EC2 instances with EBS, we could do the same thing with Cooper Netti, right? We use those EBS volumes. But one of the issues I was trying to figure out how to get around was Amazon EBS in uh storage is is only in one zone. So if I've got our application split across
09:40
three availability zones to make sure that we can handle an outage of one of those A Zs. Um The data won't be in all the other A Zs. They're not, it's not accessible. So if all of my data is in like in this case, I've got a Z one here. If my data is written to that uh that EBS volume and A Z one goes
10:01
down, the Ku Benetti scheduler will restart our containers on the other nodes and the other A Z is fine, but the data still exists in a one and we don't have it existing in a two. So, yeah, I know and I think it takes a lot of time to research on snapshots. Like even if we enable ebs snapshots, it will take 10 to 15 minutes. That's right.
10:22
Yeah. Yeah. Imagine if this happened to us in the middle of the Super Bowl. Yeah, I'm not taking order of a barbecue. It would, it would probably be a problem for the business. Um So I went through and looked at a few other issues. That wasn't the only issue I found.
10:36
Um Obviously the availability, one is a serious issue for us. So that one's kind of marked in red. Um I've also marked EFS here as a possible option, but it's, it's still a little bit more expensive than what we were trying to do. Um portability.
10:53
Uh How do we migrate those ebs volumes to say another cloud? Uh Harsh has talked to me many times about, I'm not sure that we're gonna put everything in, in aws. We, we started out on vsphere. We, we just got into containers a little bit ago and we tried that out in Amazon, but I'm not sure he's totally convinced that the cloud is the right way to go.
11:12
So he may make us pull things back to on prem or he might make us go to a different cloud. I don't know, he kind of makes decisions at the, you know, stand on the finger. Um So we gotta figure out something to do with about portability. I don't know anything about disaster recovery for container workloads that have persistent
11:31
volumes in. Um Maybe we can use an EBS snapshot and replicate it to another region. But is that really disaster recovery? Like it's more like a backup and restore snapshots, snapshots are not backups. No, you're right. Um Capacity management like I don't, I'm not planning on spending every waking hour on call because if a volume runs out of
11:55
space, I'm not gonna go fix it right away. I'm gonna sleep and I have other hobbies and things. I just take a lead. II I want volunteer for that. Don't, we don't wanna make it a thing where all of the employees here just snap a command of a developer or something like that. We gotta, we gotta make it put a line in the sand here performance.
12:14
I think we're OK on performance because EBS we can use GP three volumes and we can say I want this number of I ops for that volume. So we might be OK with that. But we have to do a little figuring out how many I ops we actually need for that. We need to do some planning and then security. I think we're OK on security because we've got uh EBS volumes can be encrypted on,
12:32
on A BS. So there's a, there's a couple of blockers and there's a few other challenges that I wasn't sure how to get around. What I did do though is I did in part of my searching was there was a company out there called Port Works. I thought they had a great name uh that uh seems to be doing staple applications for containers and I called one of them.
12:53
They're gonna be here uh later today. So um I think we can probably oh wait, he's coming in. I just got, I just got a message so he's here. Um, you have to go for hr ok. So uh let's bring him in then I'll just send him a message and they can come on up. Hey, how you doing, Eric. John Owens?
13:17
Nice meeting you work from? Oh, cool. Yeah, so my name's Devin though. Oh, shoot. Uh, Eric is uh a different manager. He's one of the story. I'm sorry. Yeah. So we were having, we were having some of these problems.
13:31
I was hoping that maybe you'd be able to tell us a little bit about port works where we, we run a staple application uh in Aws right now, we're using Mongo DB, but we've got a lot of challenges about how we actually manage state for before we can make containerized workloads. Uh work for our business and the enterprise. Ok. So, are you doing anything with con container
13:51
storage, containers? Uh Not yet. We've been, we've been using only stateless applications in Amazon Eks and then using a managed service from Amazon for our state data, but we're trying to lower our costs. That was a major one. And some of the research we did, we were trying to figure out how to do availability and
14:08
disaster recovery and stuff. So we're hoping so I'll start from the beginning and I think we can probably, you know, help you out with all this. I'm just gonna sit down and let you uh totally, please use the microphone. We got people on Zoom. I wanna hear that really well. Yeah, hopefully everybody can hear me.
14:23
So. All right. So thank you so much for having me. Thanks for coming. Yeah. And uh I just want to start from the very beginning because obviously pure storage acquired port works back in 2020. And there was a there was a very key reason to that because we did provide like a plug in a
14:42
driver for you to use like a storage array with or with containers in general, right? And the problem with that was, and with kind of the approach from all other storage vendors was that was really a infrastructure centric way to do it. It anything that tether you to physical infrastructure, really kind of breaks the tenets of cloud native and why you're running
15:05
workloads in Cotti anyways, right? So you're already running things in Cober netti you like how you can do scale, you like how to be being able to go up and down and, and and not will scale up and down. Hopefully your app doesn't go up and down. That would, that would probably be not your first choice of way things run. So we actually went out and we found really the market leader and the market set for cloud
15:30
native approach to this. So that's really what I'm I'm gonna mention to you today. What that means is that it is application centric. It runs this data platform runs within your container environment and then just utilizes whatever underlying block storage you can provide to it. So if it's ebs volumes in the cloud or Azure
15:54
disc in another cloud or if you're running vsphere on Prem, you'll have the same experience everywhere. And because you're now decoupled from that infrastructure, you are getting a true cloud native experience versus A I like to call it tethered anchored might be another word for it, but you know, whichever one that is. So are you saying I don't need to run pure
16:17
storage to run my container? You know, I've been at pure now for 10 years and I would love for every time you use port works to use pure storage with it is actually not required, but obviously it does require port works, does require block storage and you might as well use the world's best block storage if you're gonna,
16:39
if you're gonna do it. So um on prem Absolutely. It's, you know, it would be a strong suggestion but not a requirement. OK. So with that right, we built this platform and the really the the the key element of this is to be able to run anywhere on any, any Cotti service. Because do you know today?
16:58
I mean, you're on eks but like do you know that your boss may not want to go to Amazon or Azure someday? You never know. You never know, like tomorrow he might change his mind or Red Hat, right? Like, you know, there, there, there's I have a customer, they went out, you know, his boss's boss went to play golf with some people from
17:16
Google and now everything's GKE, right? So, you know, you gotta be prepared for that to happen at any point in time, right? And one of the things we did though is because this platform is really abstracted away and runs within any cloud on any TTI service. Now, you can provide just any application, right?
17:35
So if, if you remember one thing about about what ports enterprise provides, it's any any any just think anywhere it's not tied to anything because we wanna be able to provide that cloud native service to you. And one of the other things I'm gonna show you in a demo is part of that platform. It's PX backup, being able to make real application centric backups.
18:00
So it's not just hey grab the data, copy it somewhere or take a snapshot. So you know, you know our snapshots backups, he's pro yeah. So obviously what we want to do is be able to take those, take those copies with the metadata, the kubernetes objects and put them somewhere. So like if your Amazon environment gets completely blown up and someone does like a,
18:28
you know, uh a cloud formation stack and they delete your whole cluster, right? That would be a bad day uh at least now that every part that you need to run that application is off in a object bucket somewhere. Get it back and restore it anywhere I can restore it to a different cluster. Yeah. Yeah. You don't need that original cluster.
18:48
You don't even need the original install PX backup because you might be running PX backup cluster inside of that Eks cluster. So as long as you can reinstall it and point it back to that bucket, you're ready to go. That's good. That's good. Yeah. Yeah. So uh some of the things we were running into
19:09
here, uh like availability was a real problem for us. We haven't been able to figure out how uh to make it so that if we lose an uh an availability zone that our applications like come back up, they're, they're not offline for very long. Uh That was a major one for us, but we're also trying to figure out like how we do portability.
19:25
It sounds like the backup tool might be used um to migrate applications between clusters. Absolutely. OK. Um Well, we're also trying to think about like disaster recovery. We can't really have a lot of outages. You've been to our restaurants. I'm, I'm of course everyone look at me, I enjoy barbecue, everyone does except for Bob and who got,
19:44
I got a thing with him. Uh But we're also trying to figure out capacity management like I don't wanna con consistently be updating those how do I handle performance? Uh And I think we've got security covered. Ok. Well, uh and then we might even be able to give you an alternative to that like a cloud native way of approach to that security too.
20:03
I don't have that demo today, but you can actually control it from Kubernetes with not being reliant. Maybe on a specific, it's like E EBS encryption may be very proprietary to EBS. It does that make sense. So if you needed to go somewhere else, if you wanted to bring that same methodology with you, we can, we can answer that, but I actually don't have that demo today,
20:24
but I'm gonna show you a couple of things and hopefully it answers most of these questions. Awesome. Great. Are we trusting the internet? It usually works. OK. Here. But all right, let's let's see what happens. I don't trust our team. It's always the network, right. So, right.
20:47
Right. So here we, here we have two clusters running, right? So you have, you have a cluster, one cluster, two blue and green. But you can see here if you can read that really fast is it's actually a single stretched port works cluster, right? We call this metro Dr.
21:05
This is a synchronous um solution for Dr, right. So what it means is zero data loss. So if you, if you have a cluster in zone A and a cluster in zone B and zone A goes completely away, you have a way to bring that application back up with losing zero data. Ok. Would that be ok for you? Is there data losses? That that's what we want.
21:27
I mean, because if you lose one barbecue order that would we could lose a customer. Yeah, that would be really bad. So we don't want the social media. No, no, it should be transparent to the customer anyways, right? So if it fails over it, it works just fine and they're, they're good, they may, you know, maybe the browser refreshes,
21:45
but then they place their order and we're good to go. So you can see here, we're just setting up some, we're just kind of going through some migration schedules making sure that um one that little suspend equals true. That makes make sure that we don't try to spin it up twice. We don't want it to run in two places.
22:02
Um We, that would make the database super unhappy. So what we're doing is if we're doing that and we're going to um we can see that the pods are spinning down and on the other side, we're deactivating the cluster domain that that basically says we're kind of faking it out in this demo to show like the cluster, the cluster is died, right.
22:25
So once that cluster is offline, you can see that it says uh the cluster two is in sync and cluster one is not in sync, that's always a good clue that something's not correctly working. Uh We will actually spin up those, we'll activate the migration and that'll actually spin up the DR copy.
22:46
So if you're familiar with VM Ware, you use that on Prem, right. Sort of like SRM. Right. It's like the, the big red button, everything comes up on the other side and we'll just do a watch on this because what better way to show off our cli skills than to have things refresh.
23:05
You can see the databases come up, the the web server is up and running and now we just grab that service and we can go and see in our application that our all our data is still there, right? Which is the key, right? So this is the this shows you really kind of the well, it's dead, they'll go back, let's go back to the right one,
23:27
John, I promise. And even in a video demo, my demo will work. OK? I hope so because it did move to a new cluster. The IP is different. So yeah, it is. Yeah, cool. All the pets are still there and everything is
23:49
happy. Any questions on that like so you feel like that kind of answers your uh your high availability and even the dr scenario and we could do an asynchronous. So let's say you're not between, you want to go from like the east coast to the west coast. Um We can actually do like a 15 minute. Copy.
24:10
OK. That's not a, that's not, obviously not synchronous. You'll, you'll have a 15 minute rpo on that one. Got you. I think you gotta hit escape magic and then you can go to the next slide. Yeah. Oh my gosh.
24:30
All right. This is the capacity planning. Now. I used to, I used to kind of, I was a network admin and at where I worked that meant everything that had electricity. I had to support. I don't know if you feel that anywhere like typewriters, copy machines, everything. So I don't know. Yeah. Yeah.
24:49
Yeah, I wasn't always the storage guy. So this application, we're just gonna simulate something for you that hopefully kind of relates to your capacity manager. And there's two reasons why I think you're going to care about it. One is more, more than the other, right? So we're just gonna run this application.
25:04
It's like a registering users for this uh health app you can see here, you know, it has some uh PV CS, they're only one gigabyte in size, which might have been a bad choice. If you have an application you're gonna release out into the world. But we did that for a reason, right?
25:21
So after a few minutes of this running stops, right? Because what happened? Dis disk full, right? I, I used to have this happen in exchange all the time because exchange would not clear the logs and fill the disk and then people were like, why aren't we getting mail anymore? I was like, well, maybe no one likes you. But, um,
25:41
but no, so what we're gonna do here though with Port works, right? That's kind of if you just do it out of the box. But like, hey, with Port works, what we're gonna do is we're gonna turn on a feature called Autopilot. And this rule here says, hey, I'm gonna take an action. I'm going to allow you to scale by 100%.
25:58
So if it's one gig, it'll go to two all the way up to 10. So there's a max. So everyone's nervous. You don't want your, your app to go to Infinity. Uh As a storage vendor, we always want the app to grow to infinity, but we realize that customers probably don't appreciate that.
26:14
So we're gonna kick that off again. And you can see as it starts to register, there's, there's one gigs um still and you see it starts to fill up little movie magic to make this happen faster and instead of it going down soon, you'll see that it'll start to resize automatically, right? It'll it autopilot detects that this is getting too full and it extends the drive
26:47
and does this work for all volumes? Does it, is it one rule or I can customize my rules? You can customize your rules so you can have a specific selector like, hey, just this application just, you know, you don't have to apply it to the entire world. So I promise it's going to fail and, and resize any second now.
27:10
Maybe, maybe the users aren't registering as fast this time. Oh yeah, we we gotta, it's gotta be happening any second now because we're at the end of the video. There you go. So it starts. So you can see even. So one's a file storage and one's post gras.
27:34
So it can be different types of volumes. One's, you know, storing those images, the other is just the database. We can resize those and you can actually Rezum in with magic. It's up to two gigs, kind of cool. So that's good for two reasons. One, you don't like to get phone calls at 2 a.m.
27:50
and two when you're running in the cloud, if you want to make your boss happy, like, hey, let's just provision what we need today versus like having to predict. Oh, well, maybe I'll use it. So we do use 100 terabytes. Guess what Amazon is gonna charge you, whether it's full or not. That's really, that's really the key there is that you can right size those things and allow
28:12
this rule to kind of let you gain that capacity as you go skateboard one more. Finally, this is our backup. So the backup software, right? It installs it actually has its own U I. But we're just gonna show, hey, here's an application we're adding some data to it and it's running in a cluster
28:41
surprise. It's the same pet Clinic app that we were using earlier from here. Wow, that's super dark um is where you can select just the name space. You can see that if you guys were up here. It says Pet Clinic, I promise. And in there we can actually say back this up and what it backs up is you get the volumes but
29:02
you also get the metadata and the objects to actually make that application go. What makes that application happy? What makes it go? So we can actually tell it to back all those things up. And so you got to get, you know, if you can give it a name and select some, you know, some policies, you, you're ready to go.
29:23
So it should be that simple, right? You don't need to, you know, and what's actually cool about this as well and it's not really showing in this demo is that you can give the access to this to your developers. So they, when they want, when they accidentally delete something and rather to store it, they don't have to call you, they can just go restore it themselves.
29:43
So I see that every time I say someone doesn't call you, you always hit him in the shoulder and, and nod. So I really, I really like that. So you can see here, um we've backed it up the top left there. Is that that application running. And in this scenario, I'm actually going to restore to a different target,
30:01
a different cluster. So we're just gonna select that restore and this, this is the other cluster here. And we're actually gonna, because we backed up from a not port works volume and we're going to restore to a port works well. So if you currently have stuff, you're testing that you wanted to move over to,
30:21
you know, it's a very nice tool as well. And do I need to run the backup tool in all my clusters? Because that will be crazy. No, no, you don't. So you can run it in one cluster and then add target cluster. So it'll actually you just add them in there
30:37
and you just see them as a target cluster. No. So this, this whole the, the, the infrastructure that supports this, you don't have to run it inside every single cluster and you just add like a basically a access to that. If you don't even want to run that, we actually let you run it as a service as well.
30:56
Yeah. So if you wanna just, you know, you spin it up and it runs basically that same control plane, but in the cloud and then you can just attach your clusters to it, there's a secure tunnel that it uses to communicate to your clusters. And while we're talking here, you can see that we're just, you know, selecting things we would restore and you can modify things.
31:15
That's what I was doing here is that we're changing. Hey, instead of going back to where, where you were, go to this new place. So I actually, I've got to run to a meeting. Um, is it possible to get licenses for this, um, like trial licenses so we can do a proof of concept or something? So then we'll get back to you. Yeah, just go,
31:31
go to, um, it's super easy. You just gotta sign up like I don't even have to send you anything. Um You just go to central dot works dot com sign up and you can get a 30 day trial for backup and for enterprise. Awesome. Yes, we appreciate it. Really appreciate you stopping by.
31:45
Uh we'll be in touch. Thank you. Thank you John, my job. Mhm. And after meeting the super cool port works cloud native architect, our engineers have gained a new perspective on how to solve the complex issues plaguing their
32:11
state, full application armed with free trials. They dive head first into deploying port works into their labs with bated breath. They explore the new possibilities and put the platform to the test determined to see if it can mitigate the persistent storage problems, preventing them from moving away from their document database manage service. Now, we catch up with our intrepid engineers just in time to see them present their findings
32:35
and we will discover if port works actually lived up to its promise. So uh I did a little bit of research. I tested out a lot of the stuff that John was showing us. I got, I got a lot of that working. Uh I think we're in good shape. So I think we can actually run staple uh containers uh to replace our uh document DB. So I think we're in good shape.
32:56
Um You were gonna do some research on like how we should actually deploy model DB. Yeah, I wasn't looking at port works, but what I figured out was the best way to run databases on is using something called operators. And I can give you a lowdown on what operators are. But basically each vendor has their own flavor of MODI B operators or rabbit MQ operators or any database operators.
33:18
Uh I think we, we will have to spend some time and figure out which is the right one for us. And then hopefully Modi B is the only database because as we scale that might add complexity, but operators seem like a good option to bet on. OK. Yeah. Hey guys. So I see that you are busy at work here. Um So Devin,
33:38
remember the uh picnic baskets application we were talking about? Yeah. Yeah. Did you come up with that name? You like it? I love it actually. It's great. Awesome. Awesome. Um Are you guys working on it though? The application? You know, we have to get that going.
33:54
Well, we're working on the cost thing for the, oh, that's, that's important too. So keep, keep running with both of those. Ok, thank you. Uh, ok. So, um, we were also building another business. So Port Works barbecue is our main source of income. Um, but we've also been branching out to do
34:11
like delivery. So I'm sure you've seen these trucks on the road. We use these trucks all the time to deliver, uh, food actually to our, our restaurants. Oh, ok. That makes more sense. I was wondering like who's ordering a truckload of barbecue? Right. Uh, our, our, our barbecue stores are,
34:27
um, but we're branching out a little bit so people can actually order barbecue and have it delivered to them. So this project picnic basket thing or whatever they're calling it now, uh, it's, uh, it's a different application. It's called Port Works Delivery. So let me give you a, a brief run through on this.
34:43
Um, we, this is a little bit more complicated than our PX Barbecue app was. We've got our application up there. Um, you can see the, the, like the stork, it's the delivery thing. Um, we do authentication to Mongo DB. So that's all the same as Port Barbecue. No changes there. Uh, but we've also got, uh, a Kafka Q.
35:02
So whenever you go, you place an order through our delivery service, it goes to this Kafka QE and then there's a bunch of consumers that are reading the data that goes into that, some of them go off to like our uh our restaurants where they're actually gonna have to make the food. But then also the delivery service pulls that data and pushes it into a mysql database and then the application reads from mysql to show
35:25
you your order history and stuff. So it's a little bit more complicated application. There's more data services here. So if we've got all those operators to deal with, uh we're gonna kind of figure out a way around this. Um Yeah, I love the architecture but yeah, OK. Adding two more data services to my list.
35:42
Yeah. Um So I actually had been looking into this a little bit when we started this project. OK? And I got stuck. So I called Jo again. Oh, that guy to see if he would come back in. He's coming back in uh to give us something else.
35:56
I'm hoping that he can solve all of our problems. I'm sorry, we didn't ask you this the first time. Um But thank you for coming back. Well, I'm here to solve all your problems. We need a faster way to deploy operators. Well, you know, I think that's a common thing that a lot of customers of ours have,
36:13
have run into like, hey, when you're managing just one, it's no big deal. But like, hey, when you start to have to do 45, 10, 12, 18 of them, it gets a little confusing, especially if you're trying to find the right operator for all of them. So, what we wanna do is I'm going to hit play.
36:30
I'm gonna show you a demo. That's all right. Yeah, we love demos, don't we? I'm short on time though. I, I've got another one of those meetings. This minute is only two minutes and six seconds. So hopefully, hopefully you dig this.
36:43
So this is um part of it's built on top of port works enterprise, which you're already testing out. But this is called P DS port works data services. OK? And what it is is is a way to abstract that all the complexity for deploying those databases and give self service to the developers or, or whatever, or DB A S whatever you need.
37:02
So if you can give it a name, right? So we're choosing SQL server, which is actually our newest thing, Microsoft sequel server is, is built into it. Um Give it a name and uh you know, you choose kind of your target cluster so you can have it target. So it's one control plane, many targets you can have on prem cloud,
37:20
multiple clouds wherever you want. And then you just choose where you wanna go, you know, some T shirt size stuff, specify your backups. So you can say, hey, back up every hour, great hit deploy. So like that, is that something like that would make it a lot easier for you yeah, like U I is cool for me but I, I kind of used to like infrastructure.
37:40
I've used cloud formation. Like can I script this? So I don't have to. Oh, absolutely. Yes. So um because everything you can see here in the U I we can do through an API, right? So if you, it it's a rest, rest api if you, if you know how to do against that, we do, we do have some like some like Python sdks and,
37:57
and some, you know, answerable stuff that could maybe get your point in the right direction. Um But as you can see it deployed the database pretty quickly and you know, the DB A S can use their traditional tools to connect to it, which is pretty nice. Um And you know, all the the path there is the password you obviously need that to get in all
38:17
that's auto generated, right? And you can just kind of manage it from there and these images, the operators, everything are curated and supported by it pure. So the same support from pure that you love you get this for the entire stack? Awesome. So OK, I think that is, can we get a trial license for this as well? We wanna try this out and show it to our boss
38:39
for you. Oh, absolutely. So, yeah, I'll set, I, I actually have to set you up manually with that, but yeah, we'll get you hooked up. Awesome. Thank you. Appreciate you stopping by again. Thanks for having me. Thank you.
38:58
No. And after countless hours of research, experimentation and trial and error, our engineers are have finally found the key to lowering their costs and reducing operational burdens across the entire company. But this is only the beginning with the laser focus on giving developers a frictionless method of deploying their applications.
39:25
Our engineers have worked tirelessly to refine their approach and fine tune their solutions after days of hard work, they're finally ready with a plan that's sure to impress even the toughest of critics our engineers are poised to collect their well deserved kudos. Will they be able to impress their boss? Let's join our engineers one last time as they present their findings.
39:51
So I had done some work. I had to use Chat GP T to do a lot of this work, but I was able to figure out how to use the rest. API I got a P DS head and uh I've got a demo here and harsh is co uh coming in to see what we've, you know, come up with. So let me pull that demo up.
40:09
So it's ready to go when he gets here. Ok. So, uh we've made a lot of progress with uh being able to make our containerized applications, enterprise ready. Uh We'll get off of those managed services and we're gonna run all of our uh databases in Kubernetes. So uh here's a little bit of a demo on how we
40:34
can actually get deployment of this more complex application that's got multiple data services um um completed and we can actually manage it at scale. So I've got the P DS portal here open. On the left hand side, you can see the list of services here. But on the right side, I'm actually using a command line utility.
40:54
So I'm going to run a Python script that's making a bunch of rest calls. It's gonna reach out to P DS and it's going to deploy these services for us because I'm not going in and clicking every one of these services and doing all those deployments. It was pretty simple, but we need a faster way to do this because you're going to be doing this a lot and I need to make it self service. So I don't have to keep doing it.
41:13
So um as the script uh gets deployed, you can see that the services are coming up here, they're not available yet. Um But the script is waiting for them to, to finish becoming active, right? So we get a deployment ID, we just printed that out so we can make sure that things were working.
41:28
And eventually these services over here are going to start coming online, just give it a second here. And we can see now that we're getting connection information. So the services are coming online already and the, the API is now presenting us back with uh connection information, we won't print this out. This is a security problem for us.
41:50
I know. Um But we're actually taking the connection information, the user name and a password and the name of the database and we're storing that as a as a secret automatically. So then once these are all up and running, we can then deploy the PX delivery app as a helm chart and then we can go ahead and look at our application once it's been deployed in Cooper
42:12
Netti. So we'll see here that I'm doing a coop CTL get service on our PX delivery name space. And I'm looking at the uh DNS name of the Amazon load balancer that's presenting the load, the, the application to the public. But I take that and I'll throw that into a URL. We can customize that.
42:31
So it says P delivery, right? And then the delivery service comes up and you can see this is looking a lot like the delivery service you're expecting, right? The picnic basket thing that everybody's been working on. I've split my terminal session over here into two because we're gonna look at some logs to make sure this thing is working correctly.
42:49
But the application seems to be up and running and we're gonna walk through, um showing the logs of both the uh application logs itself. PX delivery itself and that Kafka consumer that's pulling it out of Kafka and pushing it into my sequel. So we're gonna look at both those just to just to prove that it's working.
43:09
So I'm gonna go ahead and register a user here. It's a, you know, a fake user. I'm just putting in some, some random uh information, super secret password. Obviously, we have to put it in our address because we're delivering food.
43:27
You have to know where you're gonna be delivering it to. Um and then we'll hit register and then when we hit register, you'll notice over on this side, things are happening in the application. We've registered somebody, somebody hit the slash register URL and then we'll go up and we'll create an order to show that it's moving its way all the way through all the services.
43:52
Uh You can see we've got connection strings. So once the application got deployed, it's connecting to those data services the way we're expecting it to and creating our, our uh tables and things. And then we'll go in here and we'll pick port works barbecue as an example restaurant where we're gonna deploy stuff. I'm gonna pick smoked brisket,
44:14
cornbread, french fries, pork special. Can I can I now know what pork special is? It's sweet tea and lemonade. Ah ok. So when we got an order, all right. So you can see the order is in our application. So that got done correctly and we did a post and on the right side, you can see the Kafka consumer consumed that order out of Kafka and
44:40
pushed it into my sequel. So if we go up into our look at our order history, now you can see that our order is listed here and it's traversed its way all the way through those data services. And we did that in an automatic fashion. We think we can manage this at scale for port works, barbecue and for Port works delivery and reduce the costs on our manage services. Like you asked,
45:03
good job, good job, good job folks. Um 01 2nd, I'm getting a call from Charlie. Ok, I gotta take this call. Hey Charlie. Yeah. Yeah. Yeah. Oh my God, man. Those guys did a good job. You know, I took all the time to educate them on how to go about doing the sport works thing and so forth and they've just fantastic job.
45:21
The team is good, but I got it all done through them. Thank you. Thank you. Ok, why is it not show yet you next time? That's basically our presentation.
45:50
We wanted to show that we were able to, to solve all the requirements we had for a typical enterprise application. And uh the way we were able to do that with Port works data services, Port works Enterprise and Port works backup. Uh wanted to just take a second and thank everybody for joining and uh letting us do this silly kind of act for you and also some
46:13
gratitude for the team. Uh that had to put this together. So, thank you very much. Um If you want to uh join us tomorrow, we'll be in this room all day. There's four more sessions tomorrow as a including a repeat of this session. Um Let's see if we get better tomorrow. Yeah.
46:30
And the uh if you need to know more about port works itself, you can scan this QR code and get some information on your own. You can also visit us at the booth in the zone and we can talk through any of these features you want to, you can ask questions whatever you need to do. But thank you very much for joining us.
  • Portworx
  • Pure//Accelerate

Join the platform team from a fictional food services company while they deploy and manage some of their critical, containerized applications. During this session, you’ll join them as they figure out how to: improve developer agility, improve application availability, exceed application performance requirements, and lower cloud costs. See how Portworx solutions can meet your containerized application requirements by participating in this fun and engaging role-play session!

Free Trial of Portworx

No hardware, no setup, no cost—no problem. Try the leading Kubernetes Storage and Data Protection platform according to GigaOm Research.

Sign Up Now
07/2024
Pure Storage FlashArray//X | Data Sheet
FlashArray//X provides unified block and file storage with enterprise performance, reliability, and availability to power your critical business services.
Data Sheet
5 pages
Continue Watching
We hope you found this preview valuable. To continue watching this video please provide your information below.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Your Browser Is No Longer Supported!

Older browsers often represent security risks. In order to deliver the best possible experience when using our site, please update to any of these latest browsers.