1 00:00:00,390 --> 00:00:06,060 ‫Let's see is there any well known wait and containerized a legacy VM based monolithic app and make it 2 00:00:06,060 --> 00:00:06,720 ‫cloud native. 3 00:00:06,720 --> 00:00:12,330 ‫And how do you redirect the incoming consumer request from the VM to those containers. 4 00:00:12,330 --> 00:00:14,910 ‫So this is a very loaded question and 5 00:00:20,170 --> 00:00:21,480 ‫going to make this the last question. 6 00:00:21,730 --> 00:00:30,040 ‫So because everyone else is taking my questions and I'm running out of time so this is a long topic 7 00:00:30,130 --> 00:00:31,600 ‫and it's a great topic. 8 00:00:31,600 --> 00:00:38,860 ‫Basically what you're asking here is we read the question again Is there any well known way to containerized 9 00:00:38,920 --> 00:00:43,720 ‫a legacy VM based on monolithic applications and make it clone native. 10 00:00:44,200 --> 00:00:48,640 ‫And how do you redirect the incoming consumer requests from VM to those containers. 11 00:00:48,640 --> 00:00:51,160 ‫So that is two separate questions. 12 00:00:51,370 --> 00:00:58,560 ‫I would do the I'm going to answer the first one first to containerized a legacy VM Docker provides. 13 00:00:58,600 --> 00:01:03,850 ‫If you're an enterprise customer they provide a certain level of tools depending on what the app is 14 00:01:04,150 --> 00:01:09,670 ‫and it's very framework specific because you know obviously a python app has certain requirements certain 15 00:01:09,670 --> 00:01:17,080 ‫dependencies you cannot containerized a full VM that's not a thing because a VM includes the kernel 16 00:01:17,320 --> 00:01:22,390 ‫and the kernel drivers and all sorts of things that don't go in containers so you wouldn't wouldn't 17 00:01:22,390 --> 00:01:27,850 ‫want to containerized the rest of the OS anyway because that's probably at least a gig of unnecessary 18 00:01:27,850 --> 00:01:30,930 ‫stuff inside that VM right. 19 00:01:31,000 --> 00:01:35,860 ‫If you don't know if it's a Windows machine it's probably 10 gig of unnecessary stuff so you wouldn't 20 00:01:35,860 --> 00:01:41,890 ‫want to do that either but it's not that hard to containerized a legacy app because surely somewhere 21 00:01:42,220 --> 00:01:47,740 ‫you have some written documentation or even just screenshots of how you installed that. 22 00:01:47,860 --> 00:01:53,620 ‫And as long as you have that basic information you can recreate that in a docker file and really a docker 23 00:01:53,620 --> 00:01:58,540 ‫file is just like an automated way of installing something on Linux or Windows. 24 00:01:58,660 --> 00:02:01,820 ‫And so if you have those instructions you can do that. 25 00:02:01,990 --> 00:02:07,140 ‫And there are tools at Docker they kind of sell them with Docker enterprise. 26 00:02:07,240 --> 00:02:12,540 ‫You can basically go back to Docker con twenty eighteen in San Francisco from a year ago. 27 00:02:12,550 --> 00:02:17,530 ‫You can look that up on YouTube and they demo some of these tools in their keynote speech where they 28 00:02:17,530 --> 00:02:23,980 ‫talk about taking legacy web apps mostly especially on Windows side because those can be like Dot Net 29 00:02:24,130 --> 00:02:25,910 ‫framework apps and stuff like that. 30 00:02:26,020 --> 00:02:30,910 ‫And then finding all of the parts and pieces to them based on their own package files that come with 31 00:02:30,910 --> 00:02:31,700 ‫those apps right. 32 00:02:31,730 --> 00:02:36,850 ‫I use these apps have their own package installation tooling and they look at those files and then find 33 00:02:36,850 --> 00:02:38,270 ‫all the right pieces and put it in. 34 00:02:38,470 --> 00:02:43,870 ‫But I don't know of a tool that I would recommend that is going to just look at the entire operating 35 00:02:43,870 --> 00:02:46,440 ‫system and then suck it all in into one container. 36 00:02:46,450 --> 00:02:53,290 ‫So I would say look at the information on how that app is installed or even just basically if you don't 37 00:02:53,290 --> 00:02:54,240 ‫even have that. 38 00:02:54,310 --> 00:02:59,440 ‫Just start looking at you know just start trying with a docker file and you can work on and iterate 39 00:02:59,470 --> 00:03:02,380 ‫to get to the point that you actually have it working in the container. 40 00:03:02,380 --> 00:03:08,080 ‫Now if you're dealing with the data moving the data around is a separate conversation. 41 00:03:08,080 --> 00:03:10,360 ‫You've got to get that data into a volume first. 42 00:03:10,690 --> 00:03:12,850 ‫And so that's that's going to be a separate process. 43 00:03:12,850 --> 00:03:17,800 ‫I would first first focus on getting the app working then I would worry as a sort of a sub project on 44 00:03:17,800 --> 00:03:23,450 ‫how to move the data over if that's indeed a problem where you have unique data inside that old VM. 45 00:03:23,530 --> 00:03:28,690 ‫And then thirdly how do you redirect it incoming consumer requests from the VM to those containers that 46 00:03:28,690 --> 00:03:31,260 ‫is going to be completely dependent upon your infrastructure. 47 00:03:31,360 --> 00:03:33,820 ‫And that is really not a whole lot to do with containers. 48 00:03:33,940 --> 00:03:36,420 ‫That has to do with is this a web request. 49 00:03:36,430 --> 00:03:41,860 ‫Is there a front end proxy in front of it like an elastic load balancer or a application load balancer 50 00:03:41,890 --> 00:03:44,880 ‫or your own third party F5 proxy. 51 00:03:44,980 --> 00:03:46,780 ‫Is it is it not a web app. 52 00:03:46,780 --> 00:03:51,040 ‫If it's not a web app then you've got to look at how do those connections come in. 53 00:03:51,040 --> 00:03:54,160 ‫Because Docker is not going to do that for you Docker doesn't do connection. 54 00:03:54,280 --> 00:03:59,710 ‫You know redirect from an old VM that's not a thing that containers or container orchestration solves 55 00:03:59,770 --> 00:04:01,450 ‫that that I've ever seen at least. 56 00:04:01,450 --> 00:04:05,260 ‫So that's really three parts of a major project. 57 00:04:05,260 --> 00:04:10,990 ‫And so when you hire a consultant to help you migrate this is kind of what I do migrate old applications 58 00:04:11,020 --> 00:04:15,590 ‫into containers Docker has an entire part of their company dedicated to this. 59 00:04:15,670 --> 00:04:21,520 ‫They call it the MTA program migrating traditional apps and they basically send out Tiger Teams to companies 60 00:04:21,520 --> 00:04:24,100 ‫for a fee and they'll spend a week on site. 61 00:04:24,100 --> 00:04:28,770 ‫I think it is and they'll take your app migrate it and you'll learn everything about it. 62 00:04:28,950 --> 00:04:33,970 ‫How help you essentially migrated into a container or copy it in a container get it running get the 63 00:04:33,970 --> 00:04:37,630 ‫data moved over and then swap the connections in your case if you don't have any sort of front end load 64 00:04:37,630 --> 00:04:43,780 ‫balancing you've got to have basically you've got to have that app running in the container and then 65 00:04:43,780 --> 00:04:49,780 ‫figure out a downtime you know it could be just minutes where you're going to redirect the DNS traffic 66 00:04:49,780 --> 00:04:53,950 ‫or whatever you need to get that flipped over and that has nothing to do with containers and everything 67 00:04:53,950 --> 00:04:59,230 ‫to do with just routing and DNS and networking that basically the same process you would do for moving 68 00:04:59,230 --> 00:05:06,670 ‫from an old VM to a new VM when you have to replace VMS over time but that's the Cliff Notes on essentially 69 00:05:06,820 --> 00:05:11,890 ‫what it's like to be a docker consultant because you're always migrating old apps and the new stuff 70 00:05:11,890 --> 00:05:13,390 ‫for other people and helping them do that.