1 00:00:00,001 --> 00:00:01,371 [No Audio] 2 00:00:01,371 --> 00:00:04,620 Docker Swarm is pretty useful. But whenever we 3 00:00:04,620 --> 00:00:07,350 talk about container orchestration, one name 4 00:00:07,350 --> 00:00:11,467 dominates the conversation, which is Kubernetes. 5 00:00:11,901 --> 00:00:15,567 You might wonder, aren't we already done with orchestration? 6 00:00:15,767 --> 00:00:18,900 Well, not yet. Docker Swarm and 7 00:00:18,900 --> 00:00:21,930 Kubernetes both co-exist in the market, and even 8 00:00:21,930 --> 00:00:24,870 Docker itself has acknowledged it, since it 9 00:00:24,870 --> 00:00:27,750 provides support for Kubernetes with its speedy 10 00:00:27,750 --> 00:00:31,530 enterprise version. Plus, as far as my knowledge 11 00:00:31,530 --> 00:00:34,860 goes, there is no such thing as managed Docker 12 00:00:34,860 --> 00:00:38,167 Swarm on any of the popular public cloud platforms. 13 00:00:38,501 --> 00:00:40,620 Whereas managed Kubernetes is one of 14 00:00:40,620 --> 00:00:43,067 the salient features of Google Cloud. 15 00:00:43,567 --> 00:00:48,101 That's not all, Azure and AWS are catching up pretty fast too. 16 00:00:49,434 --> 00:00:51,630 These are more than enough reasons to learn 17 00:00:51,630 --> 00:00:54,450 Kubernetes alongside Swarm, but we should know the 18 00:00:54,450 --> 00:00:57,034 advantages and challenges of both. 19 00:00:58,067 --> 00:01:03,201 Let's start with the nature. Swarm is a part of Docker's ecosystem. 20 00:01:03,201 --> 00:01:05,940 So all of its features act as an 21 00:01:05,940 --> 00:01:08,667 extension of Dockers own capabilities. 22 00:01:08,867 --> 00:01:11,700 Whereas Kubernetes is an entirely different product 23 00:01:11,700 --> 00:01:15,540 managed by CNCF, which stands for Cloud Native 24 00:01:15,540 --> 00:01:19,050 Computing Foundation. Since Swarm belongs to 25 00:01:19,050 --> 00:01:21,900 Docker Ecosystem, you didn't face any trouble 26 00:01:21,900 --> 00:01:24,570 adapting its terminologies or concepts, because 27 00:01:24,570 --> 00:01:28,201 most of them were in line with what you could already do with Docker. 28 00:01:29,001 --> 00:01:31,201 So Swarm is easier to set up 29 00:01:31,201 --> 00:01:33,930 and adapt, nothing is ever too difficult once 30 00:01:33,930 --> 00:01:36,750 you get a hang of it. But setting up and adapting 31 00:01:36,750 --> 00:01:39,630 Kubernetes introduces more new concepts compared 32 00:01:39,630 --> 00:01:43,734 to Swarm, so you can definitely call it relatively difficult. 33 00:01:43,867 --> 00:01:47,010 Plus Kubernetes introduces a whole new 34 00:01:47,010 --> 00:01:49,410 command line, whereas Swarm's command line is 35 00:01:49,410 --> 00:01:51,501 pretty similar to Docker CLI itself. 36 00:01:52,234 --> 00:01:54,198 As far as the utilities go, 37 00:01:54,301 --> 00:01:56,640 Docker Swarm dives less deeper into 38 00:01:56,640 --> 00:01:59,100 the field of orchestration, whereas Kubernetes 39 00:01:59,100 --> 00:02:01,890 provides you a lot more exhaustive orchestration 40 00:02:01,890 --> 00:02:05,880 functionalities. Monitoring Swarm can be tricky, 41 00:02:05,880 --> 00:02:08,910 since it either involves third-party tools or paid 42 00:02:08,910 --> 00:02:12,000 services by Docker enterprise, whereas Kubernetes 43 00:02:12,000 --> 00:02:15,401 provides native support for logging and monitoring. 44 00:02:15,567 --> 00:02:18,630 Moreover, Docker Swarm doesn't only 45 00:02:18,630 --> 00:02:21,234 have less functionalities compared to Kubernetes, 46 00:02:21,234 --> 00:02:24,030 but it also becomes difficult to manage after 47 00:02:24,030 --> 00:02:26,634 having more than 50 nodes or so. 48 00:02:27,067 --> 00:02:29,880 Because you may not have sufficient control over scheduling 49 00:02:29,880 --> 00:02:32,760 certain containers on certain nodes, which can be 50 00:02:32,760 --> 00:02:35,850 mind boggling to manage. Whereas in case of 51 00:02:35,850 --> 00:02:38,820 Kubernetes, we have a lot more freedom and fault 52 00:02:38,820 --> 00:02:41,850 tolerance. The finer control allows us to group 53 00:02:41,850 --> 00:02:45,540 nodes as we want and abstain or containers from 54 00:02:45,540 --> 00:02:48,401 being scheduled at certain nodes. In fact, 55 00:02:48,401 --> 00:02:51,630 Kubernetes has shown promising performances, even 56 00:02:51,630 --> 00:02:54,334 in the case of more than 1000 nodes. 57 00:02:55,667 --> 00:02:58,920 Due to all of this, even though Docker Swarm has good community 58 00:02:58,920 --> 00:03:02,880 support and featured updates, Kubernetes has huge 59 00:03:02,880 --> 00:03:05,820 support and has turned into a complete DevOps 60 00:03:05,820 --> 00:03:08,601 buzzword by all positive means. 61 00:03:08,934 --> 00:03:12,540 All in all, it means the greater your application, the more 62 00:03:12,540 --> 00:03:15,601 likely you are to use Kubernetes rather than Swarm. 63 00:03:16,034 --> 00:03:19,020 Of course, not everyone targets millions of 64 00:03:19,020 --> 00:03:22,740 audience and ever scaling clusters, for them Swarm 65 00:03:22,740 --> 00:03:25,710 might be enough. But for you as a learner, the 66 00:03:25,710 --> 00:03:28,320 journey must not end before learning exciting 67 00:03:28,320 --> 00:03:30,067 aspects of Kubernetes