title
DevOps Prerequisites Course - Getting started with DevOps

description
Learn about DevOps with this beginner's course. The course covers the basic prerequisites knowledge needed for your journey into the Cloud and DevOps world. You will learn things like setting up a basic lab environment using VirtualBox, dealing with networking issues, using the Linux command line, switching and routing, YAML, and more. 🎥 Tutorial from KodeKloud. Check out their YouTube Channel: https://www.youtube.com/user/mmumshad 🔗 KodeKloud Website: https://www.kodekloud.com ⭐️ Course Labs ⭐️ 💻 Enroll in labs here: https://labs.kodekloud.com 💻 Linux - working your way through the CLI: https://kodekloud.com/topic/labs-working-your-way-through-the-cli-2/ 💻 Linux - VI Editor: https://kodekloud.com/topic/labs-vi-editor-2/ 💻 Linux - Commands: https://kodekloud.com/topic/labs-more-linux-commands-2/ 💻 Linux - Package Management: https://kodekloud.com/topic/labs-package-management-2/ 💻 Linux - Services:https://kodekloud.com/topic/labs-services-4/ 💻 Networking - Switching and Routing: https://kodekloud.com/topic/labs-switching-and-routing-2/ 💻 Networking - DNS: https://kodekloud.com/topic/labs-dns-2/ 💻 YAML: https://kodekloud.com/topic/labs-yaml/ 💻 JSON Path: https://kodekloud.com/topic/labs-json-path-4/ ⭐️ Course Contents ⭐️ ⌨️ (0:00:00) Course Introduction ⌨️ (0:02:42) Course Curriculum ⌨️ (0:04:42) Basic Linux Commands ⌨️ (0:14:23) Labs Introduction ⌨️ (0:18:49) More Linux Commands ⌨️ (0:23:18) Linux Package Managers ⌨️ (0:29:32) Linux Services Configuration ⌨️ (0:37:34) VI Editor ⌨️ (0:41:14) VirtualBox Introduction ⌨️ (0:54:37) VirtualBox Installation - Windows ⌨️ (1:01:08) VirtualBox Installation - MacOS ⌨️ (1:04:51) Virtual Box Connectivity ⌨️ (1:11:29) Virtual Box Connecting to VM - Windows ⌨️ (1:13:12) Virtual Box Connecting to VM - MacOS ⌨️ (1:18:14) Virtual Box Networking ⌨️ (1:37:12) Virtual Box Multiple VMs ⌨️ (1:47:33) Vagrant Introduction ⌨️ (1:54:01) Vagrant Demo ⌨️ (2:02:09) Networking - DNS ⌨️ (2:16:18) Networking - Switching and Routing ⌨️ (2:27:13) IP Addresses and Ports ⌨️ (2:34:39) YAML Introduction ⌨️ (2:43:04) Conclusion

detail
{'title': 'DevOps Prerequisites Course - Getting started with DevOps', 'heatmap': [{'end': 897.236, 'start': 689.173, 'weight': 0.949}, {'end': 1197.976, 'start': 1094.149, 'weight': 0.964}, {'end': 1495.355, 'start': 1291.142, 'weight': 0.957}, {'end': 1805.134, 'start': 1690.211, 'weight': 0.795}, {'end': 1993.744, 'start': 1891.212, 'weight': 0.746}, {'end': 2499.385, 'start': 2389.893, 'weight': 0.806}, {'end': 6981.541, 'start': 6878.53, 'weight': 0.849}, {'end': 9962.896, 'start': 9864.139, 'weight': 1}], 'summary': "Course 'devops prerequisites course - getting started with devops' covers linux basics, networking, data structure languages, and preferred os, with hands-on linux labs, systemd service management, virtual machine deployment, virtualbox networking, vagrant automation, dns in linux, and networking concepts, ip addresses, yaml data format, and devops prerequisites.", 'chapters': [{'end': 848.597, 'segs': [{'end': 74.049, 'src': 'embed', 'start': 46.276, 'weight': 0, 'content': [{'end': 50.381, 'text': "Or at other times, it's working with data formats like JSON or YAML.", 'start': 46.276, 'duration': 4.105}, {'end': 53.225, 'text': 'So we have identified a gap.', 'start': 51.202, 'duration': 2.023}, {'end': 57.811, 'text': 'And we believe that this is because they are missing some of the basic prerequisites.', 'start': 53.665, 'duration': 4.146}, {'end': 63.978, 'text': 'As a DevOps or cloud engineer, it is important to have these basics cleared.', 'start': 58.792, 'duration': 5.186}, {'end': 68.363, 'text': "And that's why we built this course to bridge that gap.", 'start': 64.458, 'duration': 3.905}, {'end': 71.586, 'text': 'This course helps you get your basics right.', 'start': 69.204, 'duration': 2.382}, {'end': 74.049, 'text': 'So the rest of the journey is smooth.', 'start': 71.947, 'duration': 2.102}], 'summary': 'Course bridges gap in basic prerequisites for devops and cloud engineers, ensuring smooth journey.', 'duration': 27.773, 'max_score': 46.276, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY46276.jpg'}, {'end': 134.628, 'src': 'embed', 'start': 91.738, 'weight': 1, 'content': [{'end': 97.7, 'text': "Or if you're a college student who has no work experience and wants to start your DevOps or cloud journey.", 'start': 91.738, 'duration': 5.962}, {'end': 103.462, 'text': 'This course is also for those who happen to have some experience, such as developers,', 'start': 98.901, 'duration': 4.561}, {'end': 108.204, 'text': 'who wants to learn a little bit about operations in order to move to a DevOps role.', 'start': 103.462, 'duration': 4.742}, {'end': 111.445, 'text': 'So no coding or programming knowledge required.', 'start': 109.144, 'duration': 2.301}, {'end': 119.705, 'text': 'So how does it work? With visual learning, we simplify complex concepts using illustrations and animations.', 'start': 112.426, 'duration': 7.279}, {'end': 123.586, 'text': 'And we have demos where we show you how to put these into practice.', 'start': 120.265, 'duration': 3.321}, {'end': 131.307, 'text': 'We have hands on labs that open up right in your browser where we have pre configured environments for you to practice with.', 'start': 125.106, 'duration': 6.201}, {'end': 134.628, 'text': 'Our labs are fun and interactive and hassle free.', 'start': 131.947, 'duration': 2.681}], 'summary': 'A course for college students and developers, offering visual learning, demos, and hands-on labs for devops and cloud skills.', 'duration': 42.89, 'max_score': 91.738, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY91738.jpg'}, {'end': 356.562, 'src': 'embed', 'start': 331.279, 'weight': 3, 'content': [{'end': 339.123, 'text': "As per Stack Overflow's insights, the most common and the most loved platform used for development work happens to be Linux.", 'start': 331.279, 'duration': 7.844}, {'end': 348.668, 'text': "If you're from a Windows background, I'd highly recommend learning some Linux basics, as most DevOps tools have a requirement for Linux.", 'start': 340.384, 'duration': 8.284}, {'end': 356.562, 'text': 'As part of this course, we cover basics of Linux OS, such as how to work with the command line interface,', 'start': 350.259, 'duration': 6.303}], 'summary': 'Most common and loved platform for development is linux, recommended to learn for devops tools.', 'duration': 25.283, 'max_score': 331.279, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY331279.jpg'}, {'end': 410.614, 'src': 'embed', 'start': 383.149, 'weight': 2, 'content': [{'end': 392.231, 'text': 'CentOS is a free community edition of Red Hat Enterprise Linux, so learning CentOS also helps you cover the basics of RHEL.', 'start': 383.149, 'duration': 9.082}, {'end': 402.312, 'text': 'Learning. CentOS will also help you prepare for Linux certifications like Linux Essentials or Linux Foundations Certified Systems Administrator certification.', 'start': 392.991, 'duration': 9.321}, {'end': 410.614, 'text': 'Since you also cover basics of Red Hat Enterprise Linux, it also helps you prepare for any Red Hat exams.', 'start': 403.233, 'duration': 7.381}], 'summary': 'Learning centos prepares you for linux certifications and red hat exams.', 'duration': 27.465, 'max_score': 383.149, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY383149.jpg'}], 'start': 0.45, 'title': 'Devops & cloud prerequisites', 'summary': 'Emphasizes the need for a prerequisite course encompassing linux basics, networking, data structure languages, and preferred os to provide a smooth learning experience.', 'chapters': [{'end': 158.399, 'start': 0.45, 'title': 'Devops prerequisite course', 'summary': 'Highlights the need for a prerequisite course for beginners in devops and cloud, addressing key challenges such as setting up lab environments, networking, linux cli, web server communication, and data formats, with a focus on providing a smooth journey and inclusive learning experience.', 'duration': 157.949, 'highlights': ['The course aims to bridge the gap for beginners in DevOps and cloud by addressing challenges such as setting up lab environments, networking, Linux CLI, web server communication, and data formats.', 'The course is designed for anyone wanting to start their DevOps or cloud journey, regardless of background or experience, including those with no IT background, college students, and experienced developers.', 'The course offers visual learning with illustrations and animations, demos for practical application, and hands-on labs with pre-configured environments, emphasizing interactive and hassle-free learning.']}, {'end': 848.597, 'start': 159.08, 'title': 'Devops & cloud prerequisites course', 'summary': 'Covers the objectives of a devops and cloud prerequisites course, including linux basics, networking, data structure languages, and preferred os for the course, based on insights from surveys and student requests.', 'duration': 689.517, 'highlights': ['CentOS is the preferred OS for the course, requested by a good percentage of students, which also helps in preparation for Linux certifications like Linux Essentials and Red Hat exams.', 'Most DevOps tools have a requirement for Linux, and learning some Linux basics is highly recommended for those from a Windows background.', 'Covered basic Linux commands including echo, ls, CD, PWD, mkdir, CP, MV, touch, and cat, with explanations and examples.', 'Discussed networking in Linux, including IP address configuration, DNS settings, and troubleshooting DNS-related issues, addressing common struggles for students.', 'Helped create personal lab environments and troubleshoot and maintain them, addressing common struggles for students, especially in the networking part in VirtualBox.']}], 'duration': 848.147, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY450.jpg', 'highlights': ['The course aims to bridge the gap for beginners in DevOps and cloud by addressing challenges such as setting up lab environments, networking, Linux CLI, web server communication, and data formats.', 'The course offers visual learning with illustrations and animations, demos for practical application, and hands-on labs with pre-configured environments, emphasizing interactive and hassle-free learning.', 'CentOS is the preferred OS for the course, requested by a good percentage of students, which also helps in preparation for Linux certifications like Linux Essentials and Red Hat exams.', 'Most DevOps tools have a requirement for Linux, and learning some Linux basics is highly recommended for those from a Windows background.', 'The course is designed for anyone wanting to start their DevOps or cloud journey, regardless of background or experience, including those with no IT background, college students, and experienced developers.']}, {'end': 1759.727, 'segs': [{'end': 878.283, 'src': 'embed', 'start': 849.498, 'weight': 1, 'content': [{'end': 853.405, 'text': 'Run the RM command to remove or delete a file.', 'start': 849.498, 'duration': 3.907}, {'end': 860.858, 'text': "So that's about it for this section, head over to the labs and practice working with these basic Linux commands.", 'start': 854.527, 'duration': 6.331}, {'end': 866.074, 'text': 'Let me quickly introduce you to the hands-on labs in this course.', 'start': 862.532, 'duration': 3.542}, {'end': 869.317, 'text': 'The lab interface is divided into two sections.', 'start': 867.155, 'duration': 2.162}, {'end': 873.339, 'text': 'Here you have a terminal, which is a live terminal to a Linux host.', 'start': 869.617, 'duration': 3.722}, {'end': 875.541, 'text': 'And here you have a quiz portal.', 'start': 873.94, 'duration': 1.601}, {'end': 878.283, 'text': 'It takes a few minutes for the labs to load.', 'start': 876.221, 'duration': 2.062}], 'summary': 'Learn to use rm command to delete files in the linux labs.', 'duration': 28.785, 'max_score': 849.498, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY849498.jpg'}, {'end': 974.899, 'src': 'embed', 'start': 944.989, 'weight': 0, 'content': [{'end': 948.63, 'text': 'So these labs are available for an hour each time.', 'start': 944.989, 'duration': 3.641}, {'end': 951.351, 'text': 'So you can access these labs as many times as you want.', 'start': 948.67, 'duration': 2.681}, {'end': 954.772, 'text': "But each time there's a time limit exits in an hour.", 'start': 951.791, 'duration': 2.981}, {'end': 960.713, 'text': 'And this lab session also has a number of questions and you can see the question numbers here.', 'start': 955.132, 'duration': 5.581}, {'end': 965.454, 'text': 'Currently we are on the first question and this lab has a total of ten questions.', 'start': 961.293, 'duration': 4.161}, {'end': 967.915, 'text': 'you can also skip through questions.', 'start': 965.994, 'duration': 1.921}, {'end': 974.899, 'text': 'in case you go through five questions and then for some reason you had to stop or for some reason the lab terminates,', 'start': 967.915, 'duration': 6.984}], 'summary': 'Access labs for 1 hour, 10 questions, and ability to skip questions.', 'duration': 29.91, 'max_score': 944.989, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY944989.jpg'}, {'end': 1197.976, 'src': 'heatmap', 'start': 1094.149, 'weight': 0.964, 'content': [{'end': 1098.892, 'text': 'So if you click on the plus button and click on open new terminal, then you can get a new terminal window.', 'start': 1094.149, 'duration': 4.743}, {'end': 1101.854, 'text': 'So here I have the old terminal and here I have the new one.', 'start': 1099.392, 'duration': 2.462}, {'end': 1111.58, 'text': "And if you, at some point in time we will be hosting web servers, and If you'd like to access the URL of the server,", 'start': 1102.495, 'duration': 9.085}, {'end': 1120.884, 'text': "then you have to click these links and that way it'll open up a new browser and it will forward your request to the host.", 'start': 1111.58, 'duration': 9.304}, {'end': 1124.645, 'text': "What you're accessing is a terminal to a remote server.", 'start': 1121.784, 'duration': 2.861}, {'end': 1127.526, 'text': 'I hope you enjoy your learning.', 'start': 1125.946, 'duration': 1.58}, {'end': 1133.929, 'text': 'Let us now look at some more Linux commands that will help you get through this course.', 'start': 1129.167, 'duration': 4.762}, {'end': 1140.334, 'text': 'will start with user accounts to know which user you are.', 'start': 1135.373, 'duration': 4.961}, {'end': 1142.915, 'text': 'run the who am i command.', 'start': 1140.334, 'duration': 2.581}, {'end': 1146.676, 'text': 'in this case it says you are user matthew.', 'start': 1142.915, 'duration': 3.761}, {'end': 1153.538, 'text': "the id command gives you more information about the user, such as the user's id, which happens to be 1001,", 'start': 1146.676, 'duration': 6.862}, {'end': 1156.739, 'text': 'and the group id and the groups that the user is part of.', 'start': 1153.538, 'duration': 3.201}, {'end': 1164.188, 'text': 'to switch from one user to another, you may use the su command su stands for switch user.', 'start': 1157.879, 'duration': 6.309}, {'end': 1170.476, 'text': "to switch to user, say aperna, run the su command followed by the user's name.", 'start': 1164.188, 'duration': 6.288}, {'end': 1172.979, 'text': "you will then be prompted for the user's password.", 'start': 1170.476, 'duration': 2.503}, {'end': 1179.606, 'text': "If you're accessing one system from another system using, say, SSH,", 'start': 1174.14, 'duration': 5.466}, {'end': 1187.334, 'text': 'and you want to log into the other system using a different user than your current user, specify the username before the host name,', 'start': 1179.606, 'duration': 7.728}, {'end': 1188.896, 'text': 'followed by an at symbol.', 'start': 1187.334, 'duration': 1.562}, {'end': 1197.976, 'text': 'When it comes to performing tasks, not all users can do all tasks in Linux.', 'start': 1192.952, 'duration': 5.024}], 'summary': 'Learn how to open a new terminal, access remote servers, and switch between users. also, explore linux commands for user accounts and permissions.', 'duration': 103.827, 'max_score': 1094.149, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1094149.jpg'}, {'end': 1277.301, 'src': 'embed', 'start': 1251.686, 'weight': 2, 'content': [{'end': 1256.89, 'text': 'So the user is still a regular user but with root privileges.', 'start': 1251.686, 'duration': 5.204}, {'end': 1267.536, 'text': "when a regular user is granted sudo privilege, they can now elevate their permission level and perform tasks that they otherwise couldn't.", 'start': 1257.751, 'duration': 9.785}, {'end': 1277.301, 'text': "by simply prefixing a command with the keyword sudo, they'll be asked for their password and on entering the password, the command is executed.", 'start': 1267.536, 'duration': 9.765}], 'summary': 'Granting sudo privileges enables regular users to elevate permissions and perform tasks by entering their password.', 'duration': 25.615, 'max_score': 1251.686, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1251686.jpg'}, {'end': 1495.355, 'src': 'heatmap', 'start': 1291.142, 'weight': 0.957, 'content': [{'end': 1295.984, 'text': 'So while making changes to the system, you must remember to use the sudo prefix.', 'start': 1291.142, 'duration': 4.842}, {'end': 1298.725, 'text': 'If not, you will get permission denied errors.', 'start': 1296.544, 'duration': 2.181}, {'end': 1306.128, 'text': "So whenever you hit permission denied errors, remember that it could be because you haven't used the sudo prefix.", 'start': 1299.405, 'duration': 6.723}, {'end': 1311.15, 'text': 'We will be discussing about a lot of commands through the rest of this course.', 'start': 1307.288, 'duration': 3.862}, {'end': 1318.033, 'text': "And for the sake of brevity, we won't be specifying the pseudo prefix each time on all our slides.", 'start': 1311.51, 'duration': 6.523}, {'end': 1322.795, 'text': 'So it is assumed that you will use this prefix while working in the labs.', 'start': 1318.533, 'duration': 4.262}, {'end': 1328.233, 'text': 'Let us now look at some commands that will help us download files from the internet.', 'start': 1324.13, 'duration': 4.103}, {'end': 1335.66, 'text': 'At times you will have to download files from the internet such as RPM packages or binary files or images.', 'start': 1328.834, 'duration': 6.826}, {'end': 1341.184, 'text': 'And you can use the curl command and provide the URL of the file to download the file.', 'start': 1335.88, 'duration': 5.304}, {'end': 1350.389, 'text': "add the dash capital o option to save the result to a file, otherwise it'll just print the file on screen.", 'start': 1342.345, 'duration': 8.044}, {'end': 1355.691, 'text': 'another tool that can be used to download files is the wget command.', 'start': 1350.389, 'duration': 5.302}, {'end': 1365.036, 'text': 'again specify the full url and, with the dash capital o options, specify the name of the file that you want it to store locally,', 'start': 1355.691, 'duration': 9.345}, {'end': 1373.824, 'text': 'as At times you may be on a Linux system and may not know what operating system you are on.', 'start': 1365.036, 'duration': 8.788}, {'end': 1378.766, 'text': 'to know the current OS, inspect the release files under the Etsy directory.', 'start': 1373.824, 'duration': 4.942}, {'end': 1383.127, 'text': 'The release files may be named differently based on the operating system.', 'start': 1379.206, 'duration': 3.921}, {'end': 1392.57, 'text': 'So use a wild card like this to see more details about the OS view these files by running the cat command.', 'start': 1383.207, 'duration': 9.363}, {'end': 1397.312, 'text': "And you can see that in this case, it's CentOS version seven.", 'start': 1393.351, 'duration': 3.961}, {'end': 1400.868, 'text': "Let's now talk about package managers in Linux.", 'start': 1398.206, 'duration': 2.662}, {'end': 1405.45, 'text': 'Package managers help you install various software on the Linux system.', 'start': 1401.588, 'duration': 3.862}, {'end': 1412.655, 'text': 'And when you go through DevOps and cloud courses, you will install various software, such as web servers,', 'start': 1405.73, 'duration': 6.925}, {'end': 1416.557, 'text': 'database servers and DevOps tools or dependent softwares.', 'start': 1412.655, 'duration': 3.902}, {'end': 1421.54, 'text': 'And most of these are installed using package managers.', 'start': 1417.377, 'duration': 4.163}, {'end': 1429.313, 'text': 'CentOS uses an RPM based package manager just like Red Hat Enterprise Linux or Fedora.', 'start': 1423.331, 'duration': 5.982}, {'end': 1432.775, 'text': 'RPM stands for Red Hat package manager.', 'start': 1430.074, 'duration': 2.701}, {'end': 1438.777, 'text': 'A software is packaged into a bundle with the extension dot RPM.', 'start': 1433.715, 'duration': 5.062}, {'end': 1447.2, 'text': 'To install the package use the RPM command and the dash I option for install and specify the package name.', 'start': 1439.457, 'duration': 7.743}, {'end': 1456.906, 'text': 'To uninstall a package use the dash E option and to query the database and get details about an installed package.', 'start': 1448.444, 'duration': 8.462}, {'end': 1459.126, 'text': 'Use the dash Q option.', 'start': 1457.586, 'duration': 1.54}, {'end': 1466.688, 'text': 'So RPM requires you to point it to the exact location where the RPM package is available.', 'start': 1460.267, 'duration': 6.421}, {'end': 1469.729, 'text': 'You then install that package on the system.', 'start': 1467.428, 'duration': 2.301}, {'end': 1474.475, 'text': 'It does not care about any dependencies that this package may have.', 'start': 1470.749, 'duration': 3.726}, {'end': 1484.93, 'text': 'For example, say you were installing another software, like Ansible, and it requires Python and other other dependent software.', 'start': 1474.915, 'duration': 10.015}, {'end': 1495.355, 'text': 'So simply installing Ansible with the RPM command would not take care of installing Python and other dependent libraries if they are not already installed.', 'start': 1485.831, 'duration': 9.524}], 'summary': 'Remember to use sudo prefix to avoid permission errors. use curl or wget to download files. rpm package manager for centos uses rpm command for installation, uninstallation, and querying.', 'duration': 204.213, 'max_score': 1291.142, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1291142.jpg'}, {'end': 1564.483, 'src': 'embed', 'start': 1535.92, 'weight': 3, 'content': [{'end': 1542.403, 'text': 'these repositories can be local, that is, installed on your laptop, for example, or on a remote location,', 'start': 1535.92, 'duration': 6.483}, {'end': 1548.407, 'text': 'either a secure server in your enterprise or available publicly in the internet.', 'start': 1542.403, 'duration': 6.004}, {'end': 1553.351, 'text': 'Under the hoods, yum still makes use of the RPM package manager.', 'start': 1549.267, 'duration': 4.084}, {'end': 1558.817, 'text': 'So when you try to install a package using yum, yum searches these repositories,', 'start': 1553.952, 'duration': 4.865}, {'end': 1564.483, 'text': 'finds the required packages and dependencies and installs all of them in the right order.', 'start': 1558.817, 'duration': 5.666}], 'summary': 'Yum uses local or remote repositories, leveraging rpm to install packages and dependencies.', 'duration': 28.563, 'max_score': 1535.92, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1535920.jpg'}, {'end': 1723.182, 'src': 'embed', 'start': 1688.851, 'weight': 4, 'content': [{'end': 1690.211, 'text': 'So, as I just mentioned,', 'start': 1688.851, 'duration': 1.36}, {'end': 1698.615, 'text': 'the instructions to configure the repo to install the latest version of Ansible is available in the Ansible documentation page itself.', 'start': 1690.211, 'duration': 8.404}, {'end': 1704.145, 'text': 'So you can configure a new repo using the yum install command itself.', 'start': 1699.435, 'duration': 4.71}, {'end': 1710.559, 'text': 'And running this command adds a new repository to your system, which points to the latest version of Ansible.', 'start': 1704.987, 'duration': 5.572}, {'end': 1715.717, 'text': 'To see a list of installed or available packages,', 'start': 1712.455, 'duration': 3.262}, {'end': 1723.182, 'text': 'run the yum list command and followed by the package name if you want to search for a particular package.', 'start': 1715.717, 'duration': 7.465}], 'summary': 'Configure repo for latest ansible version using yum install command.', 'duration': 34.331, 'max_score': 1688.851, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1688851.jpg'}], 'start': 849.498, 'title': 'Linux lab, basics and package management', 'summary': 'Introduces hands-on linux labs with ten questions, a timer, and a one-hour session, covers basic commands, user privileges, and sudo usage, and explores linux package management, including rpm, yum, and software installation in centos.', 'chapters': [{'end': 1047.356, 'start': 849.498, 'title': 'Linux lab interface', 'summary': 'Introduces the hands-on labs in the course, providing a live terminal to a linux host for practice, including tasks with hints, a timer, and a total of ten questions, with the ability to skip through questions, and the lab session lasts for an hour.', 'duration': 197.858, 'highlights': ['The lab interface provides a live terminal to a Linux host for hands-on practice.', 'The lab tasks include multiple-choice questions and tasks to perform, with hints available.', 'The lab session has a total of ten questions and lasts for an hour, allowing the option to skip through questions.', 'The lab includes a timer and allows access as many times as desired within the hour timeframe.']}, {'end': 1322.795, 'start': 1047.356, 'title': 'Linux basics and user privileges', 'summary': 'Introduces basic linux commands, user accounts, user privileges, and the importance of using sudo to perform tasks with elevated permissions as a regular user.', 'duration': 275.439, 'highlights': ['The importance of using sudo to perform tasks with elevated permissions as a regular user', 'Introduction to basic Linux commands and user accounts', 'The concept of root user and sudo privileges']}, {'end': 1759.727, 'start': 1324.13, 'title': 'Linux package management', 'summary': 'Covers downloading files using curl and wget, exploring linux package managers rpm and yum, and configuring repositories for software installation, including the usage and configuration of repositories in centos and the usage of yum for installing and managing packages.', 'duration': 435.597, 'highlights': ['yum searches software repositories containing hundreds and thousands of rpm package files and installs all required packages and dependencies in the right order.', 'Instructions to configure additional repositories are usually made available along with the software itself, and the list of repositories available on a system can be seen using the yum repo list command.', 'The instructions to configure a new repo to install the latest version of Ansible are available in the Ansible documentation, and running the yum install command adds a new repository to the system.']}], 'duration': 910.229, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY849498.jpg', 'highlights': ['The lab session has a total of ten questions and lasts for an hour, allowing the option to skip through questions.', 'The lab interface provides a live terminal to a Linux host for hands-on practice.', 'The importance of using sudo to perform tasks with elevated permissions as a regular user', 'yum searches software repositories containing hundreds and thousands of rpm package files and installs all required packages and dependencies in the right order.', 'Instructions to configure a new repo to install the latest version of Ansible are available in the Ansible documentation, and running the yum install command adds a new repository to the system.']}, {'end': 2450.712, 'segs': [{'end': 1808.577, 'src': 'embed', 'start': 1784.373, 'weight': 0, 'content': [{'end': 1792.681, 'text': 'you would need to make sure that those servers or services are running and that they stay running even after the servers are rebooted.', 'start': 1784.373, 'duration': 8.308}, {'end': 1805.134, 'text': 'So services in Linux help you configure software to run in the background and make sure that they run all the time automatically when servers are rebooted,', 'start': 1793.562, 'duration': 11.572}, {'end': 1808.577, 'text': 'as well as they follow the right order of startup.', 'start': 1805.134, 'duration': 3.443}], 'summary': 'Linux services ensure continuous software operation and auto-restart after server reboot.', 'duration': 24.204, 'max_score': 1784.373, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1784373.jpg'}, {'end': 1864.552, 'src': 'embed', 'start': 1833.028, 'weight': 3, 'content': [{'end': 1845.54, 'text': 'the newer method to start a service is to use the system cuddle command and run the system cuddle start command and provide the service name.', 'start': 1833.028, 'duration': 12.512}, {'end': 1858.409, 'text': 'so in this case system cuddle or system CTL start, HTTP D system cuddle is the command used to manage services on a systemd managed server.', 'start': 1845.54, 'duration': 12.869}, {'end': 1864.552, 'text': 'both the commands the service command and the system cuddle command serve the same purpose.', 'start': 1858.409, 'duration': 6.143}], 'summary': "Newer method to start service: use 'systemctl start '. both systemctl and service command serve same purpose.", 'duration': 31.524, 'max_score': 1833.028, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1833028.jpg'}, {'end': 1921.509, 'src': 'embed', 'start': 1891.212, 'weight': 1, 'content': [{'end': 1895.635, 'text': 'run the system, cuddle enable command and to disable the service.', 'start': 1891.212, 'duration': 4.423}, {'end': 1898.297, 'text': 'at boot up, run the system, cuddle disable command.', 'start': 1895.635, 'duration': 2.662}, {'end': 1901.341, 'text': 'Once services are configured.', 'start': 1899.518, 'duration': 1.823}, {'end': 1906.869, 'text': 'it is so convenient for administrators to start, stop or enable the services.', 'start': 1901.341, 'duration': 5.528}, {'end': 1911.276, 'text': "you don't have to go looking for the executables to start these services.", 'start': 1906.869, 'duration': 4.407}, {'end': 1921.509, 'text': 'So how do you configure a program or software as a service? Say, for example, you have a simple Python program.', 'start': 1912.918, 'duration': 8.591}], 'summary': 'Configure services with cuddle commands for easy management and automation.', 'duration': 30.297, 'max_score': 1891.212, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1891212.jpg'}, {'end': 1993.744, 'src': 'heatmap', 'start': 1891.212, 'weight': 0.746, 'content': [{'end': 1895.635, 'text': 'run the system, cuddle enable command and to disable the service.', 'start': 1891.212, 'duration': 4.423}, {'end': 1898.297, 'text': 'at boot up, run the system, cuddle disable command.', 'start': 1895.635, 'duration': 2.662}, {'end': 1901.341, 'text': 'Once services are configured.', 'start': 1899.518, 'duration': 1.823}, {'end': 1906.869, 'text': 'it is so convenient for administrators to start, stop or enable the services.', 'start': 1901.341, 'duration': 5.528}, {'end': 1911.276, 'text': "you don't have to go looking for the executables to start these services.", 'start': 1906.869, 'duration': 4.407}, {'end': 1921.509, 'text': 'So how do you configure a program or software as a service? Say, for example, you have a simple Python program.', 'start': 1912.918, 'duration': 8.591}, {'end': 1925.694, 'text': "It could be a simple web server that's developed in Python.", 'start': 1922.169, 'duration': 3.525}, {'end': 1930.58, 'text': 'And the code is available at opt code, my app dot py.', 'start': 1926.415, 'duration': 4.165}, {'end': 1935.382, 'text': 'You can run this server with the Python interpreter.', 'start': 1931.661, 'duration': 3.721}, {'end': 1945.765, 'text': "Once it's running, if you call the localhost for port 5000, you see it return hello world, which happens to be the response of the web server.", 'start': 1936.242, 'duration': 9.523}, {'end': 1949.886, 'text': 'Now, I want to configure this as a service.', 'start': 1946.605, 'duration': 3.281}, {'end': 1961.664, 'text': 'You know, so you want your program to run as a service, so that when you run the system, cuddle start command, it starts, and when you run the system,', 'start': 1950.586, 'duration': 11.078}, {'end': 1963.507, 'text': 'cuddle stop command, it stops.', 'start': 1961.664, 'duration': 1.843}, {'end': 1970.551, 'text': 'And similarly, you want to configure your application to automatically start when the system boots up and, you know,', 'start': 1964.767, 'duration': 5.784}, {'end': 1974.073, 'text': 'even automatically restart in case the application crashes.', 'start': 1970.551, 'duration': 3.522}, {'end': 1983.318, 'text': 'How do you do that? As we just saw, the system called command line utility is used to manage the system D services.', 'start': 1975.313, 'duration': 8.005}, {'end': 1987.161, 'text': 'So we must configure our program as a system D service.', 'start': 1983.618, 'duration': 3.543}, {'end': 1993.744, 'text': 'So how do we do that? A system D service is configured using a system D unit file.', 'start': 1988.081, 'duration': 5.663}], 'summary': 'Configure programs as services with system d for easy management.', 'duration': 102.532, 'max_score': 1891.212, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1891212.jpg'}, {'end': 2043.691, 'src': 'embed', 'start': 2018.004, 'weight': 2, 'content': [{'end': 2027.455, 'text': 'Define a section called service using the square brackets inside the file and provide a directive named exec start under it.', 'start': 2018.004, 'duration': 9.451}, {'end': 2033.902, 'text': 'This is where you specify the command that you will be using to run your application.', 'start': 2028.576, 'duration': 5.326}, {'end': 2038.548, 'text': "So the same command that we run here, we're going to put it over here.", 'start': 2034.803, 'duration': 3.745}, {'end': 2040.228, 'text': "And that's it.", 'start': 2039.707, 'duration': 0.521}, {'end': 2043.691, 'text': "That's enough to configure your application as a service.", 'start': 2040.668, 'duration': 3.023}], 'summary': 'Configure application as a service with exec start directive.', 'duration': 25.687, 'max_score': 2018.004, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2018004.jpg'}, {'end': 2169.047, 'src': 'embed', 'start': 2138.787, 'weight': 4, 'content': [{'end': 2144.134, 'text': 'such as description that would allow others to understand what this service is about.', 'start': 2138.787, 'duration': 5.347}, {'end': 2150.463, 'text': 'Now for that add a new section in the file called unit and use the description directive.', 'start': 2144.154, 'duration': 6.309}, {'end': 2153.636, 'text': 'If your application has other dependencies,', 'start': 2151.374, 'duration': 2.262}, {'end': 2161.261, 'text': 'such as commands or scripts that are to be run before starting the application or after starting the application,', 'start': 2153.636, 'duration': 7.625}, {'end': 2169.047, 'text': 'then add the exec start pre and exec start post directives and specify the scripts or commands to be run.', 'start': 2161.261, 'duration': 7.786}], 'summary': "Add a new 'unit' section with a description directive for service understanding. include 'exec start pre' and 'exec start post' for running pre and post application scripts or commands.", 'duration': 30.26, 'max_score': 2138.787, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2138787.jpg'}, {'end': 2336.709, 'src': 'embed', 'start': 2310.736, 'weight': 5, 'content': [{'end': 2314.899, 'text': 'And in this course, we will look at VI editor, which happens to be the most popular one.', 'start': 2310.736, 'duration': 4.163}, {'end': 2324.586, 'text': 'VI editor comes installed by default with most operating systems, run the VI command and specify the file name to open it.', 'start': 2316.54, 'duration': 8.046}, {'end': 2330.11, 'text': "The terminal opens the file and you're now inside the VI editor.", 'start': 2325.627, 'duration': 4.483}, {'end': 2336.709, 'text': 'vi editor has two modes of operation the command mode and the insert mode.', 'start': 2331.147, 'duration': 5.562}], 'summary': 'Course covers vi editor, most popular, with default installation in most os, featuring two modes of operation.', 'duration': 25.973, 'max_score': 2310.736, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2310736.jpg'}], 'start': 1760.487, 'title': 'Managing linux services and systemd', 'summary': 'Explains managing services in linux using systemd, focusing on python program configuration as a systemd service. it covers configuring a new service, specifying dependencies, and vi editor usage.', 'chapters': [{'end': 2043.691, 'start': 1760.487, 'title': 'Managing linux services and systemd', 'summary': 'Explains how to manage services in linux using systemd, including starting, stopping, enabling, and configuring services as systemd services, with a focus on python program configuration as a systemd service.', 'duration': 283.204, 'highlights': ['Systemd services in Linux help configure software to run in the background and ensure they run all the time automatically when servers are rebooted.', 'The system cuddle command is used to start, stop, enable, disable, and manage services on a systemd managed server.', "Configuring a program as a systemd service involves creating a systemd unit file and defining the 'exec start' directive within it."]}, {'end': 2450.712, 'start': 2044.551, 'title': 'System service configuration', 'summary': "Covers configuring a new service using 'system cuddle' commands, specifying service dependencies in the unit configuration file, and understanding vi editor usage, including switching between command and insert modes and performing operations like copying, pasting, and saving files.", 'duration': 406.161, 'highlights': ["Configuring a new service using 'system cuddle' commands", 'Specifying service dependencies in the unit configuration file', 'Understanding VI editor usage']}], 'duration': 690.225, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY1760487.jpg', 'highlights': ['Systemd services in Linux help configure software to run in the background and ensure they run all the time automatically when servers are rebooted.', 'The system cuddle command is used to start, stop, enable, disable, and manage services on a systemd managed server.', "Configuring a program as a systemd service involves creating a systemd unit file and defining the 'exec start' directive within it.", "Configuring a new service using 'system cuddle' commands", 'Specifying service dependencies in the unit configuration file', 'Understanding VI editor usage']}, {'end': 3124.432, 'segs': [{'end': 2514.509, 'src': 'embed', 'start': 2473.992, 'weight': 3, 'content': [{'end': 2480.315, 'text': 'In this section, we will talk about setting up a lab for beginning your studies on DevOps and cloud technologies.', 'start': 2473.992, 'duration': 6.323}, {'end': 2487.999, 'text': 'At CodeCloud, we have embedded labs for our courses, and we provide you a readily available environment to work on.', 'start': 2481.295, 'duration': 6.704}, {'end': 2492.941, 'text': 'But at times you may want to set up your own personal learning environment,', 'start': 2488.659, 'duration': 4.282}, {'end': 2499.385, 'text': 'an environment where your changes are persistent and an environment where you can develop your own custom solutions.', 'start': 2492.941, 'duration': 6.444}, {'end': 2507.607, 'text': 'And this section will help you create your own lab as well as troubleshoot and maintain it, which is something that most students struggle with.', 'start': 2500.305, 'duration': 7.302}, {'end': 2514.509, 'text': 'We will discuss the different options available to set up a lab environment such as laptops or cloud.', 'start': 2508.727, 'duration': 5.782}], 'summary': 'Guide to setting up and maintaining a personal lab for devops and cloud studies, addressing common student struggles.', 'duration': 40.517, 'max_score': 2473.992, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2473992.jpg'}, {'end': 2564.231, 'src': 'embed', 'start': 2538.559, 'weight': 5, 'content': [{'end': 2544.542, 'text': 'We will also discuss how to take snapshots to save the state of VMs and restore those snapshots.', 'start': 2538.559, 'duration': 5.983}, {'end': 2549.624, 'text': 'We will then discuss how to automate the deployment of VMs using vagrant.', 'start': 2545.202, 'duration': 4.422}, {'end': 2555.947, 'text': 'A vagrant is a really neat tool that can help you set up a local lab environment very easily.', 'start': 2550.225, 'duration': 5.722}, {'end': 2559.569, 'text': 'And it is I highly recommend you to learn that.', 'start': 2556.748, 'duration': 2.821}, {'end': 2564.231, 'text': 'And finally, we will also look at some options available on the cloud.', 'start': 2560.189, 'duration': 4.042}], 'summary': 'Discussion on vm snapshots, vagrant for lab setup, and cloud options.', 'duration': 25.672, 'max_score': 2538.559, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2538559.jpg'}, {'end': 2762.155, 'src': 'embed', 'start': 2733.19, 'weight': 0, 'content': [{'end': 2736.974, 'text': 'or take a backup of your virtual machine and restore state from backup.', 'start': 2733.19, 'duration': 3.784}, {'end': 2740.378, 'text': 'We will discuss how to do that later in this section.', 'start': 2737.775, 'duration': 2.603}, {'end': 2748.147, 'text': 'This also allows you to try different things in different virtual machines and have different operating systems on different virtual machines.', 'start': 2740.778, 'duration': 7.369}, {'end': 2750.908, 'text': 'irrespective of what OS you are on.', 'start': 2748.707, 'duration': 2.201}, {'end': 2752.95, 'text': 'say, you are on a Mac or Windows.', 'start': 2750.908, 'duration': 2.042}, {'end': 2762.155, 'text': 'you can have one VM with Ubuntu and there, with CentOS, you can run Windows or Linux on Mac or a Windows Server on Linux or Linux on Windows or Mac,', 'start': 2752.95, 'duration': 9.205}], 'summary': 'Learn to manage multiple virtual machines with different os on mac or windows.', 'duration': 28.965, 'max_score': 2733.19, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2733190.jpg'}, {'end': 2995.357, 'src': 'embed', 'start': 2965.99, 'weight': 1, 'content': [{'end': 2971.474, 'text': 'However, these do not have many features that VMware workstation or VirtualBox support,', 'start': 2965.99, 'duration': 5.484}, {'end': 2979.1, 'text': 'such as running multiple VMs at the same time or taking snapshots or performing, you know, advanced networking configurations.', 'start': 2971.474, 'duration': 7.626}, {'end': 2988.868, 'text': 'So if you ask me, considering the cost benefits and the features, Oracle VirtualBox is my choice for a home lab environment.', 'start': 2979.961, 'duration': 8.907}, {'end': 2995.357, 'text': 'So Oracle VirtualBox is supported on Windows, Linux, Mac, or Solaris platforms.', 'start': 2990.834, 'duration': 4.523}], 'summary': 'Oracle virtualbox is preferred for home lab environment due to cost benefits and cross-platform support.', 'duration': 29.367, 'max_score': 2965.99, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2965990.jpg'}, {'end': 3055.996, 'src': 'embed', 'start': 3028.576, 'weight': 2, 'content': [{'end': 3041.345, 'text': 'So a dual core or quad core processor and a memory of at least four GB and disk space of at least 100 GB or more will help you set up one or two small VMs.', 'start': 3028.576, 'duration': 12.769}, {'end': 3055.996, 'text': 'And you can be really smart in managing resources by allocating VMs with only sufficient resources that it requires and using lightweight OS images instead of the full blown OS images.', 'start': 3042.306, 'duration': 13.69}], 'summary': 'Use dual or quad core processor, 4gb memory, 100gb+ disk for small vms, allocate resources smartly.', 'duration': 27.42, 'max_score': 3028.576, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3028576.jpg'}, {'end': 3108.401, 'src': 'embed', 'start': 3079.124, 'weight': 6, 'content': [{'end': 3084.886, 'text': 'The VM itself and the disks of the VM are stored as a file on the host operating system.', 'start': 3079.124, 'duration': 5.762}, {'end': 3087.928, 'text': 'set the type of the OS to Linux.', 'start': 3085.746, 'duration': 2.182}, {'end': 3095.712, 'text': 'And since the VM that I intend to create is a CentOS machine, I choose Red Hat 64 bit as my OS version.', 'start': 3088.328, 'duration': 7.384}, {'end': 3100.696, 'text': 'Because CentOS is a community fork of Red Hat Enterprise Linux.', 'start': 3096.473, 'duration': 4.223}, {'end': 3108.401, 'text': "So they're kind of the same, except that Red Hat Enterprise Linux has a lot more advanced packages and and built in features,", 'start': 3101.056, 'duration': 7.345}], 'summary': 'Creating a centos vm with red hat 64-bit os due to similarities with more advanced red hat enterprise linux.', 'duration': 29.277, 'max_score': 3079.124, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3079124.jpg'}], 'start': 2452.301, 'title': 'Setting up a lab for devops and cloud and using virtual machines for development', 'summary': 'Covers setting up a lab for devops and cloud technologies, including options for creating a personal learning environment, troubleshooting, and maintaining it, as well as the advantages of using virtual machines for development. it compares oracle virtualbox and vmware workstation, and provides resource requirements and installation steps for oracle virtualbox.', 'chapters': [{'end': 2684.603, 'start': 2452.301, 'title': 'Setting up a lab for devops and cloud', 'summary': 'Discusses setting up a lab for devops and cloud technologies, covering options for creating a personal learning environment, troubleshooting and maintaining it, and the various tools and technologies involved, including virtual box, networking, snapshots, vagrant, and cloud providers.', 'duration': 232.302, 'highlights': ['The chapter discusses setting up a lab for DevOps and cloud technologies', 'Covering options for creating a personal learning environment, troubleshooting and maintaining it', 'Various tools and technologies involved, including virtual box, networking, snapshots, vagrant, and cloud providers']}, {'end': 3124.432, 'start': 2684.603, 'title': 'Using virtual machines for development', 'summary': 'Discusses the advantages of using virtual machines for development, comparing oracle virtualbox and vmware workstation, and provides resource requirements and installation steps for oracle virtualbox.', 'duration': 439.829, 'highlights': ['Using virtual machines for development allows easy setup, backup and restoration, and running different operating systems on the same host system.', 'Comparison between Oracle VirtualBox and VMware Workstation outlines cost, platform support, and advanced features such as snapshots and clones.', 'Resource requirements for Oracle VirtualBox include a dual or quad-core processor, at least 4GB of memory, and 100GB of disk space for setting up one or two small VMs.', 'Installation steps for Oracle VirtualBox involve specifying the VM name, location, and OS type, with a focus on creating a CentOS machine.']}], 'duration': 672.131, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY2452301.jpg', 'highlights': ['Using virtual machines for development allows easy setup, backup, and restoration', 'Comparison between Oracle VirtualBox and VMware Workstation outlines cost, platform support, and advanced features', 'Resource requirements for Oracle VirtualBox include a dual or quad-core processor, at least 4GB of memory, and 100GB of disk space for setting up one or two small VMs', 'The chapter discusses setting up a lab for DevOps and cloud technologies', 'Covering options for creating a personal learning environment, troubleshooting, and maintaining it', 'Various tools and technologies involved, including virtual box, networking, snapshots, vagrant, and cloud providers', 'Installation steps for Oracle VirtualBox involve specifying the VM name, location, and OS type, with a focus on creating a CentOS machine']}, {'end': 4084.923, 'segs': [{'end': 3207.999, 'src': 'embed', 'start': 3183.061, 'weight': 0, 'content': [{'end': 3190.307, 'text': 'So just like how you would install an OS on a laptop, you would need to install an OS on a virtual machine created like this.', 'start': 3183.061, 'duration': 7.246}, {'end': 3193.11, 'text': "Now, that's one approach.", 'start': 3191.428, 'duration': 1.682}, {'end': 3194.931, 'text': "But there's a better way.", 'start': 3193.95, 'duration': 0.981}, {'end': 3202.398, 'text': 'And what if the disk you attach already has an OS on it, a pre configured pre built OS.', 'start': 3195.552, 'duration': 6.846}, {'end': 3207.999, 'text': 'That way, when the VM is created, we attach the disk which has the OS on it.', 'start': 3203.098, 'duration': 4.901}], 'summary': 'Install os on a virtual machine, use pre-configured disk for pre-built os.', 'duration': 24.938, 'max_score': 3183.061, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3183061.jpg'}, {'end': 3531.855, 'src': 'embed', 'start': 3506.474, 'weight': 1, 'content': [{'end': 3511.237, 'text': 'Now, in case you do not see the 64 bit options in this list,', 'start': 3506.474, 'duration': 4.763}, {'end': 3516.641, 'text': 'that is most probably because you do not have the virtualization technology enabled on your laptop.', 'start': 3511.237, 'duration': 5.404}, {'end': 3523.93, 'text': 'To enable virtualization technology on your laptop, it is usually under the BIOS settings.', 'start': 3517.967, 'duration': 5.963}, {'end': 3531.855, 'text': 'So if you simply Google enable virtualization in BIOS followed by your laptop model, you will see a set of results.', 'start': 3524.891, 'duration': 6.964}], 'summary': 'To enable 64-bit options, enable virtualization in bios settings.', 'duration': 25.381, 'max_score': 3506.474, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3506474.jpg'}, {'end': 3582.638, 'src': 'embed', 'start': 3555.826, 'weight': 3, 'content': [{'end': 3561.468, 'text': "By default it's set to 512 MB and let's change that to around 2 GB.", 'start': 3555.826, 'duration': 5.642}, {'end': 3563.388, 'text': "So we'll set it to 2 2 gigs.", 'start': 3561.628, 'duration': 1.76}, {'end': 3567.809, 'text': 'In the next step we select the hard disk that we downloaded.', 'start': 3564.309, 'duration': 3.5}, {'end': 3575.954, 'text': "So in this case The default selection is create a virtual hard disk now, but that's not what we want.", 'start': 3569.23, 'duration': 6.724}, {'end': 3582.638, 'text': "We already have a pre-built image of a hard disk downloaded, so we're going to specify that.", 'start': 3576.154, 'duration': 6.484}], 'summary': 'Increasing default memory to 2gb and specifying pre-built hard disk image.', 'duration': 26.812, 'max_score': 3555.826, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3555826.jpg'}, {'end': 3735.928, 'src': 'embed', 'start': 3712.807, 'weight': 2, 'content': [{'end': 3720.974, 'text': 'attach a CD drive of an operating system and follow the instructions to install the operating system, as we are familiar with.', 'start': 3712.807, 'duration': 8.167}, {'end': 3724.637, 'text': "However there's also an another easy way.", 'start': 3721.835, 'duration': 2.802}, {'end': 3731.044, 'text': 'There are pre installed pre-configured operating system images available on the internet.', 'start': 3725.498, 'duration': 5.546}, {'end': 3735.928, 'text': 'We could use those to easily deploy as many virtual machines as we need.', 'start': 3731.585, 'duration': 4.343}], 'summary': 'Install operating system from cd or use pre-configured images to deploy virtual machines.', 'duration': 23.121, 'max_score': 3712.807, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3712807.jpg'}, {'end': 3993.84, 'src': 'embed', 'start': 3967.798, 'weight': 4, 'content': [{'end': 3977.625, 'text': 'The GUI is okay to explore and, maybe you know, play around with initially, but when you get into real DevOps and cloud and automation tasks,', 'start': 3967.798, 'duration': 9.827}, {'end': 3979.206, 'text': 'it would be better to have CLI access.', 'start': 3977.625, 'duration': 1.581}, {'end': 3988.976, 'text': "So I personally never use the GUI because it's in fact a bit painful to work with, you know, switching between your system and the VM UI.", 'start': 3980.467, 'duration': 8.509}, {'end': 3993.84, 'text': "And since it's a VM, the GUI and console may be a bit slow.", 'start': 3989.476, 'duration': 4.364}], 'summary': 'Cli access is preferred for devops tasks, as gui can be slow and cumbersome.', 'duration': 26.042, 'max_score': 3967.798, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3967798.jpg'}], 'start': 3124.772, 'title': 'Virtual machine deployment', 'summary': 'Covers creating and configuring virtual machines, setting up virtual machines with virtualbox, creating centos virtual machine, deployment process, and connecting to virtual machines. it explains benefits of using pre-configured disks, setting up lab environment using virtualbox, creating 64-bit centos virtual machine, and connecting in normal or headless mode.', 'chapters': [{'end': 3231.485, 'start': 3124.772, 'title': 'Creating and configuring virtual machines', 'summary': 'Explains the process of creating virtual machines, including assigning memory resources and selecting hard disks, and highlights the benefits of using pre-configured disks available online for easy os installation.', 'duration': 106.713, 'highlights': ['Creating a new VM involves assigning memory resources, typically one GB for lightweight OS, and selecting a hard disk for installation.', 'Installing an OS on a new VM is similar to setting up a new PC or laptop, where one needs to buy and attach disks and install the OS using an OS CD.', 'A better approach is to attach a pre-configured disk with an OS already installed, eliminating the need for manual OS installation upon VM creation.', 'A large collection of pre-configured disks, or images, are available on the internet, with OS boxes.org being one such website providing these resources.']}, {'end': 3452.532, 'start': 3232.705, 'title': 'Setting up virtual machines with virtualbox', 'summary': 'Explains how to set up a lab environment using virtualbox on windows, including downloading and deploying pre-configured operating system images, such as centos, to create virtual machines easily.', 'duration': 219.827, 'highlights': ['The chapter explains how to set up a lab environment using VirtualBox on Windows.', 'Pre-configured operating system images are available on the internet for easy deployment of virtual machines.', 'Detailed instructions are provided for downloading and deploying a CentOS image for creating a virtual machine.']}, {'end': 3672.074, 'start': 3453.433, 'title': 'Creating centos virtual machine', 'summary': 'Discusses creating a centos virtual machine, including selecting 64-bit option, enabling virtualization technology in bios, configuring memory size, selecting existing virtual hard disk, and setting up network connection for lab environment.', 'duration': 218.641, 'highlights': ['Enabling virtualization technology in BIOS is crucial to access the 64-bit option for creating the CentOS virtual machine.', 'Configuring memory size to around 2 GB is recommended for the CentOS virtual machine.', 'Selecting the existing virtual hard disk file is necessary for using the pre-built image of the CentOS hard disk.', 'Setting the adapter to bridge network enables the virtual machine to obtain an IP address and connect to the Internet for downloading and installing required packages.']}, {'end': 3858.591, 'start': 3672.475, 'title': 'Virtual machine deployment process', 'summary': 'Explains the process of installing virtualbox, downloading pre-configured operating system images, and creating a new virtual machine in oracle vm virtualbox.', 'duration': 186.116, 'highlights': ['Downloading VirtualBox and CentOS 7 image', 'Creating a new virtual machine', 'Deploying pre-configured operating system images']}, {'end': 4084.923, 'start': 3858.591, 'title': 'Connecting to virtual machines', 'summary': 'Covers setting up and connecting to a vm, including adjustments to cpu, connecting in normal or headless mode, and the preference for using cli over gui for better performance and convenience.', 'duration': 226.332, 'highlights': ['Adjusting CPU settings to around 2 in the system before powering on the VM, optimizing its performance.', 'Explaining the difference between starting the VM in normal mode, headless mode, and the convenience of using CLI over GUI for real DevOps and automation tasks.', 'Describing the limitations of GUI, such as slow performance, difficulty in copying and pasting, and the preference for using a terminal on the host laptop for convenience.']}], 'duration': 960.151, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY3124772.jpg', 'highlights': ['A better approach is to attach a pre-configured disk with an OS already installed, eliminating the need for manual OS installation upon VM creation.', 'Enabling virtualization technology in BIOS is crucial to access the 64-bit option for creating the CentOS virtual machine.', 'Pre-configured operating system images are available on the internet for easy deployment of virtual machines.', 'Configuring memory size to around 2 GB is recommended for the CentOS virtual machine.', 'Explaining the difference between starting the VM in normal mode, headless mode, and the convenience of using CLI over GUI for real DevOps and automation tasks.']}, {'end': 5917.904, 'segs': [{'end': 4152.3, 'src': 'embed', 'start': 4109.714, 'weight': 1, 'content': [{'end': 4120.202, 'text': 'we can connect to it remotely through SSH using SSH clients like the Terminal app in Linux or Mac and tools like PuTTY in Windows.', 'start': 4109.714, 'duration': 10.488}, {'end': 4126.645, 'text': 'Although the VMs are within our laptop, think of them as separate machines connected to the same network.', 'start': 4121.022, 'duration': 5.623}, {'end': 4132.828, 'text': 'So whatever you need for one system to connect to another system, you would need that here.', 'start': 4127.305, 'duration': 5.523}, {'end': 4141.152, 'text': 'For this to work, you must have these VMs configured with IP addresses and the relevant services must be configured and running on Windows.', 'start': 4133.368, 'duration': 7.784}, {'end': 4144.014, 'text': 'you need the remote desktop service to be running.', 'start': 4141.152, 'duration': 2.862}, {'end': 4148.037, 'text': 'And on Linux, you need the SSH service to be running.', 'start': 4144.913, 'duration': 3.124}, {'end': 4152.3, 'text': 'So make sure SSH server is installed and is in a running state.', 'start': 4148.938, 'duration': 3.362}], 'summary': 'Connect to vms through ssh using terminal app, putty, and ensure relevant services are running.', 'duration': 42.586, 'max_score': 4109.714, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY4109714.jpg'}, {'end': 5398.33, 'src': 'embed', 'start': 5368.275, 'weight': 0, 'content': [{'end': 5372.677, 'text': 'So each in this case, each VM kind of gets its own NAT router.', 'start': 5368.275, 'duration': 4.402}, {'end': 5375.518, 'text': 'Whereas in the earlier case, there was a NAT network.', 'start': 5372.937, 'duration': 2.581}, {'end': 5379.559, 'text': 'And there was a single NAT router that there works for all VMs.', 'start': 5375.978, 'duration': 3.581}, {'end': 5383.28, 'text': "In this case, there's more isolation between the VMs within the host.", 'start': 5379.999, 'duration': 3.281}, {'end': 5385.561, 'text': 'So that was about Nat.', 'start': 5384.5, 'duration': 1.061}, {'end': 5393.386, 'text': "Now let's look at another scenario where an external host requires access to the internal VMs.", 'start': 5386.501, 'duration': 6.885}, {'end': 5398.33, 'text': "So we've been talking about internal VMs trying to access external services.", 'start': 5393.687, 'duration': 4.643}], 'summary': 'Each vm has its own nat router, providing more isolation between vms within the host.', 'duration': 30.055, 'max_score': 5368.275, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY5368275.jpg'}, {'end': 5732.425, 'src': 'embed', 'start': 5705.714, 'weight': 2, 'content': [{'end': 5713.077, 'text': "Let's look at a simple scenario where we have a single VM configured with NAT, the default option.", 'start': 5705.714, 'duration': 7.363}, {'end': 5719.6, 'text': 'Port forwarding allows us to map a port on the host to a port on the guest.', 'start': 5713.937, 'duration': 5.663}, {'end': 5725.822, 'text': 'For example, port 80 on the host could be mapped to port 80 on the guest,', 'start': 5720.72, 'duration': 5.102}, {'end': 5732.425, 'text': 'so that any traffic that comes in on port 80 on the host is forwarded to port 80 on the guest.', 'start': 5725.822, 'duration': 6.603}], 'summary': 'Port forwarding maps host port 80 to guest port 80 for incoming traffic.', 'duration': 26.711, 'max_score': 5705.714, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY5705714.jpg'}, {'end': 5917.904, 'src': 'embed', 'start': 5891.505, 'weight': 4, 'content': [{'end': 5898.65, 'text': 'A linked clone uses the disk of the existing VM and only consumes space for the changes made in the new VM.', 'start': 5891.505, 'duration': 7.145}, {'end': 5904.094, 'text': 'The only concern is when you plan to move a VM from one system to another.', 'start': 5899.431, 'duration': 4.663}, {'end': 5910.198, 'text': 'In case of the linked clone, you will have to copy the disk of the original VM as well.', 'start': 5904.634, 'duration': 5.564}, {'end': 5917.904, 'text': 'Or in case you decide to delete the original VM, you will run into issues as the linked clone has a dependency on it.', 'start': 5910.799, 'duration': 7.105}], 'summary': 'Linked clones save disk space but have dependencies on original vms.', 'duration': 26.399, 'max_score': 5891.505, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY5891505.jpg'}], 'start': 4086.212, 'title': 'Virtualbox networking', 'summary': 'Covers connecting to vms via remote desktop and ssh, setting up ip and ssh on virtualbox with specific commands and ip addresses provided, and discussing virtualbox networking options and overview, addressing common student issues around understanding and configuring nat, bridge, and host only networks.', 'chapters': [{'end': 4249.336, 'start': 4086.212, 'title': 'Connecting to vms via remote desktop and ssh', 'summary': 'Explains how to connect to vms using remote desktop clients for windows and ssh for linux, emphasizing the need for configuring ip addresses and relevant services like remote desktop and ssh.', 'duration': 163.124, 'highlights': ['Connecting to Windows system via remote desktop clients and to Linux system via SSH', 'Importance of configuring IP addresses and relevant services on VMs', 'Initial configuration using console and subsequent interactions using SSH', 'Example of checking or setting IP addresses in a CentOS machine']}, {'end': 4689.666, 'start': 4249.857, 'title': 'Setting up ip and ssh on virtualbox', 'summary': 'Discusses setting up ip addresses and checking ssh services on centos virtualbox, demonstrating how to connect to a linux vm using ssh and different networking configurations, including port forwarding and nat setup, with specific commands and ip addresses provided.', 'duration': 439.809, 'highlights': ['Demonstrating how to connect to a Linux VM using SSH and different networking configurations', 'Providing specific commands and IP addresses for setting up IP addresses and checking SSH services', 'Detailing the use of port forwarding and NAT setup for connecting to a Linux VM']}, {'end': 5285.09, 'start': 4689.666, 'title': 'Virtualbox networking options', 'summary': 'Covers the various networking options within virtualbox, addressing common student issues around understanding and configuring nat, bridge, and host only networks, with examples and practical configurations, and the implications of using each type of network.', 'duration': 595.424, 'highlights': ['VirtualBox Networking Options', 'Explanation of Basic Networking Concepts', 'Configuration of VirtualBox Networking Adapters', 'Creation and Configuration of Host-Only Network', 'Introduction of NAT Network']}, {'end': 5917.904, 'start': 5286.231, 'title': 'Virtualbox networking overview', 'summary': 'Explains virtualbox networking, including nat, nat network, and bridge network, highlighting the differences, connectivity options, port forwarding, and cloning vms.', 'duration': 631.673, 'highlights': ['The chapter explains the differences between NAT, NAT network, and bridge network, highlighting how VMs are isolated in NAT but can communicate with external systems through the host, while in bridge network, VMs are assigned IPs in the same range as the external LAN network, enabling them to be part of the same network.', 'It discusses internet connectivity options for each network type, stating that VMs configured with NAT or bridged interface can reach the internet easily, while enabling IP forwarding on the host machine is required for VMs on a host-only network to connect to systems outside the host machine.', 'The chapter outlines the concept of port forwarding, explaining how it allows mapping a port on the host to a port on the guest, enabling traffic forwarding for services such as web servers and SSH connections.', 'It provides insights into cloning VMs, detailing the process of creating clones from an existing VM, and explaining the differences between full clone and linked clone, emphasizing the considerations for moving or deleting the original VM when using a linked clone.']}], 'duration': 1831.692, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY4086212.jpg', 'highlights': ['The chapter explains the differences between NAT, NAT network, and bridge network, highlighting how VMs are isolated in NAT but can communicate with external systems through the host, while in bridge network, VMs are assigned IPs in the same range as the external LAN network, enabling them to be part of the same network.', 'Demonstrating how to connect to a Linux VM using SSH and different networking configurations', 'The chapter outlines the concept of port forwarding, explaining how it allows mapping a port on the host to a port on the guest, enabling traffic forwarding for services such as web servers and SSH connections.', 'Importance of configuring IP addresses and relevant services on VMs', 'The chapter provides insights into cloning VMs, detailing the process of creating clones from an existing VM, and explaining the differences between full clone and linked clone, emphasizing the considerations for moving or deleting the original VM when using a linked clone.']}, {'end': 7310.959, 'segs': [{'end': 5946.774, 'src': 'embed', 'start': 5918.604, 'weight': 1, 'content': [{'end': 5927.294, 'text': "So if you don't plan to copy your VMs, then linked clone is a good option as it consumes less space on your on your laptop.", 'start': 5918.604, 'duration': 8.69}, {'end': 5933.681, 'text': "Okay, so I'll just select the link clone and continue with it and create the VM.", 'start': 5928.335, 'duration': 5.346}, {'end': 5939.487, 'text': 'So we now have two VMs before turning them on, let us make some changes.', 'start': 5934.562, 'duration': 4.925}, {'end': 5943.751, 'text': 'So we want the two VMs to be able to reach each other.', 'start': 5940.087, 'duration': 3.664}, {'end': 5946.774, 'text': 'So they both must be part of the same network.', 'start': 5943.911, 'duration': 2.863}], 'summary': 'Using linked clone vms to save space and connecting them to the same network for communication.', 'duration': 28.17, 'max_score': 5918.604, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY5918604.jpg'}, {'end': 6008.736, 'src': 'embed', 'start': 5973.968, 'weight': 2, 'content': [{'end': 5976.729, 'text': 'So go to File and select host network manager.', 'start': 5973.968, 'duration': 2.761}, {'end': 5982.141, 'text': 'Windows systems should also have this option.', 'start': 5979.68, 'duration': 2.461}, {'end': 5985.623, 'text': "Once it's open, create a new network.", 'start': 5983.202, 'duration': 2.421}, {'end': 5987.885, 'text': 'I already have a network.', 'start': 5986.324, 'duration': 1.561}, {'end': 5990.666, 'text': "In this case, I'll add a new network.", 'start': 5988.145, 'duration': 2.521}, {'end': 5993.488, 'text': "It's named V box net one.", 'start': 5991.426, 'duration': 2.062}, {'end': 6000.161, 'text': 'And as you can see, it has an IP address range 192.168.', 'start': 5993.928, 'duration': 6.233}, {'end': 6008.736, 'text': "57.1 If you'd like the VMs to get an IP address assigned to them automatically, then check this box and then click close.", 'start': 6000.161, 'duration': 8.575}], 'summary': 'Create a new network named v box net one with ip range 192.168.57.1 for vms.', 'duration': 34.768, 'max_score': 5973.968, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY5973968.jpg'}, {'end': 6250.237, 'src': 'embed', 'start': 6222.574, 'weight': 3, 'content': [{'end': 6228.917, 'text': "If you'd like multiple VMs to talk to each other and have internet connectivity, choose NAT network.", 'start': 6222.574, 'duration': 6.343}, {'end': 6235.341, 'text': 'If you want multiple VMs to reach each other but no internet connectivity, choose host network.', 'start': 6229.698, 'duration': 5.643}, {'end': 6241.908, 'text': 'In this case, your host will also be part of the same network and can reach the VMs without any port forwarding.', 'start': 6236.081, 'duration': 5.827}, {'end': 6250.237, 'text': "If you'd like the benefits of multiple networking options, then you can have both of these on a single VM as we did in this demo.", 'start': 6243.129, 'duration': 7.108}], 'summary': 'Choose nat network for vms with internet, host network for local connectivity, and both for multiple options.', 'duration': 27.663, 'max_score': 6222.574, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY6222574.jpg'}, {'end': 6433.104, 'src': 'embed', 'start': 6408.066, 'weight': 4, 'content': [{'end': 6414.674, 'text': "Great So this functionality is especially useful when you're testing different software and functionalities on VMs.", 'start': 6408.066, 'duration': 6.608}, {'end': 6422.058, 'text': 'For example, before making a major change to your VM, such as upgrading the version of software or packages,', 'start': 6415.214, 'duration': 6.844}, {'end': 6425.88, 'text': 'you could take a snapshot of the working state to get back to in the future.', 'start': 6422.058, 'duration': 3.822}, {'end': 6430.062, 'text': 'You can also clone a new VM from the snapshot.', 'start': 6426.741, 'duration': 3.321}, {'end': 6433.104, 'text': 'Say you made a lot of changes and something went wrong.', 'start': 6430.523, 'duration': 2.581}], 'summary': 'Vm snapshotting allows easy testing and recovery, e.g. for software updates and cloning.', 'duration': 25.038, 'max_score': 6408.066, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY6408066.jpg'}, {'end': 6511.65, 'src': 'embed', 'start': 6484.307, 'weight': 0, 'content': [{'end': 6488.771, 'text': 'And then we also configured port forwarding, and finally, you know, booted up the VM.', 'start': 6484.307, 'duration': 4.464}, {'end': 6493.114, 'text': 'We then repeated these tasks for every VM that we wish to create.', 'start': 6488.931, 'duration': 4.183}, {'end': 6501.939, 'text': 'vagrant helps us automate all of these tasks and do all of these with a single vagrant up command.', 'start': 6494.274, 'duration': 7.665}, {'end': 6511.65, 'text': "That way you don't have to go searching for images of operating systems or download them or create networks or configure port forwarding manually.", 'start': 6503.365, 'duration': 8.285}], 'summary': 'Using vagrant, automate vm creation, including port forwarding, with a single command.', 'duration': 27.343, 'max_score': 6484.307, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY6484307.jpg'}, {'end': 6785.657, 'src': 'embed', 'start': 6756.673, 'weight': 5, 'content': [{'end': 6764.2, 'text': 'Vagrant provisions a VM following the specifications given in this Vagrant file and also runs the shell script given here.', 'start': 6756.673, 'duration': 7.527}, {'end': 6767.582, 'text': 'You may also include multiple VMs in this.', 'start': 6764.8, 'duration': 2.782}, {'end': 6777.311, 'text': 'This approach can help you automate the deployment of complex environments on your laptops, such as small clusters of popular systems.', 'start': 6768.383, 'duration': 8.928}, {'end': 6785.657, 'text': 'There are boxes that have automated clusters such as Kubernetes clusters, which has multiple VMs.', 'start': 6777.911, 'duration': 7.746}], 'summary': 'Vagrant automates vm provisioning for complex environments, including kubernetes clusters with multiple vms.', 'duration': 28.984, 'max_score': 6756.673, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY6756673.jpg'}, {'end': 6840.979, 'src': 'embed', 'start': 6810.653, 'weight': 6, 'content': [{'end': 6818.643, 'text': 'And this will help you easily create and deploy virtual machine or local lab environments,', 'start': 6810.653, 'duration': 7.99}, {'end': 6824.049, 'text': 'as well as save all the work that you did and your configurations in a vagrant file.', 'start': 6818.643, 'duration': 5.406}, {'end': 6832.054, 'text': "That way, in the future, you can just if you'd like to deploy the same kind of lab environment, all you need to do is run a background up command.", 'start': 6824.109, 'duration': 7.945}, {'end': 6840.979, 'text': 'And then you can share that vagrant file, your custom file with others in the community, and help others benefit from that as well.', 'start': 6832.434, 'duration': 8.545}], 'summary': 'Vagrant simplifies virtual machine deployment and sharing, enabling easy creation and deployment of lab environments and configurations, and sharing custom files with the community.', 'duration': 30.326, 'max_score': 6810.653, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY6810653.jpg'}, {'end': 6981.541, 'src': 'heatmap', 'start': 6878.53, 'weight': 0.849, 'content': [{'end': 6885.514, 'text': 'Let us now open up a terminal and create a directory for vagrant where we will store all our vagrant configurations.', 'start': 6878.53, 'duration': 6.984}, {'end': 6891.778, 'text': 'We then CD into that directory and we are now ready to deploy a VM using vagrant.', 'start': 6886.134, 'duration': 5.644}, {'end': 6899.883, 'text': 'Remember, you must have the virtual machine provider which in this case is virtual box already installed on the system.', 'start': 6892.738, 'duration': 7.145}, {'end': 6901.964, 'text': 'So I already have that.', 'start': 6900.783, 'duration': 1.181}, {'end': 6906.385, 'text': 'It could also be VMware workstation or fusion as well.', 'start': 6902.704, 'duration': 3.681}, {'end': 6914.509, 'text': 'So whatever it is that you plan to use, remember, it must exist on the system before you actually try to bring up a VM using vagrant.', 'start': 6906.425, 'duration': 8.084}, {'end': 6920.111, 'text': "Now, if it's anything other than virtual box, then when you run the background up command,", 'start': 6915.549, 'duration': 4.562}, {'end': 6923.833, 'text': 'you must also specify that provider using the provider option.', 'start': 6920.111, 'duration': 3.722}, {'end': 6928.221, 'text': 'Now, we need to find vagrant boxes to deploy.', 'start': 6925.239, 'duration': 2.982}, {'end': 6933.745, 'text': 'Searching for vagrant boxes in Google will land you on the vagrant cloud page.', 'start': 6929.202, 'duration': 4.543}, {'end': 6938.528, 'text': 'And here you can search for various boxes for different operating systems and solutions.', 'start': 6934.325, 'duration': 4.203}, {'end': 6941.971, 'text': "I'll go with CentOS seven, select that.", 'start': 6939.049, 'duration': 2.922}, {'end': 6946.394, 'text': 'In that CentOS seven page, we see a template for the vagrant file.', 'start': 6942.591, 'duration': 3.803}, {'end': 6950.618, 'text': 'We could copy this and create a vagrant file by ourself manually.', 'start': 6946.994, 'duration': 3.624}, {'end': 6957.284, 'text': 'Or if we want vagrant to create that file for us, go to the new tab and copy the command.', 'start': 6951.098, 'duration': 6.186}, {'end': 6963.15, 'text': 'The command is a vagrant in it and followed by the name central seven.', 'start': 6957.744, 'duration': 5.406}, {'end': 6969.694, 'text': 'All this command does is create a vagrant file with the image set to center seven.', 'start': 6963.97, 'duration': 5.724}, {'end': 6977.179, 'text': 'If you see the contents of the vagrant file, we see that it is really just a template with all the options commented out.', 'start': 6970.594, 'duration': 6.585}, {'end': 6981.541, 'text': 'Any line that begins with a hash is commented out.', 'start': 6977.959, 'duration': 3.582}], 'summary': "Using vagrant to deploy a vm, must have provider installed, find and deploy boxes from vagrant cloud, create vagrant file manually or using 'vagrant init' command.", 'duration': 103.011, 'max_score': 6878.53, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY6878530.jpg'}], 'start': 5918.604, 'title': 'Configuring vms and vagrant', 'summary': 'Covers configuring vms for communication and internet access with an ip address range of 192.168, exploring vm networking options including nat, host network, and bridge, and delves into vagrant for automating vm management tasks, reducing manual effort.', 'chapters': [{'end': 6062.192, 'start': 5918.604, 'title': 'Configuring vms for connectivity', 'summary': 'Explains how to configure two vms to communicate with each other and access the internet by setting up a host-only network and adjusting network settings, resulting in efficient use of resources and seamless connectivity with the ip address range 192.168.', 'duration': 143.588, 'highlights': ['To enable the VMs to reach each other and access the internet, set the second adapter to connect to a host-only network with the IP address range 192.168, resulting in efficient communication and internet access for the VMs.', "Creating a host network with the name 'V box net one' and an IP address range of 192.168 enables the VMs to connect to this network and communicate with each other, ensuring seamless connectivity.", 'Linked clone option consumes less space on the laptop compared to copying VMs, making it an efficient choice for VM management and storage optimization.']}, {'end': 6407.005, 'start': 6065.936, 'title': 'Vm networking and snapshots', 'summary': 'Explores setting up vm networking configurations, including using nat, host network, and bridge options, and demonstrates the snapshot feature for creating and restoring vm states.', 'duration': 341.069, 'highlights': ['You can set up VM networking configurations for internet connectivity and communication among VMs by choosing NAT, host network, or a combination of both options.', 'The snapshot feature enables creating backups of VM states at specific points in time and restoring them later, effectively recovering from system failures or data corruption.', 'The snapshot restoration process involves shutting down the VM, selecting the desired snapshot, restoring the state, and then starting the VM to recover the system to the backed-up state.']}, {'end': 6706.346, 'start': 6408.066, 'title': 'Vm management with vagrant', 'summary': 'Explains the use of vagrant for automating vm management tasks, such as creating, configuring, and managing vms, including taking and restoring snapshots, with the ability to automate complex systems and manage multiple vms, reducing the manual effort required.', 'duration': 298.28, 'highlights': ["Vagrant automates tasks such as creating, configuring, and managing VMs with a single command 'vagrant up', reducing manual effort and time spent on setting up VMs.", 'Vagrant is useful for automating complex systems involving multiple VMs and streamlining the deployment and management of the entire setup.', 'Vagrant simplifies the process of taking and restoring snapshots, allowing users to revert to a previous working state and clone new VMs from snapshots.']}, {'end': 7310.959, 'start': 6706.886, 'title': 'Introduction to vagrant', 'summary': 'Introduces vagrant, a tool used to automate the deployment of virtual machines, allowing for easy sharing of configurations and files, and demonstration of how to deploy a vm using vagrant, including specifying providers, finding and deploying vagrant boxes, and modifying vm settings in the vagrant file.', 'duration': 604.073, 'highlights': ['Vagrant provisions a VM following the specifications given in this Vagrant file and also runs the shell script given here.', 'You may also include multiple VMs in this, helping automate the deployment of complex environments such as small clusters of popular systems.', 'Vagrant can be used in various environments, such as VirtualBox, VMware, and Microsoft Hyper-V.', 'Vagrant simplifies the process of creating and deploying virtual machine or local lab environments and enables easy sharing of configurations and files.', "The Vagrant file can be modified to change VM settings such as memory and CPU configuration, and the changes can be applied using the 'vagrant reload' command."]}], 'duration': 1392.355, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY5918604.jpg', 'highlights': ["Vagrant automates tasks with 'vagrant up', reducing manual effort and time spent on setting up VMs.", 'Linked clone option consumes less space on the laptop, making it an efficient choice for VM management and storage optimization.', "Creating a host network with the name 'V box net one' and an IP address range of 192.168 enables seamless connectivity for VMs.", 'You can set up VM networking configurations for internet connectivity and communication among VMs by choosing NAT, host network, or a combination of both options.', 'The snapshot feature enables creating backups of VM states and restoring them later, effectively recovering from system failures or data corruption.', 'Vagrant provisions a VM following the specifications given in the Vagrant file and runs the shell script given.', 'Vagrant simplifies the process of creating and deploying virtual machine or local lab environments and enables easy sharing of configurations and files.']}, {'end': 8161.057, 'segs': [{'end': 7355.904, 'src': 'embed', 'start': 7310.959, 'weight': 0, 'content': [{'end': 7313.32, 'text': 'because there are so many things that you can do with Vagrant.', 'start': 7310.959, 'duration': 2.361}, {'end': 7318.261, 'text': 'You can configure multiple VMs, you can configure scripts as we saw in the lecture.', 'start': 7313.82, 'duration': 4.441}, {'end': 7328.203, 'text': "So it's a very neat tool to really set up a custom lab environment and then save that configuration so that you can share it with others.", 'start': 7318.821, 'duration': 9.382}, {'end': 7332.406, 'text': 'In this video we get introduced to DNS in Linux.', 'start': 7328.763, 'duration': 3.643}, {'end': 7341.493, 'text': 'for the absolute beginners, we will discuss the basic concepts and view some commands that will help us explore DNS configuration on hosts,', 'start': 7332.406, 'duration': 9.087}, {'end': 7342.914, 'text': 'specifically Linux hosts.', 'start': 7341.493, 'duration': 1.421}, {'end': 7344.895, 'text': 'At the end of this section,', 'start': 7343.755, 'duration': 1.14}, {'end': 7352.381, 'text': "you will go through a practice test where you're given a set of challenges related to DNS and are asked to solve them on a live,", 'start': 7344.895, 'duration': 7.486}, {'end': 7355.904, 'text': 'practical hands on lab environment right in your browser.', 'start': 7352.381, 'duration': 3.523}], 'summary': 'Vagrant offers multiple vm configuration options, and the dns in linux is explained for beginners, followed by a hands-on practice test.', 'duration': 44.945, 'max_score': 7310.959, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY7310959.jpg'}, {'end': 7539.618, 'src': 'embed', 'start': 7514.057, 'weight': 2, 'content': [{'end': 7518.921, 'text': 'Translating hostname to IP address this way is known as name resolution.', 'start': 7514.057, 'duration': 4.864}, {'end': 7526.564, 'text': 'Within a small network of few systems, you can easily get away with the entries in the HC host file.', 'start': 7520.202, 'duration': 6.362}, {'end': 7531.466, 'text': 'On each system, I specify which are the other systems in the environment.', 'start': 7527.225, 'duration': 4.241}, {'end': 7533.867, 'text': "And that's how it was done in the past.", 'start': 7531.906, 'duration': 1.961}, {'end': 7539.618, 'text': 'until the environment grew and these files got filled with too many entries.', 'start': 7535.854, 'duration': 3.764}], 'summary': 'Name resolution in small networks using host files becomes impractical as the network grows.', 'duration': 25.561, 'max_score': 7514.057, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY7514057.jpg'}, {'end': 7587.869, 'src': 'embed', 'start': 7558.197, 'weight': 3, 'content': [{'end': 7567.162, 'text': 'And then we point all hosts to look up that server if they need to resolve the hostname to an IP address instead of its own Etsy host files.', 'start': 7558.197, 'duration': 8.965}, {'end': 7577.138, 'text': 'So how do we do that? How do we point our host to a DNS server? Our DNS server has the IP 192 168 1.100.', 'start': 7568.109, 'duration': 9.029}, {'end': 7583.325, 'text': 'Every host has a DNS resolution configuration file at HC resolve.conf.', 'start': 7577.138, 'duration': 6.187}, {'end': 7587.869, 'text': 'You add an entry into it specifying the address of the DNS server.', 'start': 7583.925, 'duration': 3.944}], 'summary': 'Configure hosts to use dns server at 192.168.1.100 by adding entry in resolve.conf.', 'duration': 29.672, 'max_score': 7558.197, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY7558197.jpg'}, {'end': 7974.952, 'src': 'embed', 'start': 7948.702, 'weight': 4, 'content': [{'end': 7957.587, 'text': "The www for external facing website, mail.mycompany.com for accessing your organization's mail drive, for accessing storage paid,", 'start': 7948.702, 'duration': 8.885}, {'end': 7959.948, 'text': 'or company.com for accessing the payroll application.', 'start': 7957.587, 'duration': 2.361}, {'end': 7962.872, 'text': 'HR for accessing HR application, etc.', 'start': 7960.448, 'duration': 2.424}, {'end': 7968.139, 'text': "All of these are configured in your organization's internal DNS server.", 'start': 7963.372, 'duration': 4.767}, {'end': 7974.952, 'text': 'The reason we discussed all of this is to understand another entry in the etsy resolve.com file.', 'start': 7969.588, 'duration': 5.364}], 'summary': 'Dns setup includes website, mail, storage, payroll, hr applications.', 'duration': 26.25, 'max_score': 7948.702, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY7948702.jpg'}, {'end': 8108.76, 'src': 'embed', 'start': 8084.143, 'weight': 1, 'content': [{'end': 8089.829, 'text': 'So how are the records stored in the DNS server, we know that it stores IP to hostnames.', 'start': 8084.143, 'duration': 5.686}, {'end': 8096.016, 'text': "That's known as a records storing IP v six to hostnames is known as quad a records.", 'start': 8090.249, 'duration': 5.767}, {'end': 8100.097, 'text': 'mapping one name to another name is called C name records.', 'start': 8096.676, 'duration': 3.421}, {'end': 8108.76, 'text': 'For example, you may have multiple aliases for the same application, like a food delivery service may also be reached at eat or hungry.', 'start': 8100.717, 'duration': 8.043}], 'summary': 'Dns server stores a records for ipv4, quad a records for ipv6, and cname records for aliases.', 'duration': 24.617, 'max_score': 8084.143, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY8084143.jpg'}], 'start': 7310.959, 'title': 'Dns in linux', 'summary': 'Introduces dns in linux for beginners, covering basic concepts, commands, and practical hands-on labs. it also explains dns configuration, name resolution, use of hosts file, dns server, domain names, and dns record types.', 'chapters': [{'end': 7355.904, 'start': 7310.959, 'title': 'Introduction to dns in linux', 'summary': 'Introduces the concept of dns in linux for absolute beginners, covering basic concepts, commands, and practical hands-on lab environment where users can solve challenges related to dns.', 'duration': 44.945, 'highlights': ['Introduction to DNS in Linux for absolute beginners, covering basic concepts and commands.', 'Explanation of how Vagrant can be used to configure multiple VMs and scripts for setting up a custom lab environment.', 'Practice test included at the end of the section, offering a set of challenges related to DNS in a live, practical hands-on lab environment.']}, {'end': 8161.057, 'start': 7357.301, 'title': 'Dns configuration and name resolution', 'summary': 'Explains the process of dns configuration and name resolution, including the use of hosts file, dns server, domain names, and dns record types, with an emphasis on the importance of dns server and the configuration files on hosts for efficient name resolution.', 'duration': 803.756, 'highlights': ['In a small network, entries in the HC host file can be used for name resolution, but as the environment grows, managing these entries becomes difficult, leading to the implementation of a DNS server to centrally manage hostnames and IP addresses.', 'DNS server can be configured on all hosts by adding an entry into the resolve.conf file specifying the address of the DNS server, enabling all hosts to resolve hostnames through the DNS server.', 'The etsy resolve.com file allows the configuration of search domains to append to hostnames, enabling efficient resolution of hostnames within the organization.', 'The DNS server stores records such as A records for IP to hostnames, quad a records for IPv6 to hostnames, and C name records for mapping one name to another name, allowing for efficient DNS resolution.']}], 'duration': 850.098, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY7310959.jpg', 'highlights': ['Practice test included at the end of the section, offering a set of challenges related to DNS in a live, practical hands-on lab environment.', 'The DNS server stores records such as A records for IP to hostnames, quad a records for IPv6 to hostnames, and C name records for mapping one name to another name, allowing for efficient DNS resolution.', 'In a small network, entries in the HC host file can be used for name resolution, but as the environment grows, managing these entries becomes difficult, leading to the implementation of a DNS server to centrally manage hostnames and IP addresses.', 'DNS server can be configured on all hosts by adding an entry into the resolve.conf file specifying the address of the DNS server, enabling all hosts to resolve hostnames through the DNS server.', 'The etsy resolve.com file allows the configuration of search domains to append to hostnames, enabling efficient resolution of hostnames within the organization.', 'Explanation of how Vagrant can be used to configure multiple VMs and scripts for setting up a custom lab environment.', 'Introduction to DNS in Linux for absolute beginners, covering basic concepts and commands.']}, {'end': 9967.422, 'segs': [{'end': 8209.151, 'src': 'embed', 'start': 8161.477, 'weight': 2, 'content': [{'end': 8165.678, 'text': 'It returns more details in a similar form as is stored on the server.', 'start': 8161.477, 'duration': 4.201}, {'end': 8170.14, 'text': 'In the upcoming practice exercises section, you will practice viewing,', 'start': 8166.259, 'duration': 3.881}, {'end': 8177.101, 'text': 'configuring and troubleshooting DNS in a lab environment on actual systems through some fun and challenging exercises.', 'start': 8170.14, 'duration': 6.961}, {'end': 8183.363, 'text': 'In this series of lectures, we get our networking basics right.', 'start': 8178.442, 'duration': 4.921}, {'end': 8189.659, 'text': 'We look at basic networking concepts like switching, routing, gateways, etc.', 'start': 8184.394, 'duration': 5.265}, {'end': 8197.967, 'text': 'We then understand DNS, we look at how to configure DNS settings on a Linux system.', 'start': 8190.36, 'duration': 7.607}, {'end': 8199.648, 'text': "So let's get started.", 'start': 8198.888, 'duration': 0.76}, {'end': 8209.151, 'text': 'So what is a network? We have two computers, A and B, laptops, desktops, VMs on the cloud, wherever.', 'start': 8201.603, 'duration': 7.548}], 'summary': 'In this series, learn networking basics, dns configuration on linux, through practice exercises.', 'duration': 47.674, 'max_score': 8161.477, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY8161477.jpg'}, {'end': 8332.629, 'src': 'embed', 'start': 8297.72, 'weight': 1, 'content': [{'end': 8307.952, 'text': "1.11 reach system C with the IP 2.10 on the other network? That's where a router comes in.", 'start': 8297.72, 'duration': 10.232}, {'end': 8312.695, 'text': 'A router helps connect two networks together.', 'start': 8308.833, 'duration': 3.862}, {'end': 8314.916, 'text': 'It is an intelligent device.', 'start': 8313.436, 'duration': 1.48}, {'end': 8318.978, 'text': 'So think of it as another server with many network ports.', 'start': 8315.557, 'duration': 3.421}, {'end': 8324.922, 'text': 'Since it connects to the two separate networks, it gets two IPs assigned.', 'start': 8319.859, 'duration': 5.063}, {'end': 8327.285, 'text': 'one on each network.', 'start': 8326.103, 'duration': 1.182}, {'end': 8332.629, 'text': 'In the first network, we assign it an IP address 182.168.', 'start': 8327.966, 'duration': 4.663}], 'summary': 'A router connects two networks, each with its own ip address, such as 192.168.', 'duration': 34.909, 'max_score': 8297.72, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY8297719.jpg'}, {'end': 9060.786, 'src': 'embed', 'start': 9030.861, 'weight': 7, 'content': [{'end': 9035.202, 'text': 'But on what IP address and we have two IP addresses configured on our host.', 'start': 9030.861, 'duration': 4.341}, {'end': 9036.403, 'text': 'the port.', 'start': 9036.002, 'duration': 0.401}, {'end': 9041.873, 'text': 'on which of these interfaces or IP addresses is the application going to listen on?', 'start': 9036.403, 'duration': 5.47}, {'end': 9047.985, 'text': 'you can also specify the IP address on which the server should listen on using the host option like this.', 'start': 9041.873, 'duration': 6.112}, {'end': 9051.49, 'text': 'The application now listens on IP 10.0.', 'start': 9049.099, 'duration': 2.391}, {'end': 9053.922, 'text': '2.15 on port 8000.', 'start': 9051.49, 'duration': 2.432}, {'end': 9060.786, 'text': 'So anyone trying to access my application on this IP address and port will be able to view my server.', 'start': 9053.922, 'duration': 6.864}], 'summary': 'The application listens on ip 10.0.2.15 on port 8000.', 'duration': 29.925, 'max_score': 9030.861, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY9030861.jpg'}, {'end': 9313.722, 'src': 'embed', 'start': 9284.747, 'weight': 9, 'content': [{'end': 9288.088, 'text': 'In this lecture, we take a look at what YAML files are.', 'start': 9284.747, 'duration': 3.341}, {'end': 9294.03, 'text': 'If you are familiar with YAML already, feel free to skip this section and head over to the next section.', 'start': 9288.889, 'duration': 5.141}, {'end': 9302.672, 'text': 'If you have not worked with YAML in the past, I would highly recommend going through this because the rest of the course depends entirely on YAML.', 'start': 9294.71, 'duration': 7.962}, {'end': 9310.757, 'text': 'If you have worked with other data structure formats like XML or JSON, you should be able to easily pick it up.', 'start': 9304.147, 'duration': 6.61}, {'end': 9313.722, 'text': "Don't worry if you haven't worked on any of these,", 'start': 9311.499, 'duration': 2.223}], 'summary': 'Introduction to yaml, crucial for the rest of the course.', 'duration': 28.975, 'max_score': 9284.747, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY9284747.jpg'}, {'end': 9731.73, 'src': 'embed', 'start': 9671.297, 'weight': 0, 'content': [{'end': 9681.34, 'text': "This way we're able to represent all information about multiple cars in a single YAML file using a list of dictionaries.", 'start': 9671.297, 'duration': 10.043}, {'end': 9694.504, 'text': "So that's the difference between dictionary list and list of dictionaries.", 'start': 9688.762, 'duration': 5.742}, {'end': 9699.706, 'text': 'I hope you understood the difference between the three and when to use each of these.', 'start': 9695.184, 'duration': 4.522}, {'end': 9706.594, 'text': "Before we head over to exercises, let's take a look at some key notes.", 'start': 9702.691, 'duration': 3.903}, {'end': 9712.277, 'text': 'Dictionary is an unordered collection, whereas lists are ordered collection.', 'start': 9707.574, 'duration': 4.703}, {'end': 9718.722, 'text': 'So what does that mean? The two dictionaries that you see here have the same properties for banana.', 'start': 9712.918, 'duration': 5.804}, {'end': 9724.426, 'text': 'However, you can see that the order of properties fat and carbs do not match.', 'start': 9719.382, 'duration': 5.044}, {'end': 9731.73, 'text': 'In the first dictionary, fat is defined before carbs, and in the second dictionary, carbs comes first, followed by fat.', 'start': 9725.026, 'duration': 6.704}], 'summary': 'Yaml file represents car info using list of dictionaries, highlighting differences between dictionary list and list of dictionaries.', 'duration': 60.433, 'max_score': 9671.297, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY9671297.jpg'}, {'end': 9839.356, 'src': 'embed', 'start': 9810.184, 'weight': 4, 'content': [{'end': 9813.585, 'text': 'The other course available in this section is the Linux basics course.', 'start': 9810.184, 'duration': 3.401}, {'end': 9817.447, 'text': 'Linux plays a key role in the DevOps and cloud world.', 'start': 9814.445, 'duration': 3.002}, {'end': 9822.448, 'text': "So it's always helpful to get real good hands on experience working with Linux systems.", 'start': 9817.647, 'duration': 4.801}, {'end': 9825.409, 'text': 'Our Linux basics course is a good start.', 'start': 9823.169, 'duration': 2.24}, {'end': 9832.372, 'text': "And it's an engaging and fun course developed in a story format and with lots of hands on labs as you did in this course.", 'start': 9825.609, 'duration': 6.763}, {'end': 9839.356, 'text': 'To start your journey with containers and the cloud native world, get started with the Docker for the absolute beginners course.', 'start': 9833.092, 'duration': 6.264}], 'summary': 'Linux basics course is essential for devops and cloud, offering hands-on experience and engaging labs.', 'duration': 29.172, 'max_score': 9810.184, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY9810184.jpg'}, {'end': 9967.422, 'src': 'heatmap', 'start': 9851.603, 'weight': 5, 'content': [{'end': 9856.166, 'text': 'knowledge about container native technology like Docker is a prerequisite for learning Kubernetes.', 'start': 9851.603, 'duration': 4.563}, {'end': 9863.317, 'text': "Kubernetes is one of the most trending technology in IT industry as of today, and it's a very in demand skill.", 'start': 9857.026, 'duration': 6.291}, {'end': 9869.929, 'text': 'Once you complete the beginners course, you can target the Kubernetes certifications like CK a and CK ad.', 'start': 9864.139, 'duration': 5.79}, {'end': 9876.367, 'text': 'Our courses have labs and multiple mock exams that will help you clear certification easily.', 'start': 9871.641, 'duration': 4.726}, {'end': 9879.551, 'text': 'Kubernetes is a prerequisite for Red Hat OpenShift.', 'start': 9876.888, 'duration': 2.663}, {'end': 9886.56, 'text': 'After completing the CKAD course, where you will learn how to configure and deploy applications on Kubernetes,', 'start': 9880.112, 'duration': 6.448}, {'end': 9889.444, 'text': 'you can then proceed to the Red Hat OpenShift course.', 'start': 9886.56, 'duration': 2.884}, {'end': 9896.264, 'text': 'In the automation category, start with the most popular automation tool, Ansible.', 'start': 9891.28, 'duration': 4.984}, {'end': 9903.169, 'text': 'Ansible for the absolute beginners course is targeted for those who have zero experience in automation or scripting.', 'start': 9897.165, 'duration': 6.004}, {'end': 9911.616, 'text': 'With this course, you will be able to implement automation solutions without any experience in coding, no coding or programming experience required.', 'start': 9903.79, 'duration': 7.826}, {'end': 9916.76, 'text': 'In fact, none of these courses require any kind of coding or programming experience.', 'start': 9912.276, 'duration': 4.484}, {'end': 9922.944, 'text': 'Whatever you have learned in this DevOps prerequisites course is sufficient to go through any of these courses.', 'start': 9917, 'duration': 5.944}, {'end': 9927.628, 'text': 'You may choose to learn other systems like puppet and chef as well.', 'start': 9923.845, 'duration': 3.783}, {'end': 9934.093, 'text': 'The Ansible for the absolute beginners course will also help you prepare for the Ansible certification exam.', 'start': 9928.809, 'duration': 5.284}, {'end': 9939.497, 'text': 'And we plan to have a lot more courses added to this path in the future.', 'start': 9935.134, 'duration': 4.363}, {'end': 9941.919, 'text': 'So check out this page whenever you get time.', 'start': 9939.937, 'duration': 1.982}, {'end': 9949.079, 'text': 'We also have the CodeCloud engineer program that will help you get more hands on experience.', 'start': 9943.032, 'duration': 6.047}, {'end': 9956.949, 'text': 'This is a simulated job environment that you can enroll for free and start while getting tasks assigned to you.', 'start': 9949.72, 'duration': 7.229}, {'end': 9960.894, 'text': 'For more details, check out engineer.codecloud.com.', 'start': 9957.57, 'duration': 3.324}, {'end': 9962.896, 'text': "Well, that's it for now.", 'start': 9961.855, 'duration': 1.041}, {'end': 9967.422, 'text': 'Thank you so much for joining me in this course, and I hope to see you in our next courses.', 'start': 9963.217, 'duration': 4.205}], 'summary': 'Kubernetes and ansible courses prepare you for certifications and hands-on experience in devops, with no coding experience required.', 'duration': 115.819, 'max_score': 9851.603, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY9851603.jpg'}, {'end': 9922.944, 'src': 'embed', 'start': 9897.165, 'weight': 6, 'content': [{'end': 9903.169, 'text': 'Ansible for the absolute beginners course is targeted for those who have zero experience in automation or scripting.', 'start': 9897.165, 'duration': 6.004}, {'end': 9911.616, 'text': 'With this course, you will be able to implement automation solutions without any experience in coding, no coding or programming experience required.', 'start': 9903.79, 'duration': 7.826}, {'end': 9916.76, 'text': 'In fact, none of these courses require any kind of coding or programming experience.', 'start': 9912.276, 'duration': 4.484}, {'end': 9922.944, 'text': 'Whatever you have learned in this DevOps prerequisites course is sufficient to go through any of these courses.', 'start': 9917, 'duration': 5.944}], 'summary': 'Ansible for absolute beginners: no coding experience required, suitable for devops prerequisites.', 'duration': 25.779, 'max_score': 9897.165, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY9897165.jpg'}], 'start': 8161.477, 'title': 'Networking basics, ip, yaml, and devops prerequisites', 'summary': 'Covers networking concepts, ip addresses, yaml data format and representation, and devops prerequisites, emphasizing linux basics, docker, kubernetes, and ansible, providing a comprehensive foundation for learners.', 'chapters': [{'end': 8739.637, 'start': 8161.477, 'title': 'Networking basics and routing configuration', 'summary': 'Discusses basic networking concepts, such as switching, routing, and gateways, and explains the configuration and troubleshooting of dns, with a focus on setting up a linux host as a router.', 'duration': 578.16, 'highlights': ['The chapter discusses basic networking concepts like switching, routing, gateways, etc.', 'The router helps connect two networks together and gets two IPs assigned, one on each network.', 'Explains how to add a route in the routing table to enable communication between different networks.', 'Describes the configuration and troubleshooting of DNS on a Linux system.', 'Details the setup of a Linux host as a router to enable communication between separate networks.']}, {'end': 9284.427, 'start': 8739.637, 'title': 'Understanding ip addresses and ports', 'summary': 'Covers the basics of ip addresses, ports, and ip forwarding, including how to set ip addresses on interfaces, view the routing table, and enable ip forwarding, emphasizing the importance of understanding the differences between localhost and server ip addresses and the significance of port numbers in web applications.', 'duration': 544.79, 'highlights': ['Hosts get an IP address assigned to each interface, and IP forwarding can be enabled to allow packets to be forwarded between networks.', 'The IP address 127.0.0.1 is the loopback address, allowing a host to refer to itself, and it can only be reached from within the host.', 'Understanding the significance of port numbers in web applications and how to specify the IP address and port for a server to listen on.']}, {'end': 9505.821, 'start': 9284.747, 'title': 'Understanding yaml data format', 'summary': 'Provides an introduction to yaml files, explaining its importance and usage, comparing it with xml and json, and highlighting the key syntax rules and best practices for representing data, which is crucial for understanding the rest of the course.', 'duration': 221.074, 'highlights': ['YAML is essential for the course', 'Comparison of XML, JSON, and YAML formats', 'Syntax rules for defining key-value pairs and arrays in YAML', 'Importance of correct spacing in YAML']}, {'end': 9758.026, 'start': 9506.562, 'title': 'Understanding yaml data representation', 'summary': 'Explains the differences between dictionaries and lists in yaml, highlighting their usage for representing data, such as properties of a single object using dictionaries and storing multiple items of the same type of object using lists of dictionaries. it also emphasizes the distinction between ordered and unordered collections in dictionaries and lists, providing examples to illustrate the difference.', 'duration': 251.464, 'highlights': ['Dictionaries are used to store properties of a single object in key-value format, while lists are used to store multiple items of the same type of object.', 'The distinction between ordered and unordered collections is crucial, as dictionaries are unordered collections, while lists are ordered collections.', 'Order of properties in dictionaries does not matter as long as the values of each property match, while the order of items in lists matters.', 'The chapter provides examples of using dictionaries within dictionaries and lists of dictionaries to represent complex data, such as information about multiple cars in a single YAML file.']}, {'end': 9967.422, 'start': 9758.826, 'title': 'Devops prerequisites & beyond', 'summary': 'Provides a comprehensive overview of devops prerequisites, including linux basics, container technology like docker and kubernetes, and automation with ansible, preparing learners for the cloud native world and future certifications.', 'duration': 208.596, 'highlights': ['Completion of DevOps prerequisites course in the get your basics right section.', 'Importance of acquiring real hands-on experience in Linux systems.', 'Recommendation to start with Docker for the absolute beginners course before proceeding to Kubernetes.', 'Prerequisites for learning Kubernetes and its relevance in the IT industry.', 'Commencement of Ansible for the absolute beginners course as a starting point for automation.']}], 'duration': 1805.945, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/Wvf0mBNGjXY/pics/Wvf0mBNGjXY8161477.jpg', 'highlights': ['The chapter provides examples of using dictionaries within dictionaries and lists of dictionaries to represent complex data, such as information about multiple cars in a single YAML file.', 'The router helps connect two networks together and gets two IPs assigned, one on each network.', 'The chapter discusses basic networking concepts like switching, routing, gateways, etc.', 'The distinction between ordered and unordered collections is crucial, as dictionaries are unordered collections, while lists are ordered collections.', 'Importance of acquiring real hands-on experience in Linux systems.', 'Prerequisites for learning Kubernetes and its relevance in the IT industry.', 'Commencement of Ansible for the absolute beginners course as a starting point for automation.', 'Understanding the significance of port numbers in web applications and how to specify the IP address and port for a server to listen on.', 'Describes the configuration and troubleshooting of DNS on a Linux system.', 'YAML is essential for the course']}], 'highlights': ['The course aims to bridge the gap for beginners in DevOps and cloud by addressing challenges such as setting up lab environments, networking, Linux CLI, web server communication, and data formats.', 'The lab session has a total of ten questions and lasts for an hour, allowing the option to skip through questions.', 'Systemd services in Linux help configure software to run in the background and ensure they run all the time automatically when servers are rebooted.', 'Using virtual machines for development allows easy setup, backup, and restoration', 'A better approach is to attach a pre-configured disk with an OS already installed, eliminating the need for manual OS installation upon VM creation.', 'The chapter explains the differences between NAT, NAT network, and bridge network, highlighting how VMs are isolated in NAT but can communicate with external systems through the host, while in bridge network, VMs are assigned IPs in the same range as the external LAN network, enabling them to be part of the same network.', "Vagrant automates tasks with 'vagrant up', reducing manual effort and time spent on setting up VMs.", 'The DNS server stores records such as A records for IP to hostnames, quad a records for IPv6 to hostnames, and C name records for mapping one name to another name, allowing for efficient DNS resolution.', 'The chapter provides examples of using dictionaries within dictionaries and lists of dictionaries to represent complex data, such as information about multiple cars in a single YAML file.', 'YAML is essential for the course']}