title
What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Management Tutorial | Edureka

description
** Edureka DevOps Training : https://www.edureka.co/devops-certification-training ** This Edureka DevOps Puppet Tutorial on what is Puppet ( Puppet Tutorial Blog Series: https://goo.gl/ezpJag ) will help you understand what is Configuration management and and how it is done using Puppet. This Puppet tutorial for beginners also explains how Puppet achieves Configuration Management in detail and includes a Hands-On session around Puppet. You will learn how to write Puppet Manifests, Modules and how to establish a secure connection between Puppet Master and Puppet Agent. The Hands-On session also explains how to deploy MySQL and PHP using Puppet. The Hands-On session is performed on two CentOS-32bit machines in one machine Puppet Master is installed and in other machine Puppet Agent is installed. For doubts & queries on DevOps, post the same on Edureka Community: https://www.edureka.co/community/devops-and-agile Check our complete DevOps playlist here: http://goo.gl/O2vo13 Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka #Edureka #EdurekaDevOps #PuppetTutorial #DevOpsTools #DevOpsTraining #DevOpsTutorial #DevOpsPuppet #Puppet #PuppetTraining #PuppetManifests #PuppetModule #PuppetMasterSlave How it Works? 1. This is a 4 Week Instructor led Online Course. 2. Course consists of 24 hours of online classes, 25 hours of assignment, 20 hours of project 3. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course. 4. You will get Lifetime Access to the recordings in the LMS. 5. At the end of the training you will have to complete the project based on which we will provide you a Verifiable Certificate! - - - - - - - - - - - - - - About the Course Edureka’s DevOps online training is designed to help you master key tools of Devops lifecycle like Docker, Puppet, Jenkins, Nagios, GIT, Ansible, SaltStack and Chef used by a DevOps Engineer for automating multiple steps in SDLC. During this course, our expert DevOps instructors will help you: 1. Understand the concepts and necessities of DevOps 2. Understand the need for DevOps and the day-to-day real-life problems it resolves 3. Learn installation and configuration of common infrastructure servers like Apache, and Nginx for the Enterprise 4. Learn popular DevOps tools like Jenkins, Puppet, Chef, Ansible, SaltStack, Nagios and GIT 5. Implement automated system update, installations and deployments 6. Learn Virtualization Concepts 7. Configuration deployment and packaging, continuous integration using GIT 8. Fine tune Performance and set-up basic Security for Infrastructure 9. Manage server operations using Code which is popularly known as Infrastructure as a Code 10. Understand the need for and concepts of Monitoring and Logging. Along with the above mentioned topics, to help you master the most popular DevOps tools, you will also receive 3 additional self-paced courses including presentations, class recordings, assignments, solutions for the following tools: 1: Ansible - Covers Introduction, Setup & Configuration, Ansible Playbooks, 37 Ansible Modules, Different Roles and Command Line usage. 2: Chef - Covers Introduction, Building the Cook Book, Node Object & Search, Data-bags, Chef environment, Roles, Deploying Nodes in Production and using the Open Source Chef Server. 3: Puppet - Covers Puppet Infrastructure & run-cycle, the Puppet Language, Environment defining Nodes and Modules, Provisioning a Web Server and Executing Modules Against A Puppet Master. - - - - - - - - - - - - - - Who should go for this course? DevOps practitioners are among the highest paid IT professionals today, and the market demand for them is growing rapidly. With emergence of new job roles around DevOps philosophy, anyone aspiring to get into these new roles, can take up this DevOps course. Some of these roles are: 1. DevOps Architect 2. Automation Engineer 3. Software Tester 4. Security Engineer 5. Integration Specialist 6. Release Manager - - - - - - - - - - - - - - Project Work 1. Host a dummy webpage using Apache Web Server. 2. Write shell script which reports: a) Various system configurations related to the user and the OS. b) Data related to load on the server. c) Top 5 processes with maximum number of threads. d) Sort the services by memory 3. Install Nagios on a VM node for monitoring the various parameter of the VM. For more information, please write back to us at sales@edureka.in or call us at IND: 9606058406 / US: 18338555775 (toll-free).

detail
{'title': 'What is Puppet | Puppet Tutorial for Beginners | Puppet Configuration Management Tutorial | Edureka', 'heatmap': [{'end': 737.765, 'start': 675.914, 'weight': 0.715}, {'end': 1019.283, 'start': 955.1, 'weight': 1}, {'end': 1357.044, 'start': 1299.065, 'weight': 0.766}, {'end': 1816.526, 'start': 1772.754, 'weight': 0.725}, {'end': 1921.737, 'start': 1862.624, 'weight': 0.775}, {'end': 2540.716, 'start': 2506.383, 'weight': 0.754}], 'summary': "Tutorial on puppet covers the challenges of manual configuration management, the importance and benefits of configuration management with examples, puppet's master-slave architecture, basics of puppet and deployment of mysql with php, apache deployment using puppet, and deployment of php and mysql using puppet modules with a comparison of puppet and chef.", 'chapters': [{'end': 267.537, 'segs': [{'end': 43.655, 'src': 'embed', 'start': 17.643, 'weight': 0, 'content': [{'end': 23.188, 'text': "After that, we'll understand what exactly is configuration management and we'll look at various configuration management tools.", 'start': 17.643, 'duration': 5.545}, {'end': 29.173, 'text': "After that, we'll focus on Puppet and we'll see the Puppet architecture along with the various Puppet components.", 'start': 23.808, 'duration': 5.365}, {'end': 34.991, 'text': "And finally in our hands-on part, we'll learn how to deploy MySQL and PHP using Puppet.", 'start': 29.949, 'duration': 5.042}, {'end': 37.852, 'text': 'So I hope we all are clear with the agenda.', 'start': 36.032, 'duration': 1.82}, {'end': 41.474, 'text': 'Kindly give me a quick confirmation so that I can move forward.', 'start': 38.753, 'duration': 2.721}, {'end': 43.655, 'text': 'All right, Devon says yes.', 'start': 42.394, 'duration': 1.261}], 'summary': 'Introduction to configuration management and puppet, deploying mysql and php using puppet.', 'duration': 26.012, 'max_score': 17.643, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ17643.jpg'}, {'end': 103.605, 'src': 'embed', 'start': 77.743, 'weight': 1, 'content': [{'end': 84.028, 'text': 'But what happens when your infrastructure becomes huge? You may need to deploy the same mean stack say on hundreds of nodes.', 'start': 77.743, 'duration': 6.285}, {'end': 85.889, 'text': 'Now, how will you approach that task?', 'start': 84.628, 'duration': 1.261}, {'end': 92.295, 'text': "You can't do it manually, because if you do it manually, it'll take a lot of time, plus there will be wastage of resources.", 'start': 85.929, 'duration': 6.366}, {'end': 95.097, 'text': 'along with that, there is a chance of human error.', 'start': 92.295, 'duration': 2.802}, {'end': 97.019, 'text': 'I mean it increases the risk of human error.', 'start': 95.217, 'duration': 1.802}, {'end': 97.499, 'text': 'All right.', 'start': 97.299, 'duration': 0.2}, {'end': 103.605, 'text': "So we'll take the same example forward and we'll see what are the other problems before configuration management.", 'start': 98.16, 'duration': 5.445}], 'summary': 'Deploying mean stack on hundreds of nodes requires automated approach to avoid time wastage, resource wastage, and human errors.', 'duration': 25.862, 'max_score': 77.743, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ77743.jpg'}, {'end': 277.665, 'src': 'embed', 'start': 250.089, 'weight': 2, 'content': [{'end': 252.93, 'text': 'which is not compatible with the application that developers have built.', 'start': 250.089, 'duration': 2.841}, {'end': 254.751, 'text': "So it won't work properly.", 'start': 253.591, 'duration': 1.16}, {'end': 258.333, 'text': "There might be certain functions which won't work properly in the production environment.", 'start': 254.791, 'duration': 3.542}, {'end': 265.356, 'text': 'So there is an inconsistency in the computing environment, due to which the application might work in the development environment,', 'start': 259.033, 'duration': 6.323}, {'end': 267.537, 'text': 'but in product it is not working properly.', 'start': 265.356, 'duration': 2.181}, {'end': 273.864, 'text': 'So any questions still here guys, we have gone through the three problems that were there before configuration management.', 'start': 268.482, 'duration': 5.382}, {'end': 277.665, 'text': 'If you have any doubts, any queries, please write it down in your chat box.', 'start': 274.184, 'duration': 3.481}], 'summary': 'Inconsistency in computing environment causing application issues in production.', 'duration': 27.576, 'max_score': 250.089, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ250089.jpg'}], 'start': 0.249, 'title': 'Puppet and configuration management challenges', 'summary': 'Introduces puppet and configuration management, addressing the need for it and providing an overview of puppet architecture. it also demonstrates deploying mysql and php using puppet. additionally, it highlights the challenges of manual configuration management, including time-consuming and error-prone deployments, difficulties in updating software versions, and inconsistencies leading to production issues.', 'chapters': [{'end': 60.462, 'start': 0.249, 'title': 'Introduction to puppet and configuration management', 'summary': 'Provides an introduction to puppet and configuration management, covering the need for configuration management, the problems faced by industries before its introduction, and an overview of the puppet architecture and its components, followed by a hands-on demonstration of deploying mysql and php using puppet.', 'duration': 60.213, 'highlights': ['The chapter provides an introduction to Puppet and configuration management, covering the need for configuration management, the problems faced by industries before its introduction, and an overview of the Puppet architecture and its components, followed by a hands-on demonstration of deploying MySQL and PHP using Puppet.', 'The session focuses on the agenda, including the need for configuration management, understanding configuration management, various configuration management tools, Puppet architecture, and hands-on deployment using Puppet.', 'The chapter also includes audience confirmation and engagement, with attendees expressing their understanding and approval of the agenda, creating a participative learning environment.']}, {'end': 267.537, 'start': 60.982, 'title': 'Challenges of manual configuration management', 'summary': 'Highlights the challenges of manual configuration management, including the time-consuming and error-prone nature of manual deployment on a large scale, the difficulties in updating and rolling back software versions manually, and the inconsistencies in computing environments leading to production issues.', 'duration': 206.555, 'highlights': ['Manually deploying mean stack on hundreds of nodes is time-consuming, resource-wasteful, and prone to human error. Manually deploying mean stack on a large scale is inefficient, time-consuming, and increases the risk of human error.', 'Manually updating and rolling back software versions on numerous nodes is a painstaking and time-consuming task. Manually updating and rolling back software versions on multiple nodes is laborious and time-consuming, leading to challenges when reverting to previous versions.', 'Inconsistencies in computing environments can lead to production issues, as older software versions may not be compatible with applications developed on newer versions. Inconsistencies in computing environments can cause production issues, as older software versions may not be compatible with applications developed on newer versions, leading to functionality discrepancies.']}], 'duration': 267.288, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ249.jpg', 'highlights': ['The chapter provides an introduction to Puppet and configuration management, covering the need for configuration management, the problems faced by industries before its introduction, and an overview of the Puppet architecture and its components, followed by a hands-on demonstration of deploying MySQL and PHP using Puppet.', 'Manually deploying mean stack on hundreds of nodes is time-consuming, resource-wasteful, and prone to human error. Manually deploying mean stack on a large scale is inefficient, time-consuming, and increases the risk of human error.', 'Inconsistencies in computing environments can lead to production issues, as older software versions may not be compatible with applications developed on newer versions. Inconsistencies in computing environments can cause production issues, as older software versions may not be compatible with applications developed on newer versions, leading to functionality discrepancies.']}, {'end': 758.523, 'segs': [{'end': 351.596, 'src': 'embed', 'start': 310.075, 'weight': 0, 'content': [{'end': 314.697, 'text': 'This led to millions of dollars of loss a new software installation caused the problem.', 'start': 310.075, 'duration': 4.622}, {'end': 321.712, 'text': 'The software was installed on eight of its 20 trading terminals and the system was tested out the night before.', 'start': 315.322, 'duration': 6.39}, {'end': 326.199, 'text': 'However, in the morning it failed to operate properly on the eight terminals.', 'start': 322.333, 'duration': 3.866}, {'end': 329.303, 'text': 'So there was a need to switch back to the old software.', 'start': 326.799, 'duration': 2.504}, {'end': 337.826, 'text': "You might think that this was a failure of New York Stock Exchange's configuration management process, but in reality it was a success.", 'start': 330.1, 'duration': 7.726}, {'end': 346.514, 'text': 'As a result of proper configuration management process, NYSE recovered from that situation in 90 minutes, which was pretty fast, let me tell you guys.', 'start': 338.507, 'duration': 8.007}, {'end': 351.596, 'text': 'Had the problem continued longer the consequences would have been more severe.', 'start': 347.352, 'duration': 4.244}], 'summary': 'Millions lost due to new software installation, but nyse recovered in 90 minutes thanks to proper configuration management.', 'duration': 41.521, 'max_score': 310.075, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ310075.jpg'}, {'end': 506.551, 'src': 'embed', 'start': 482.119, 'weight': 2, 'content': [{'end': 487.963, 'text': "you'll write the code to install Apache Tomcat and then you'll push that onto the nodes which you want to configure.", 'start': 482.119, 'duration': 5.844}, {'end': 495.647, 'text': 'What are the advantage you get here? First of all, the first problem if you can recall that configuring large infrastructure was a very hectic job.', 'start': 488.423, 'duration': 7.224}, {'end': 500.869, 'text': 'But because of configuration management it becomes very easy how it becomes easy.', 'start': 496.127, 'duration': 4.742}, {'end': 505.531, 'text': 'You just need to write the code in one central location and replicate that on hundreds of nodes.', 'start': 501.209, 'duration': 4.322}, {'end': 506.551, 'text': 'It is that easy.', 'start': 505.851, 'duration': 0.7}], 'summary': 'Using apache tomcat, configuration management simplifies infrastructure setup and replication on hundreds of nodes.', 'duration': 24.432, 'max_score': 482.119, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ482119.jpg'}, {'end': 606.771, 'src': 'embed', 'start': 579.167, 'weight': 3, 'content': [{'end': 582.45, 'text': 'Infrastructure as code simply means that you are writing code for your infrastructure.', 'start': 579.167, 'duration': 3.283}, {'end': 585.252, 'text': 'Or you can say programmable infrastructure as well.', 'start': 582.85, 'duration': 2.402}, {'end': 589.165, 'text': 'Now what happens you write the code for your infrastructure in one central location.', 'start': 586.024, 'duration': 3.141}, {'end': 595.687, 'text': 'Suppose you have written a code to install Apache Tomcat here and you need to deploy that into the dev environment,', 'start': 589.645, 'duration': 6.042}, {'end': 597.128, 'text': 'test environment and prod environment.', 'start': 595.687, 'duration': 1.441}, {'end': 602.629, 'text': 'So what you need to do just write the code and push that onto the various nodes that you want to configure.', 'start': 597.548, 'duration': 5.081}, {'end': 603.209, 'text': 'All right.', 'start': 602.929, 'duration': 0.28}, {'end': 606.771, 'text': 'So you have everything well documented in your one central location.', 'start': 603.61, 'duration': 3.161}], 'summary': 'Infrastructure as code enables centralized, reusable code for deploying and configuring environments.', 'duration': 27.604, 'max_score': 579.167, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ579167.jpg'}, {'end': 737.765, 'src': 'heatmap', 'start': 675.914, 'weight': 0.715, 'content': [{'end': 681.935, 'text': 'There are certain commands that you need to execute on that particular central location and, with the help of that command,', 'start': 675.914, 'duration': 6.021}, {'end': 685.256, 'text': 'those configurations which are present will be pushed onto the nodes.', 'start': 681.935, 'duration': 3.321}, {'end': 689.537, 'text': 'Now, let us see what what happens in full configuration in full configuration.', 'start': 685.556, 'duration': 3.981}, {'end': 694.198, 'text': "There is one centralized server, but it won't push all the configurations onto the nodes.", 'start': 689.557, 'duration': 4.641}, {'end': 695.479, 'text': 'What happens?', 'start': 694.398, 'duration': 1.081}, {'end': 701.72, 'text': 'nodes actually pull the central server at, say five minutes or 10 minutes, basically at periodic intervals, right?', 'start': 695.479, 'duration': 6.241}, {'end': 708.792, 'text': 'So it will pull the central servers for the configurations and after that it will pull the configurations that are there in the central server.', 'start': 702.27, 'duration': 6.522}, {'end': 711.813, 'text': "So over here, you don't need to execute any command.", 'start': 709.312, 'duration': 2.501}, {'end': 716.314, 'text': 'Nodes will automatically pull all the configurations that are there in the centralized server.', 'start': 711.973, 'duration': 4.341}, {'end': 724.357, 'text': 'And Puppet and Chef both uses pull configuration, but when you talk about push configuration, Ansible and Solstack uses push configuration.', 'start': 716.594, 'duration': 7.763}, {'end': 729.68, 'text': 'So guys any doubts with respect to push and pull configuration sleep is asking.', 'start': 725.097, 'duration': 4.583}, {'end': 732.241, 'text': 'What is the use of pulling?', 'start': 729.76, 'duration': 2.481}, {'end': 737.765, 'text': 'if you pull the central server at regular intervals, you get to know what all changes have been made in the centralized server.', 'start': 732.241, 'duration': 5.524}], 'summary': 'Nodes pull configurations from central server at periodic intervals, facilitating automatic updates and change tracking.', 'duration': 61.851, 'max_score': 675.914, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ675914.jpg'}], 'start': 268.482, 'title': 'Importance and benefits of configuration management', 'summary': 'Explains the importance of configuration management through a use case at nyse, where proper configuration management with puppet allowed recovery within 90 minutes, preventing further severe consequences. it also highlights the benefits of configuration management and infrastructure as code, including easier deployment, rollback, and consistency across environments, with examples of tools like puppet, chef, ansible, and solstack.', 'chapters': [{'end': 411.042, 'start': 268.482, 'title': 'Importance of configuration management at nyse', 'summary': 'Explains the importance of configuration management through a use case at new york stock exchange where a software glitch caused a 90-minute trading halt, leading to millions of dollars in losses, but proper configuration management with puppet allowed nyse to recover within 90 minutes, preventing further severe consequences.', 'duration': 142.56, 'highlights': ['Proper configuration management allowed NYSE to recover from a 90-minute trading halt, preventing further severe consequences. NYSE recovered from a 90-minute trading halt, preventing further severe consequences with proper configuration management.', 'A software glitch caused a 90-minute trading halt at NYSE, leading to millions of dollars in losses. A software glitch caused a 90-minute trading halt at NYSE, leading to millions of dollars in losses.', 'NYSE utilized Puppet for configuration management, allowing them to recover within 90 minutes from the software glitch. NYSE utilized Puppet for configuration management, allowing them to recover within 90 minutes from the software glitch.', 'It is possible to use multiple configuration management tools depending on infrastructure and organizational needs. It is possible to use multiple configuration management tools depending on infrastructure and organizational needs.']}, {'end': 758.523, 'start': 411.482, 'title': 'Configuration management & infrastructure as code', 'summary': 'Explains the concept of configuration management and infrastructure as code, highlighting its benefits such as easier deployment, rollback, and consistency across environments, and discusses push and pull configuration approaches with examples of tools like puppet, chef, ansible, and solstack.', 'duration': 347.041, 'highlights': ['Configuration management simplifies deployment by allowing code to be written once and replicated on multiple nodes, making configuration of large infrastructure easier. Writing code in one central location and replicating it on hundreds of nodes simplifies the deployment process, reducing the manual effort required to install or update software on multiple nodes.', 'Configuration management facilitates easy rollback to previous versions by maintaining well-documented configurations in a central location. Having everything well documented in the central location allows for easier rollback to previous versions, saving time and effort in case of any issues or errors.', 'Infrastructure as code ensures consistency across different environments (dev, test, and product) by enabling the same computing environment for all three environments. Infrastructure as code ensures that all three environments (dev, test, and product) have the same computing environment, reducing variations and inconsistencies across different teams and environments.', 'Push configuration involves pushing configurations from a centralized server to nodes, while pull configuration involves nodes periodically pulling configurations from the central server. In push configuration, configurations are pushed from a centralized server to nodes, while in pull configuration, nodes periodically pull configurations from the central server, allowing for automatic updates without the need for manual commands.']}], 'duration': 490.041, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ268482.jpg', 'highlights': ['Proper configuration management allowed NYSE to recover from a 90-minute trading halt, preventing further severe consequences.', 'A software glitch caused a 90-minute trading halt at NYSE, leading to millions of dollars in losses.', 'Configuration management simplifies deployment by allowing code to be written once and replicated on multiple nodes, making configuration of large infrastructure easier.', 'Infrastructure as code ensures consistency across different environments (dev, test, and product) by enabling the same computing environment for all three environments.']}, {'end': 1553.814, 'segs': [{'end': 807.045, 'src': 'embed', 'start': 778.662, 'weight': 3, 'content': [{'end': 782.447, 'text': 'people used to think that push configuration cannot be used for large infrastructure.', 'start': 778.662, 'duration': 3.785}, {'end': 790.313, 'text': 'but now with the help of Ansible and tools like salt stack and all they are actually able to configure the large infrastructure as well.', 'start': 782.927, 'duration': 7.386}, {'end': 796.297, 'text': 'So that totally depends on the kind of infrastructure that you have the need of your organization that depends on it.', 'start': 790.533, 'duration': 5.764}, {'end': 798.258, 'text': 'I hope this answers your question Sandeep.', 'start': 796.657, 'duration': 1.601}, {'end': 801.481, 'text': 'Shall we move forward? Just give me a confirmation.', 'start': 798.759, 'duration': 2.722}, {'end': 807.045, 'text': 'All right, Sandeep says yes, Sebastian says yes, Mayank says yes.', 'start': 802.241, 'duration': 4.804}], 'summary': 'Push configuration can now handle large infrastructure with ansible and tools like saltstack. infrastructure and organizational needs determine the approach.', 'duration': 28.383, 'max_score': 778.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ778662.jpg'}, {'end': 880.983, 'src': 'embed', 'start': 858.293, 'weight': 0, 'content': [{'end': 865.756, 'text': 'but even ansible is getting popularity, and even chef is mostly used because of the reason that it supports a major cloud platform.', 'start': 858.293, 'duration': 7.463}, {'end': 867.596, 'text': 'beat as your beat, AWS.', 'start': 865.756, 'duration': 1.84}, {'end': 874.379, 'text': 'So major cloud platforms all are supported by chef and AWS as a component called ops work that uses chef.', 'start': 868.037, 'duration': 6.342}, {'end': 878.802, 'text': 'But you can say that Puppet right now is the most mature and well-established tool.', 'start': 874.679, 'duration': 4.123}, {'end': 880.983, 'text': 'I hope this answers your question Vineet.', 'start': 879.462, 'duration': 1.521}], 'summary': 'Chef supports major cloud platforms, puppet is the most mature tool.', 'duration': 22.69, 'max_score': 858.293, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ858293.jpg'}, {'end': 1023.186, 'src': 'heatmap', 'start': 943.637, 'weight': 1, 'content': [{'end': 947.598, 'text': 'I mean, what if master goes down how much downtime is there? All right.', 'start': 943.637, 'duration': 3.961}, {'end': 950.259, 'text': 'So let me tell you puppet is highly available.', 'start': 947.858, 'duration': 2.401}, {'end': 954.84, 'text': 'Let me tell you it achieve high availability because it uses a multi master architecture.', 'start': 950.339, 'duration': 4.501}, {'end': 960.101, 'text': "So if your one master goes down, there's always a backup master or a secondary master to take its place.", 'start': 955.1, 'duration': 5.001}, {'end': 962.261, 'text': "So you won't experience downtime ever.", 'start': 960.461, 'duration': 1.8}, {'end': 964.562, 'text': 'I hope this answers your question Sebastian.', 'start': 962.981, 'duration': 1.581}, {'end': 965.482, 'text': 'All right.', 'start': 965.202, 'duration': 0.28}, {'end': 966.502, 'text': 'Thanks for the confirmation.', 'start': 965.502, 'duration': 1}, {'end': 971.627, 'text': 'So let us move forward and focus on the puppet master-slave architecture.', 'start': 967.264, 'duration': 4.363}, {'end': 974.469, 'text': 'Now this is a puppet master-slave architecture guys.', 'start': 972.447, 'duration': 2.022}, {'end': 975.189, 'text': 'Over here.', 'start': 974.789, 'duration': 0.4}, {'end': 976.13, 'text': 'what happens?', 'start': 975.189, 'duration': 0.941}, {'end': 980.372, 'text': 'the puppet agent or the puppet node sends facts to the puppet master,', 'start': 976.13, 'duration': 4.242}, {'end': 985.836, 'text': 'and these facts are basically a key value or data pair that represents some aspect of slave state.', 'start': 980.372, 'duration': 5.464}, {'end': 992.34, 'text': "That aspect can be its IP address, time, operating system or whether it's a virtual machine,", 'start': 986.256, 'duration': 6.084}, {'end': 1000.546, 'text': 'and then factor gathers those basic information about puppet slave, such as hardware details, network settings, operating system type and version,', 'start': 992.34, 'duration': 8.206}, {'end': 1003.288, 'text': 'IP addresses, Mac addresses all those things.', 'start': 1000.546, 'duration': 2.742}, {'end': 1008.533, 'text': 'Now these facts are then made available in puppet Masters manifest as variables.', 'start': 1003.528, 'duration': 5.005}, {'end': 1009.473, 'text': "Don't worry.", 'start': 1008.973, 'duration': 0.5}, {'end': 1012.596, 'text': "I'll tell you about what exactly manifest is later in the session.", 'start': 1009.513, 'duration': 3.083}, {'end': 1019.283, 'text': 'Now Puppet Master uses those facts that it has received from the puppet agent or the puppet node to compile a catalog.', 'start': 1012.836, 'duration': 6.447}, {'end': 1023.186, 'text': 'That catalog defines how the slave should be configured,', 'start': 1019.623, 'duration': 3.563}], 'summary': 'Puppet achieves high availability with multi-master architecture, ensuring no downtime if a master goes down.', 'duration': 79.549, 'max_score': 943.637, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ943637.jpg'}, {'end': 1109.394, 'src': 'embed', 'start': 1079.65, 'weight': 2, 'content': [{'end': 1085.294, 'text': 'So what happens, the puppet agent or the puppet node sends certain facts to the puppet master.', 'start': 1079.65, 'duration': 5.644}, {'end': 1091.159, 'text': 'So facts are basically key value data pair that represents some aspects of slave state.', 'start': 1085.795, 'duration': 5.364}, {'end': 1097.284, 'text': "It can be its IP address or uptime, operating system, or whether it's a version machine, all those things.", 'start': 1091.299, 'duration': 5.985}, {'end': 1103.049, 'text': 'Now what happens, the puppet master, when it receives those facts, it will compile a catalog.', 'start': 1097.784, 'duration': 5.265}, {'end': 1109.394, 'text': 'Now what is a catalog? A catalog describes the desired state of each managed resource on a slave.', 'start': 1103.469, 'duration': 5.925}], 'summary': 'Puppet agent sends facts to master, which compiles catalog describing resource state.', 'duration': 29.744, 'max_score': 1079.65, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1079650.jpg'}, {'end': 1357.044, 'src': 'heatmap', 'start': 1299.065, 'weight': 0.766, 'content': [{'end': 1302.19, 'text': 'Now this is my puppet master virtual machine over here.', 'start': 1299.065, 'duration': 3.125}, {'end': 1308.178, 'text': "I've already created a puppet master certificate, but there is no puppet agent certificate right now.", 'start': 1302.27, 'duration': 5.908}, {'end': 1317.464, 'text': "And how will you confirm that there's a command that is puppet So it list and it will display all the certificates that are pending in puppet master.", 'start': 1308.498, 'duration': 8.966}, {'end': 1320.045, 'text': 'I mean that are pending for the approval from the master.', 'start': 1317.484, 'duration': 2.561}, {'end': 1320.345, 'text': 'All right.', 'start': 1320.065, 'duration': 0.28}, {'end': 1323.007, 'text': 'So currently there are no certificates available.', 'start': 1321.046, 'duration': 1.961}, {'end': 1323.967, 'text': "So what I'll do?", 'start': 1323.027, 'duration': 0.94}, {'end': 1333.753, 'text': "I'll go to my puppet agent and I'll fetch the puppet master certificate which I've generated earlier and at the same time generate the puppet agent certificate and send it to master for signing it.", 'start': 1323.967, 'duration': 9.786}, {'end': 1340.25, 'text': "So this is my puppet agent virtual machine now over here as I've told you earlier as well.", 'start': 1334.966, 'duration': 5.284}, {'end': 1350.078, 'text': "I'll generate a puppet agent certificate and at the same time I'll fetch the puppet master certificate and that agent certificate will be sent to puppet master and it will sign that puppet,", 'start': 1340.37, 'duration': 9.708}, {'end': 1351.119, 'text': 'my agent certificate.', 'start': 1350.078, 'duration': 1.041}, {'end': 1353.281, 'text': 'So let us proceed with that for that.', 'start': 1351.72, 'duration': 1.561}, {'end': 1357.044, 'text': "I'll type puppet agent hyphen T and here we go.", 'start': 1353.401, 'duration': 3.643}], 'summary': "No puppet agent certificate available, generating and sending for signing. puppet agent initiated with 'puppet agent -t'.", 'duration': 57.979, 'max_score': 1299.065, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1299065.jpg'}, {'end': 1456.06, 'src': 'embed', 'start': 1426.985, 'weight': 5, 'content': [{'end': 1431.448, 'text': 'All right, the Sebastian is asking do we have to perform these steps for each agent??', 'start': 1426.985, 'duration': 4.463}, {'end': 1435.731, 'text': 'Yeah, Sebastian, you have to perform these steps for the agents that you want to configure.', 'start': 1431.828, 'duration': 3.903}, {'end': 1441.134, 'text': "He's asking because I think it would take a lot of time if you have hundred nodes cluster.", 'start': 1436.752, 'duration': 4.382}, {'end': 1445.055, 'text': 'So what you can do you can actually use certain scripts in order to do that.', 'start': 1441.854, 'duration': 3.201}, {'end': 1445.396, 'text': 'All right.', 'start': 1445.075, 'duration': 0.321}, {'end': 1447.476, 'text': 'so you can deploy those scripts.', 'start': 1445.396, 'duration': 2.08}, {'end': 1450.578, 'text': "and yeah, he's asking is asking can we use scripts?", 'start': 1447.476, 'duration': 3.102}, {'end': 1456.06, 'text': 'definitely, you can do that and you can use those scripts in order to add multiple nodes to your puppet master.', 'start': 1450.578, 'duration': 5.482}], 'summary': 'Perform steps for each agent, use scripts for efficiency, add multiple nodes to puppet master.', 'duration': 29.075, 'max_score': 1426.985, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1426985.jpg'}, {'end': 1520.342, 'src': 'embed', 'start': 1492.517, 'weight': 6, 'content': [{'end': 1495.317, 'text': 'Now, let me give you a quick recap of what we have discussed along.', 'start': 1492.517, 'duration': 2.8}, {'end': 1499.018, 'text': 'First, we saw what were the various problems before configuration management.', 'start': 1495.778, 'duration': 3.24}, {'end': 1502.039, 'text': 'We focused on three major problems that were there all right?', 'start': 1499.058, 'duration': 2.981}, {'end': 1508.7, 'text': 'And after that we saw how important configuration management is, with the help of a use case of New York Stock Exchange.', 'start': 1502.479, 'duration': 6.221}, {'end': 1514.541, 'text': 'And finally, we saw what exactly configuration management is and what do you mean by infrastructure discord.', 'start': 1509.1, 'duration': 5.441}, {'end': 1520.342, 'text': 'We also looked at various configuration management tools, namely Chef, Puppet, Ansible, and SaltStack.', 'start': 1515.021, 'duration': 5.321}], 'summary': 'Recap of configuration management problems, importance, and tools discussed.', 'duration': 27.825, 'max_score': 1492.517, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1492517.jpg'}], 'start': 758.523, 'title': 'Puppet master-slave architecture and configuration management tools', 'summary': "Explores configuration management tools, including puppet's support for cloud platforms, master-slave architecture, and ssl-based communication, with a practical demonstration of certificate signing and node configuration. it also covers the exchange of facts, compilation of catalogs, and managing multiple nodes through scripts.", 'chapters': [{'end': 1079.39, 'start': 758.523, 'title': 'Configuration management tools & puppet master-slave architecture', 'summary': "Discusses the use of polling to track changes in centralized servers, the debate between push and pull configurations, and the comparison of popular configuration management tools, highlighting puppet's maturity and support for cloud platforms. it also details the use of puppet as a configuration management tool and its master-slave architecture, emphasizing its failover capability and ssl-based communication.", 'duration': 320.867, 'highlights': ['Puppet is a well-established and mature configuration management tool, with support for major cloud platforms like AWS and Azure, making it the most popular tool in the market since 2005. Puppet, established in 2005, is the most mature and widely used configuration management tool, with support for major cloud platforms like AWS and Azure.', 'Puppet uses a master-slave architecture with failover capability, ensuring high availability through a multi-master setup, thus eliminating downtime in case of master failure. Puppet implements a highly available multi-master architecture, ensuring failover capability and eliminating downtime in case of master failure.', 'The Puppet master-slave architecture involves the exchange of facts from the slave to the master, compilation of a catalog by the master, and the implementation of the catalog by the slave, with SSL being used for secure communication between them. The Puppet master-slave architecture involves the exchange of facts, compilation of a catalog, and secure communication using SSL between the master and slave.', 'The use of polling to track changes in centralized servers and the comparison of push and pull configurations for large infrastructure are discussed, highlighting the role of tools like Ansible and Salt Stack in enabling push configuration for large infrastructure. The discussion covers the use of polling to track changes and the role of Ansible and Salt Stack in enabling push configuration for large infrastructure.']}, {'end': 1553.814, 'start': 1079.65, 'title': 'Puppet master-slave architecture', 'summary': 'Explains the puppet master-slave communication process, including the exchange of facts, compilation of catalogs, and the establishment of secure connections through ssl, with a practical demonstration of certificate signing and node configuration. it also discusses the use of scripts for managing multiple nodes and provides a recap of configuration management concepts and tools.', 'duration': 474.164, 'highlights': ['Puppet master compiles catalogs based on facts sent by the puppet agent, describing the desired state of each managed resource on a slave. The puppet master compiles catalogs based on facts sent by the puppet agent, representing aspects of the slave state such as IP address, uptime, operating system, and version machine.', "The puppet master communicates with the puppet agent using SSL to establish a secure connection and exchange configurations. The communication between puppet master and puppet slave occurs over SSL, where the puppet master signs the slave's certificate and sends configurations to the slave.", 'Demonstration of practical steps for certificate signing and node configuration, emphasizing the use of scripts for managing multiple nodes. Practical demonstration of certificate signing and node configuration process, with an emphasis on using scripts for managing multiple nodes efficiently.', 'Recap of configuration management concepts, problems prior to configuration management, and an example use case highlighting the importance of configuration management. A recap of configuration management concepts, including the problems before configuration management, the importance of configuration management using the New York Stock Exchange use case, and an overview of various configuration management tools.']}], 'duration': 795.291, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ758523.jpg', 'highlights': ['Puppet is the most mature and widely used configuration management tool, with support for major cloud platforms like AWS and Azure.', 'Puppet implements a highly available multi-master architecture, ensuring failover capability and eliminating downtime in case of master failure.', 'The Puppet master-slave architecture involves the exchange of facts, compilation of a catalog, and secure communication using SSL between the master and slave.', 'The discussion covers the use of polling to track changes and the role of Ansible and Salt Stack in enabling push configuration for large infrastructure.', 'The puppet master compiles catalogs based on facts sent by the puppet agent, representing aspects of the slave state such as IP address, uptime, operating system, and version machine.', 'Practical demonstration of certificate signing and node configuration process, with an emphasis on using scripts for managing multiple nodes efficiently.', 'A recap of configuration management concepts, including the problems before configuration management, the importance of configuration management using the New York Stock Exchange use case, and an overview of various configuration management tools.']}, {'end': 1901.906, 'segs': [{'end': 1584.429, 'src': 'embed', 'start': 1554.174, 'weight': 0, 'content': [{'end': 1558.015, 'text': "All right, so I'll move forward and we'll see what use case I have for you today.", 'start': 1554.174, 'duration': 3.841}, {'end': 1563.356, 'text': "So what we are gonna do in today's session, we are going to deploy MySQL and PHP using Puppet.", 'start': 1558.055, 'duration': 5.301}, {'end': 1565.377, 'text': "So for that, what I'll do?", 'start': 1564.016, 'duration': 1.361}, {'end': 1571.441, 'text': "I'll first download the predefined modules for MySQL and PHP that are there in the PuppetForge.", 'start': 1565.377, 'duration': 6.064}, {'end': 1571.721, 'text': 'all right?', 'start': 1571.441, 'duration': 0.28}, {'end': 1576.904, 'text': 'Those modules will actually define the two classes, that is, PHP and MySQL.', 'start': 1572.261, 'duration': 4.643}, {'end': 1579.726, 'text': 'Now you cannot deploy the class directly onto the nodes.', 'start': 1577.104, 'duration': 2.622}, {'end': 1584.429, 'text': 'So what you need to do in PuppetManifest, you need to declare those classes.', 'start': 1580.126, 'duration': 4.303}], 'summary': 'Deploy mysql and php using puppet, by downloading modules from puppetforge and declaring classes in puppetmanifest.', 'duration': 30.255, 'max_score': 1554.174, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1554174.jpg'}, {'end': 1655.575, 'src': 'embed', 'start': 1615.612, 'weight': 1, 'content': [{'end': 1619.193, 'text': 'So, any questions, guys, any doubts you have, or shall I move forward??', 'start': 1615.612, 'duration': 3.581}, {'end': 1625.975, 'text': "Fine, so we'll move forward and we'll see what are the various phases in which we'll be implementing the use case.", 'start': 1619.793, 'duration': 6.182}, {'end': 1626.235, 'text': 'all right?', 'start': 1625.975, 'duration': 0.26}, {'end': 1628.716, 'text': "So, first we'll define classes.", 'start': 1626.795, 'duration': 1.921}, {'end': 1629.016, 'text': 'all right?', 'start': 1628.716, 'duration': 0.3}, {'end': 1631.877, 'text': 'Classes are nothing but the collection of various resources.', 'start': 1629.076, 'duration': 2.801}, {'end': 1634.538, 'text': "How we'll do that? We'll do that with the help of modules.", 'start': 1632.237, 'duration': 2.301}, {'end': 1640.2, 'text': "We'll actually download a module from the PuppetForge and we'll use that module that defines two classes,", 'start': 1634.758, 'duration': 5.442}, {'end': 1647.143, 'text': "as I've told you PHP and MySQL and then I'm going to declare that class in the manifest and finally deploy that onto the nodes.", 'start': 1640.2, 'duration': 6.943}, {'end': 1648.811, 'text': 'All right.', 'start': 1647.79, 'duration': 1.021}, {'end': 1650.112, 'text': 'so let us move forward.', 'start': 1648.811, 'duration': 1.301}, {'end': 1655.575, 'text': 'and before actually doing this, it is very important for you to understand certain basics of puppet, like code,', 'start': 1650.112, 'duration': 5.463}], 'summary': 'Implementing use case with puppet: defining classes, using modules, deploying onto nodes.', 'duration': 39.963, 'max_score': 1615.612, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1615612.jpg'}, {'end': 1727.134, 'src': 'embed', 'start': 1694.716, 'weight': 4, 'content': [{'end': 1699.419, 'text': 'All right, and then finally you can bundle all these manifest together to form a module.', 'start': 1694.716, 'duration': 4.703}, {'end': 1705.804, 'text': 'Now let me tell you guys it is not mandatory that with you will combine the resources and define a class.', 'start': 1699.84, 'duration': 5.964}, {'end': 1707.825, 'text': 'you can actually deploy the resources directly.', 'start': 1705.804, 'duration': 2.021}, {'end': 1708.926, 'text': 'It is a good practice.', 'start': 1708.105, 'duration': 0.821}, {'end': 1713.149, 'text': 'If you combine the resources in the form of classes because it becomes easier for you to manage.', 'start': 1708.966, 'duration': 4.183}, {'end': 1717.15, 'text': "The same goes for manifest as well, and I'll tell you how to do that as well.", 'start': 1713.669, 'duration': 3.481}, {'end': 1719.951, 'text': 'You can write a puppet code and deploy that onto the nodes.', 'start': 1717.57, 'duration': 2.381}, {'end': 1727.134, 'text': "And at the same time, it is not necessary for you to bundle the manifest that you're using in the form of modules, but if you do that,", 'start': 1720.571, 'duration': 6.563}], 'summary': 'Bundling resources into a module is not mandatory but a good practice for easier management.', 'duration': 32.418, 'max_score': 1694.716, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1694716.jpg'}, {'end': 1816.526, 'src': 'heatmap', 'start': 1750.532, 'weight': 3, 'content': [{'end': 1753.975, 'text': 'So puppet code is composed primarily of resource declarations.', 'start': 1750.532, 'duration': 3.443}, {'end': 1757.479, 'text': 'A resource describes something about the state of the system.', 'start': 1754.316, 'duration': 3.163}, {'end': 1762.725, 'text': 'It can be such as a certain user or a file should exist or a package should be installed.', 'start': 1757.739, 'duration': 4.986}, {'end': 1764.907, 'text': 'Now, here we have the syntax of the resource.', 'start': 1763.166, 'duration': 1.741}, {'end': 1765.167, 'text': 'all right?', 'start': 1764.907, 'duration': 0.26}, {'end': 1771.973, 'text': 'First you write the type of the resource, then you give a name to it in the single quotes and various attributes that you want to define.', 'start': 1765.608, 'duration': 6.365}, {'end': 1781.121, 'text': "In the example I've shown you that it will create a file that is inetd.conf and this attribute will make sure that it is present.", 'start': 1772.754, 'duration': 8.367}, {'end': 1783.743, 'text': 'So let us execute this practically guys.', 'start': 1781.421, 'duration': 2.322}, {'end': 1786.386, 'text': "I'll again go back to my CentOS virtual machine.", 'start': 1784.184, 'duration': 2.202}, {'end': 1791.095, 'text': "Now over here, what I'll do, I'll use the gedit editor.", 'start': 1787.153, 'duration': 3.942}, {'end': 1792.675, 'text': 'You can use whatever editor you want.', 'start': 1791.115, 'duration': 1.56}, {'end': 1797.277, 'text': "And I'll type the path for my manifest directory.", 'start': 1793.536, 'duration': 3.741}, {'end': 1804.12, 'text': "And in this directory, I'll define a file with the .pp extension.", 'start': 1798.818, 'duration': 5.302}, {'end': 1806.221, 'text': "So I'll just name it as site.pp.", 'start': 1804.14, 'duration': 2.081}, {'end': 1807.822, 'text': 'And here we go.', 'start': 1807.182, 'duration': 0.64}, {'end': 1816.526, 'text': "Now over here, the resource example that I've shown you in the slide, I'll just write the same example and let us see what happens.", 'start': 1810.303, 'duration': 6.223}], 'summary': 'Puppet code uses resource declarations to define system state, such as user, file, and package attributes, and can be executed practically.', 'duration': 35.854, 'max_score': 1750.532, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1750532.jpg'}], 'start': 1554.174, 'title': 'Puppet basics and deploying mysql with php', 'summary': "Covers deploying mysql and php using puppet, including downloading predefined modules from puppetforge, declaring classes in puppetmanifest, and deploying them onto nodes. it also explains the basics of puppet, including defining resources, classes, and modules, executing a practical example of creating a file using puppet's resource syntax on a centos virtual machine.", 'chapters': [{'end': 1634.538, 'start': 1554.174, 'title': 'Deploying mysql and php with puppet', 'summary': 'Covers deploying mysql and php using puppet, including downloading predefined modules from puppetforge, declaring classes in puppetmanifest, and deploying them onto nodes.', 'duration': 80.364, 'highlights': ['Downloading predefined modules for MySQL and PHP from PuppetForge The speaker explains the first step in deploying MySQL and PHP using Puppet.', 'Declaring classes in PuppetManifest for PHP and MySQL The speaker emphasizes the need to declare classes in PuppetManifest for deployment onto nodes.', 'Defining classes as a collection of various resources with the help of modules The speaker describes the process of defining classes using modules.']}, {'end': 1901.906, 'start': 1634.758, 'title': 'Puppet: resources, classes, and modules', 'summary': "Explains the basics of puppet, including defining resources, classes, and modules, and executing a practical example of creating a file using puppet's resource syntax on a centos virtual machine.", 'duration': 267.148, 'highlights': ['Puppet code is composed primarily of resource declarations, which describe something about the state of the system, such as a user or a file that should exist or a package that should be installed. Puppet code primarily consists of resource declarations, specifying the state of the system, like ensuring the existence of a user or file, or installing a package.', 'Combining resources forms a class, which can be declared in multiple manifests, and bundling manifests together forms a module, making it more manageable and structured. Combining resources forms a class, which can be declared in multiple manifests, and bundling manifests into a module enhances manageability and structure.', "The chapter includes a practical example of creating a file using Puppet's resource syntax on a CentOS virtual machine, demonstrating the process of defining a file resource and executing it using the puppet agent command. The chapter demonstrates the practical process of defining a file resource using Puppet's syntax and executing it on a CentOS virtual machine with the puppet agent command."]}], 'duration': 347.732, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1554174.jpg', 'highlights': ['Downloading predefined modules for MySQL and PHP from PuppetForge', 'Declaring classes in PuppetManifest for PHP and MySQL', 'Defining classes as a collection of various resources with the help of modules', 'Puppet code is composed primarily of resource declarations, specifying the state of the system', 'Combining resources forms a class, which can be declared in multiple manifests, and bundling manifests into a module enhances manageability and structure', "The chapter demonstrates the practical process of defining a file resource using Puppet's syntax and executing it on a CentOS virtual machine with the puppet agent command"]}, {'end': 2259.548, 'segs': [{'end': 1998.731, 'src': 'embed', 'start': 1958.627, 'weight': 0, 'content': [{'end': 1964.348, 'text': "Mike, as I've told you earlier as well, a resource is basically anything like file user, anything.", 'start': 1958.627, 'duration': 5.721}, {'end': 1968.049, 'text': 'basically, classes are actually nothing but the bundle of resources.', 'start': 1964.348, 'duration': 3.701}, {'end': 1976.19, 'text': 'All right, all those resources grouped together forms a class and what you can say is a resource describes a single file or a package.', 'start': 1968.089, 'duration': 8.101}, {'end': 1981.912, 'text': 'But what happens a class describes everything needed to configure an entire service or an application.', 'start': 1976.551, 'duration': 5.361}, {'end': 1983.752, 'text': 'I hope this answers your question.', 'start': 1982.572, 'duration': 1.18}, {'end': 1988.356, 'text': "All right guys, so we'll move forward and we'll see what are manifest.", 'start': 1984.611, 'duration': 3.745}, {'end': 1990.219, 'text': 'So this is puppet manifest.', 'start': 1988.977, 'duration': 1.242}, {'end': 1998.731, 'text': 'Now what exactly it is, every slave has got its configuration details in puppet master and it is written in the native puppet language.', 'start': 1990.74, 'duration': 7.991}], 'summary': 'Classes are bundles of resources; a class describes an entire service or application. puppet manifest contains slave configuration details in puppet language.', 'duration': 40.104, 'max_score': 1958.627, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1958627.jpg'}, {'end': 2145.133, 'src': 'embed', 'start': 2117.911, 'weight': 4, 'content': [{'end': 2121.774, 'text': "Now over here I'll just delete the resource that I've defined here.", 'start': 2117.911, 'duration': 3.863}, {'end': 2124.637, 'text': 'I like my screen to be nice and clean.', 'start': 2122.415, 'duration': 2.222}, {'end': 2128.06, 'text': "And now I'll write the code to deploy Apache.", 'start': 2125.417, 'duration': 2.643}, {'end': 2145.133, 'text': "So for that I'll type package httpd colon Now I need to ensure it is installed, so for that I'll type ensure installed, give a comma.", 'start': 2128.1, 'duration': 17.033}], 'summary': "Deleting defined resource, writing code to deploy apache using 'package httpd', and ensuring installation.", 'duration': 27.222, 'max_score': 2117.911, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2117911.jpg'}, {'end': 2207.329, 'src': 'embed', 'start': 2176.791, 'weight': 2, 'content': [{'end': 2182.977, 'text': 'Now what happens periodically puppet agent actually pulls the configuration from puppet master and it is around 30 minutes.', 'start': 2176.791, 'duration': 6.186}, {'end': 2187.981, 'text': 'All right, it takes around half an hour after every half an hour puppet agent pulls the configurations from puppet master.', 'start': 2182.997, 'duration': 4.984}, {'end': 2189.983, 'text': 'All right, so you can configure that as well.', 'start': 2188.001, 'duration': 1.982}, {'end': 2193.386, 'text': "If you don't want to do it just throw in a command puppet agent hyphen T.", 'start': 2190.283, 'duration': 3.103}, {'end': 2197.128, 'text': "and it'll automatically pull the configurations that are present in the Puppet Master.", 'start': 2194.207, 'duration': 2.921}, {'end': 2200.308, 'text': "So for that I'll go to my Puppet Agent virtual machine.", 'start': 2197.848, 'duration': 2.46}, {'end': 2207.329, 'text': "Now over here what I'll do I'll type a command puppet agent hyphen T and let us see what happens.", 'start': 2201.628, 'duration': 5.701}], 'summary': 'Puppet agent pulls configurations from master every 30 minutes.', 'duration': 30.538, 'max_score': 2176.791, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2176791.jpg'}, {'end': 2234.354, 'src': 'embed', 'start': 2212.09, 'weight': 5, 'content': [{'end': 2221.472, 'text': "I'll open my browser and over here I'll type the host name of my machine, which is localhost, and let us see if Apache is installed.", 'start': 2212.09, 'duration': 9.382}, {'end': 2224.951, 'text': 'All right, so Apache has been successfully installed.', 'start': 2222.691, 'duration': 2.26}, {'end': 2229.052, 'text': 'Now let us go back to our slides and see what exactly modules are.', 'start': 2225.592, 'duration': 3.46}, {'end': 2234.354, 'text': 'If you have any doubts, any queries regarding manifest or any other concept that we have studied till now,', 'start': 2229.572, 'duration': 4.782}], 'summary': 'Apache successfully installed on localhost, studying modules and concepts', 'duration': 22.264, 'max_score': 2212.09, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2212090.jpg'}], 'start': 1902.086, 'title': 'Puppet and apache deployment', 'summary': 'Covers puppet classes, resources, and manifests, detailing the deployment of apache using puppet, including writing manifest code and confirming successful installation.', 'chapters': [{'end': 2070.148, 'start': 1902.086, 'title': 'Puppet: classes, resources, and manifests', 'summary': 'Explains classes as a group of resources, with a class describing everything needed to configure an entire service or application, and manifest being the native language for puppet programs.', 'duration': 168.062, 'highlights': ['Classes are a group of resources, with a class describing everything needed to configure an entire service or application. Classes are formed by grouping multiple resources together, and they describe everything needed to configure an entire service or application.', 'Manifest is the native language for Puppet programs, defining the configuration details for Puppet slaves in the Puppet master. Manifest is the native language for Puppet programs, containing the configuration details for Puppet slaves in the Puppet master.', 'A resource describes a single file or a package, while a class describes everything needed to configure an entire service or an application. A resource describes a single file or a package, whereas a class describes everything needed to configure an entire service or an application.']}, {'end': 2259.548, 'start': 2070.969, 'title': 'Deploying apache with puppet', 'summary': 'Covers the practical deployment of apache using puppet, including writing the manifest code, pulling configurations from the puppet master, and confirming the successful installation of apache.', 'duration': 188.579, 'highlights': ['Puppet agent pulls configurations from Puppet Master every 30 minutes. Puppet agent pulls configurations from Puppet Master approximately every 30 minutes, allowing for easy and periodic updates.', 'Code to deploy Apache: package httpd, ensure installed, service httpd, ensure running. The code to deploy Apache includes specifying the package to be installed (httpd) and ensuring its installation, as well as ensuring the running state of the Apache service.', 'Confirmation of Apache installation through browser access to localhost. The successful installation of Apache is confirmed by accessing localhost through a web browser, resulting in the display of the Apache page.']}], 'duration': 357.462, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ1902086.jpg', 'highlights': ['Manifest is the native language for Puppet programs, defining the configuration details for Puppet slaves in the Puppet master.', 'Classes are a group of resources, with a class describing everything needed to configure an entire service or application.', 'Puppet agent pulls configurations from Puppet Master every 30 minutes.', 'A resource describes a single file or a package, while a class describes everything needed to configure an entire service or an application.', 'Code to deploy Apache: package httpd, ensure installed, service httpd, ensure running.', 'Confirmation of Apache installation through browser access to localhost.']}, {'end': 2804.698, 'segs': [{'end': 2288.135, 'src': 'embed', 'start': 2260.308, 'weight': 0, 'content': [{'end': 2266.513, 'text': 'So what are puppet modules? Puppet module can be considered as a self-contained bundle of code and data.', 'start': 2260.308, 'duration': 6.205}, {'end': 2268.654, 'text': 'Let us put it in another way.', 'start': 2267.133, 'duration': 1.521}, {'end': 2276.72, 'text': 'We can say that puppet module is a collection of manifest and data such as facts files, templates, et cetera.', 'start': 2269.154, 'duration': 7.566}, {'end': 2276.98, 'text': 'all right?', 'start': 2276.72, 'duration': 0.26}, {'end': 2279.962, 'text': 'And they have a specific directory structure.', 'start': 2277.7, 'duration': 2.262}, {'end': 2288.135, 'text': 'Modules are basically used for organizing your puppet code because they allow you to split your code into multiple manifest.', 'start': 2281.089, 'duration': 7.046}], 'summary': 'Puppet modules are self-contained bundles of code and data used for organizing puppet code into multiple manifests.', 'duration': 27.827, 'max_score': 2260.308, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2260308.jpg'}, {'end': 2340.629, 'src': 'embed', 'start': 2300.385, 'weight': 1, 'content': [{'end': 2305.347, 'text': 'So by default, Puppet modules are present in the directory slash hc slash Puppet slash modules.', 'start': 2300.385, 'duration': 4.962}, {'end': 2309.389, 'text': 'Whatever modules you download from PuppetForge will be present in this module directory.', 'start': 2305.768, 'duration': 3.621}, {'end': 2309.65, 'text': 'all right?', 'start': 2309.389, 'duration': 0.261}, {'end': 2316.613, 'text': 'Even if you create your own modules you have to create in this particular directory, that is, slash hc slash Puppet slash modules.', 'start': 2310.17, 'duration': 6.443}, {'end': 2321.135, 'text': "So now let us start the most awaited topic of today's session.", 'start': 2317.133, 'duration': 4.002}, {'end': 2324.337, 'text': 'That is deploying PHP and MySQL using Puppet.', 'start': 2321.615, 'duration': 2.722}, {'end': 2328.92, 'text': "So what I'm going to do, I've told you earlier as well, but I'll just give you a quick recap.", 'start': 2325.097, 'duration': 3.823}, {'end': 2332.983, 'text': "Now what I'm going to do is, I'm going to download the two modules.", 'start': 2329.34, 'duration': 3.643}, {'end': 2335.945, 'text': 'One is for PHP and another is for MySQL.', 'start': 2333.263, 'duration': 2.682}, {'end': 2340.629, 'text': 'So those two modules will actually define PHP and MySQL class for me.', 'start': 2336.466, 'duration': 4.163}], 'summary': 'Puppet modules are stored in /hc/puppet/modules. deploying php and mysql using puppet involves downloading two modules to define php and mysql classes.', 'duration': 40.244, 'max_score': 2300.385, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2300385.jpg'}, {'end': 2402.016, 'src': 'embed', 'start': 2361.085, 'weight': 2, 'content': [{'end': 2362.466, 'text': 'You cannot directly deploy that class.', 'start': 2361.085, 'duration': 1.381}, {'end': 2364.868, 'text': 'You need to declare it in the manifest.', 'start': 2362.706, 'duration': 2.162}, {'end': 2367.49, 'text': "And now I'll again go back to my CentOS box.", 'start': 2365.348, 'duration': 2.142}, {'end': 2373.284, 'text': "Now over here what I'll do, I'll download the MySQL module from the PuppetForge.", 'start': 2369.542, 'duration': 3.742}, {'end': 2390.495, 'text': "So for that I'll type Puppet module install Puppet Labs hyphen MySQL hyphen hyphen give the version name.", 'start': 2373.304, 'duration': 17.191}, {'end': 2394.097, 'text': 'So I will use 3.10.0 and here we go.', 'start': 2390.675, 'duration': 3.422}, {'end': 2402.016, 'text': 'So what is happening here?', 'start': 2401.055, 'duration': 0.961}], 'summary': 'Deploy mysql module (puppet labs mysql 3.10.0) on centos box from puppetforge.', 'duration': 40.931, 'max_score': 2361.085, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2361085.jpg'}, {'end': 2540.716, 'src': 'heatmap', 'start': 2506.383, 'weight': 0.754, 'content': [{'end': 2514.168, 'text': "so I'll just remove this and over here I will just declare the two classes, that is, MySQL and PHP.", 'start': 2506.383, 'duration': 7.785}, {'end': 2532.69, 'text': "Include MySQL server and in the next line I'll include the PHP class so for that I'll type PHP.", 'start': 2516.77, 'duration': 15.92}, {'end': 2537.254, 'text': 'Just save it, now close it.', 'start': 2535.072, 'duration': 2.182}, {'end': 2539.455, 'text': 'Let me clear my terminal.', 'start': 2537.274, 'duration': 2.181}, {'end': 2540.716, 'text': "Now what I'll do.", 'start': 2540.036, 'duration': 0.68}], 'summary': 'Declaring mysql and php classes, saving and closing the file.', 'duration': 34.333, 'max_score': 2506.383, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2506383.jpg'}, {'end': 2656.688, 'src': 'embed', 'start': 2593.857, 'weight': 4, 'content': [{'end': 2598.48, 'text': "Now I'll just exit from here and now I'll show you the PHP version.", 'start': 2593.857, 'duration': 4.623}, {'end': 2603.063, 'text': "So for that I'll type PHP hyphen version and here we go.", 'start': 2598.5, 'duration': 4.563}, {'end': 2610.067, 'text': 'All right, so this means that we have successfully installed PHP and MySQL using Puppet.', 'start': 2605.104, 'duration': 4.963}, {'end': 2615.858, 'text': 'So now let me just give you a quick recap of what we have discussed till now.', 'start': 2612.537, 'duration': 3.321}, {'end': 2616.199, 'text': 'All right.', 'start': 2615.919, 'duration': 0.28}, {'end': 2619, 'text': 'So first we saw why we need configuration management.', 'start': 2616.659, 'duration': 2.341}, {'end': 2622.842, 'text': 'What were the various problems that were there before configuration management,', 'start': 2619.36, 'duration': 3.482}, {'end': 2627.564, 'text': 'and we understood the importance of configuration management with a use case of New York Stock Exchange.', 'start': 2622.842, 'duration': 4.722}, {'end': 2635.087, 'text': 'All right after that we saw what exactly configuration management is and we understood a very important concept called infrastructure as code.', 'start': 2628.164, 'duration': 6.923}, {'end': 2640.89, 'text': 'Then we focused on various type of configuration management approaches namely push and pull.', 'start': 2635.948, 'duration': 4.942}, {'end': 2647.266, 'text': 'Then we saw various configuration management tools and namely Puppet, Chef, Ansible and SauceTag.', 'start': 2641.86, 'duration': 5.406}, {'end': 2651.867, 'text': 'And after that, we focused on Puppet, and we saw what exactly Puppet is.', 'start': 2648.086, 'duration': 3.781}, {'end': 2656.688, 'text': "It's master-slave architecture, how Puppet master and slave communicates, all those things.", 'start': 2652.247, 'duration': 4.441}], 'summary': 'Successfully installed php and mysql using puppet for configuration management.', 'duration': 62.831, 'max_score': 2593.857, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2593857.jpg'}, {'end': 2708.638, 'src': 'embed', 'start': 2676.854, 'weight': 7, 'content': [{'end': 2681.176, 'text': "He's asking what is the difference between Puppet and Chef, and both of them uses the pull configuration?", 'start': 2676.854, 'duration': 4.322}, {'end': 2683.457, 'text': "All right, it's a very good question, Sebastian.", 'start': 2681.876, 'duration': 1.581}, {'end': 2685.018, 'text': 'Now, let me tell you what happens.', 'start': 2683.497, 'duration': 1.521}, {'end': 2688.419, 'text': 'When you see the functionality of both the tools, it is pretty much similar.', 'start': 2685.458, 'duration': 2.961}, {'end': 2693.862, 'text': 'All right, but when you compare the architecture, Chef has an extra component called workstation.', 'start': 2688.439, 'duration': 5.423}, {'end': 2699.585, 'text': 'Although both of them have the master-slave architecture, but Chef has one extra component called workstation.', 'start': 2694.382, 'duration': 5.203}, {'end': 2701.749, 'text': 'In that workstation?', 'start': 2700.447, 'duration': 1.302}, {'end': 2708.638, 'text': "what, if configurations are there, will be first tested in that workstation and then it'll be pushed into the server, the Chef server, all right?", 'start': 2701.749, 'duration': 6.889}], 'summary': 'Puppet and chef are similar, but chef has a workstation component, giving it an edge in configuration testing.', 'duration': 31.784, 'max_score': 2676.854, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2676854.jpg'}], 'start': 2260.308, 'title': 'Puppet deployment for php and mysql', 'summary': 'Discusses deploying php and mysql using puppet modules, covering concepts, deployment process, and a comparison of puppet and chef, with positive audience feedback.', 'chapters': [{'end': 2506.383, 'start': 2260.308, 'title': 'Puppet modules for php and mysql deployment', 'summary': 'Discusses the concept of puppet modules as self-contained bundles of code and data that are used for organizing puppet code, and demonstrates the deployment of php and mysql using puppet modules by downloading and installing the modules from puppetforge and declaring the classes in the manifest files.', 'duration': 246.075, 'highlights': ['Puppet modules are self-contained bundles of code and data used for organizing puppet code into multiple manifest, and are present in the directory slash hc slash Puppet slash modules. Puppet modules serve as a way to organize puppet code by splitting it into multiple manifest, and they are stored in the directory slash hc slash Puppet slash modules.', "The deployment of PHP and MySQL using Puppet involves downloading the respective modules from PuppetForge and declaring the classes in the manifest files, followed by executing the command 'puppet agent -t' to pull the configurations and deploy PHP and MySQL. To deploy PHP and MySQL using Puppet, the respective modules need to be downloaded from PuppetForge, and the classes need to be declared in the manifest files, followed by executing the command 'puppet agent -t' to pull the configurations and deploy PHP and MySQL.", "The MySQL module is installed from PuppetForge using the command 'Puppet module install Puppet Labs -MySQL --version 3.10.0' and the PHP module is installed using the command 'Puppet module install -PHP --version 4.0.0-beta1'. The MySQL module is installed from PuppetForge using the command 'Puppet module install Puppet Labs -MySQL --version 3.10.0', and the PHP module is installed using the command 'Puppet module install -PHP --version 4.0.0-beta1'.", 'The successful installation of the modules can be verified by checking the directory slash hc slash Puppet slash modules, where the downloaded modules from PuppetForge are present. The successful installation of the modules can be verified by checking the directory slash hc slash Puppet slash modules, where the downloaded modules from PuppetForge are present.']}, {'end': 2804.698, 'start': 2506.383, 'title': 'Configuring php and mysql using puppet', 'summary': 'Demonstrates the deployment of php and mysql using puppet, covering the importance of configuration management, infrastructure as code, configuration management approaches, puppet architecture, puppet code basics, and a comparison between puppet and chef, concluding with positive feedback from the audience.', 'duration': 298.315, 'highlights': ['Deployment of PHP and MySQL using Puppet The successful deployment of PHP and MySQL using Puppet is demonstrated, showcasing the practical application of configuration management and infrastructure as code.', 'Importance of Configuration Management and Infrastructure as Code The chapter emphasizes the significance of configuration management and infrastructure as code, addressing the challenges prior to configuration management and illustrating the use case of New York Stock Exchange.', "Puppet Architecture and Code Basics A detailed explanation of Puppet's master-slave architecture, communication process, resources, classes, manifest, and modules is provided, offering a comprehensive understanding of Puppet's fundamental concepts.", "Comparison between Puppet and Chef A comparison between Puppet and Chef is presented, highlighting the architectural difference with Chef having an additional component called workstation, and Chef's compatibility with major cloud platform providers."]}], 'duration': 544.39, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/PL_J5Gj3GAQ/pics/PL_J5Gj3GAQ2260308.jpg', 'highlights': ['Puppet modules are self-contained bundles of code and data used for organizing puppet code into multiple manifest, and are present in the directory slash hc slash Puppet slash modules.', "The deployment of PHP and MySQL using Puppet involves downloading the respective modules from PuppetForge and declaring the classes in the manifest files, followed by executing the command 'puppet agent -t' to pull the configurations and deploy PHP and MySQL.", "The MySQL module is installed from PuppetForge using the command 'Puppet module install Puppet Labs -MySQL --version 3.10.0' and the PHP module is installed using the command 'Puppet module install -PHP --version 4.0.0-beta1'.", 'The successful installation of the modules can be verified by checking the directory slash hc slash Puppet slash modules, where the downloaded modules from PuppetForge are present.', 'The successful deployment of PHP and MySQL using Puppet is demonstrated, showcasing the practical application of configuration management and infrastructure as code.', 'The chapter emphasizes the significance of configuration management and infrastructure as code, addressing the challenges prior to configuration management and illustrating the use case of New York Stock Exchange.', "A detailed explanation of Puppet's master-slave architecture, communication process, resources, classes, manifest, and modules is provided, offering a comprehensive understanding of Puppet's fundamental concepts.", "A comparison between Puppet and Chef is presented, highlighting the architectural difference with Chef having an additional component called workstation, and Chef's compatibility with major cloud platform providers."]}], 'highlights': ['Proper configuration management allowed NYSE to recover from a 90-minute trading halt, preventing further severe consequences.', 'Puppet is the most mature and widely used configuration management tool, with support for major cloud platforms like AWS and Azure.', 'The chapter provides an introduction to Puppet and configuration management, covering the need for configuration management, the problems faced by industries before its introduction, and an overview of the Puppet architecture and its components, followed by a hands-on demonstration of deploying MySQL and PHP using Puppet.', 'Infrastructure as code ensures consistency across different environments (dev, test, and product) by enabling the same computing environment for all three environments.', 'The Puppet master-slave architecture involves the exchange of facts, compilation of a catalog, and secure communication using SSL between the master and slave.', 'Puppet modules are self-contained bundles of code and data used for organizing puppet code into multiple manifest, and are present in the directory slash hc slash Puppet slash modules.', "The deployment of PHP and MySQL using Puppet involves downloading the respective modules from PuppetForge and declaring the classes in the manifest files, followed by executing the command 'puppet agent -t' to pull the configurations and deploy PHP and MySQL.", 'Downloading predefined modules for MySQL and PHP from PuppetForge', 'Manifest is the native language for Puppet programs, defining the configuration details for Puppet slaves in the Puppet master.', "A comparison between Puppet and Chef is presented, highlighting the architectural difference with Chef having an additional component called workstation, and Chef's compatibility with major cloud platform providers."]}