Description
General description:
This training class teaches the tools, best practices and skills to automate your FreeBSD servers. Training will be loaded with practical real world tools and techniques. This training will send you back to work with immediately useful hands on experience to implement Devops in your IT projects.
Course launch date: 05/12/2016, Self-Paced
After completing it, you will receive a certificate with 12 CPE credits!
Duration: 18 hrs.
Download free pre-course materials here >> CLICK
What will you learn?
- Learn what Devops is and its importance.
- Learn to leverage infrastructure automation using the leading configuration management tool: Chef.
- How it’s changing the industry.
- Transform IT from an unpredictable environment to a stable, repeatable and scalable environment.
- Integrating configuration tools into the IT workflow.
What skills will you gain?
Participants will gain the following technical skills:
- Configure development workstation.
- Understand the Chef architecture.
- Understanding different resources and automation.
What will you need?
- A Laptop/Workstation with BSD Operating system. This will be used as a local development environment.
- The target for automation would be a FreeBSD 11 node.
- Hardware requirement: Decent machine with capability to run FreeBSD, refer to minimum system requirements on the FreeBSD website.
What should you know before joining?
It would help and be preferred if the participants have prior knowledge of the following:
- Any scripting or programming knowledge. Ruby would be preferred.
- Basics of OS, networking, and server administration would be preferred.
- Any text or programming editors.
- Basic knowledge of Git version control system will be beneficial.
Syllabus:
Module 1 title: Introduction to Chef.
Module 1 description: Introduction to Devops and Chef.
Module 1 covered topics:
- What is Devops?
- What is Chef?
- An overview of Chef
- Chef Components
- Workstation
- Cookbooks
- Nodes
- Chef server
Module 1 exercises:
- Test about different components of Chef.
Module 2 title: Chef Resources
Module 2 description: Understanding Chef resources.
Module 2 covered topics:
- Resource syntax
- Common Functionality
- Different Resources in Chef.
Module 2 exercises: Cookbooks
- Identifying different types of resources.
Module 3 title: Workstation (FreeBSD)
Module 3 description: Setup the workstation as a local development environment.
Module 3 covered topics:
- Install Ruby, rubygems, Chef on FreeBSD.
- Install vim, emacs or another text/code editor of your choice.
- Create an account on hosted Chef.
- Configure and test your Chef workstation.
Module 3 exercises:
- Install the various components mentioned above and setup the local development environment.
Module 4 title: Chef Server
Module 4 description: Bootstrap a node with Chef server.
Module 4 covered topics:
- How to bootstrap a node with Chef server.
- Assign recipes in the run list.
- Converge the resources to bring the FreeBSD server to the desired state.
Module 4 exercises:
- Create an account on hosted Chef.
- Bootstrap your node.
- Assign recipes in the run_list.
- Run Chef-client on the node/FreeBSD server.
Module 5 title: Writing your first cookbook
Module 5 description: Get started with writing your first cookbook
Module 5 covered topics:
- Using Chef command line tool, create a repository.
- Create your first cookbook and write some code.
- Start a FreeBSD target node (either physical or virtual machine) and run your code on it.
- Write more code using resources and run it.
Module 5 exercises:
- Create a repo.
- Create a cookbook.
- Update the code.
- Run the code.
Module 6 title: Deep Dive into Chef cookbook development
Module 6 description: Recipes, Attributes, Metadata, Templates, etc.
Module 6 covered topics:
- Writing recipes and splitting the cookbook into multiple files.
- Using attributes, attribute precedence and overriding attributes.
- Using templates.
- Dependency management with metadata and Berkshelf.
- Using community cookbooks from Supermarket.
Module 6 exercises:
- Create different recipes.
- Use attributes in your recipes.
- Create templates and use attributes.
- Use Berksfile for dependency management.
Module 7 title: Advanced Chef concepts
Module 7 description: Roles, Environment, Search, etc.
Module 7 covered topics:
- Understand and create roles.
- Understand, create and use environments.
- Understand and use search with knife and inside cookbooks to make your cookbooks dynamic.
- Understand, create and use Databags for storing arbitrary data.
Module 7 exercises:
- Create a repo.
- Create cookbook.
- Update the code.
Module 8 title: Best Practices
Module 8 description: Using syntax and linting tools like: Foodcritic and Rubocop
Module 8 covered topics:
- Using Foodcritic to write better cookbooks.
- Using Rubocop to write better ruby code.
- Debugging using Chef-shell.
Module 8 exercises:
- Practice using Foodcritic and fix the cookbooks.
- Practice using Rubocop and fix the ruby code.
- Practice Chef-shell.
Module 9 title: Testing
Module 9 description: Writing unit test and integration tests.
Module 9 covered topics:
- Introduction to ChefSpec for unit testing.
- Introduction to Inspec for integration testing.
Module 9 exercises:
- Write unit test.
- Write integration tests.
About the Instructor:
Arun Tomar is an Entrepreneur, Technology evangelist, Solution Architect, Consultant & Corporate Trainer with deep expertise in designing and providing end to end solutions for enterprise IT Infrastructure requirements. He has more than 12 years of experience. He is currently the Director and CTO at AutomateHub Service, Inc., Canada.