We may earn an affiliate commission when you visit our partners.
Course image
Anh Le and Max Kraev

Explore Infrastructure as Code concepts without installing anything!

This course is designed for beginning learners, providing a solid foundation of managing cloud resources using Infrastructure as Code techniques. Some of these techniques include: Ansible, Docker, Kubernetis, and Terraform. The modules in this course cover the configuration of containers, deploying those containers, and finally configuring the cloud. At the end of the course, learners will be able to directly implement these techniques to help them manage their own cloud resources.

Read more

Explore Infrastructure as Code concepts without installing anything!

This course is designed for beginning learners, providing a solid foundation of managing cloud resources using Infrastructure as Code techniques. Some of these techniques include: Ansible, Docker, Kubernetis, and Terraform. The modules in this course cover the configuration of containers, deploying those containers, and finally configuring the cloud. At the end of the course, learners will be able to directly implement these techniques to help them manage their own cloud resources.

To allow for a truly hands-on, self-paced learning experience, this course is video-free. Assignments contain short explanations with images and suggested exploration examples, building a deeper understanding by doing. You'll benefit from instant feedback from a variety of assessment items along the way, gently progressing from quick understanding checks (multiple choice, fill in the blank, and un-scrambling answer blocks) to small, approachable exercises that take minutes instead of hours.

Enroll now

What's inside

Syllabus

Configure the Environment
Welcome to Week 1 of the Intro to Managing Resources Using Infrastructure-as-Code course. These assignments cover how to manually configure a system with Bash scripts, automate the process with Ansible, and build specific environments with Docker. The module ends with graded exercises.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Taught by Anh Le and Max Kraev, who are recognized for their work in infrastructure as code management
Explores infrastructure as code concepts that include Ansible, Docker, Kubernetes, and Terraform, which are highly relevant to cloud computing
Builds a strong foundation for beginners in cloud resource management using infrastructure as code techniques
Instruction is delivered in a text-based format with assignments, exercises, and graded exercises, providing a self-paced, hands-on learning experience

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Intro to iac: hands-on & foundational

According to students, this course provides a solid and practical foundation in Infrastructure as Code, covering key tools like Ansible, Docker, Kubernetes, and Terraform. Learners appreciate its hands-on, self-paced approach, emphasizing practical application over theory, and benefiting greatly from the interactive environment and instant feedback on assignments. Many found it excellent for beginners to grasp core concepts and gain confidence. However, recent reviews highlight a significant concern: the lab environments are frequently broken or buggy, leading to considerable frustration and making it difficult to complete exercises, significantly detracting from the otherwise strong learning experience.
Interactive platform provides valuable immediate assessment.
"The platform was really good... the interactive environment and instant feedback are great."
"I loved this course... instant feedback... It's exactly what I needed."
"The hands-on approach and instant feedback really helped me grasp the concepts."
"The labs are easy to follow... and the platform is very intuitive and user-friendly."
Provides a clear, solid introduction for new learners.
"A fantastic course to learn IaC and the environment... good for beginners, easy to grasp."
"Very good course for anyone who is looking to learn the basic concepts of IaC."
"As a complete beginner, this course was perfect... It provides a strong foundation and practical skills."
"This course is the best way to get started with IaC and get a good understanding of the topics."
Excellent for practical, applied learning in IaC.
"This course gave a great introduction... The labs were helpful to solidify the learning... it helped me understand the concepts."
"I loved this course, it was very hands-on with instant feedback, very practical. It's exactly what I needed for getting started with IaC."
"The material is concise and very practical, not just theory but practical application. I feel much more confident."
"I learned how to apply the knowledge directly, the labs were really helpful and gave me good practice."
Some learners faced minor environment issues.
"The lab environment can be a bit slow sometimes, which caused some minor delays."
"Labs are good... but sometimes the environment is a bit unstable, requiring patience."
"I encountered a few minor issues with the environment that required some troubleshooting on my end."
"Some labs were a bit tricky to get working perfectly, but it was still a valuable learning experience."
Recent and significant issues with non-functional labs.
"The material of the course is good... but the labs are broken and bugged and make it very frustrating... I spend more time fixing the labs instead of learning IaC."
"Labs are totally broken, and it's impossible to follow the course... It has been a terrible experience."
"It's almost impossible to actually complete the course due to the completely broken labs... I wasted almost two weeks trying to fix these labs."
"Absolutely terrible experience with the labs. They are constantly breaking and the exercises don't work. It's impossible to progress."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Intro to Managing Resources Using Infrastructure-as-Code with these activities:
Review Bash Scripting
Going over Bash Scripting will help you with the automation of tasks in this course
Browse courses on Bash Scripting
Show steps
  • Review your notes or online tutorials on Bash scripting.
  • Practice writing some simple Bash scripts.
  • Run your Bash scripts to make sure they work.
Form a study group with other students
A study group will keep you accountable to study and help you stay on top of the course material
Show steps
  • Find other students who are taking the same course.
  • Set up a regular meeting time and place.
  • Review the course material together.
  • Help each other with assignments.
Follow YouTube tutorials on Docker
Watching tutorials on this will enhance your understanding of Docker and help you master it
Browse courses on Docker
Show steps
  • Search for YouTube tutorials on Docker.
  • Choose a few tutorials that look interesting.
  • Follow the steps in the tutorials.
  • Experiment with the docker commands.
  • Deploy a simple application using docker.
Three other activities
Expand to see all activities and additional details
Show all six activities
Practice writing Ansible playbooks
Writing Ansible playbooks will help you develop your automation skills
Browse courses on Ansible
Show steps
  • Find a simple task to automate.
  • Write an Ansible playbook to automate the task.
  • Test the playbook.
  • Deploy the playbook.
Attend a Kubernetes workshop
If you are looking to enhance your understanding of Kubernetes and get hands-on experience, this is the right activity for you
Browse courses on Kubernetes
Show steps
  • Search for Kubernetes workshops in your area.
  • Register for a workshop.
  • Attend the workshop.
  • Practice what you learned in the workshop.
Build a website using Docker Compose
You'll get hands-on experience with Docker Compose and web development as well as reinforce your understanding of Docker
Browse courses on Docker Compose
Show steps
  • Choose a simple web application to build.
  • Create a Dockerfile for the application.
  • Create a docker-compose.yml file to define the application's services.
  • Build the docker images.
  • Run the application using docker-compose.

Career center

Learners who complete Intro to Managing Resources Using Infrastructure-as-Code will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
A DevOps Engineer is responsible for the design, implementation, and maintenance of software systems. This course can help learners build a strong foundation in the use of Infrastructure as Code techniques, which are essential for automating and managing complex software systems. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the DevOps field. By completing this course, learners will gain the skills and knowledge necessary to succeed as a DevOps Engineer.
Cloud Architect
A Cloud Architect is responsible for designing, implementing, and managing cloud computing solutions. This course can help learners build a strong foundation in the use of Infrastructure as Code techniques, which are essential for automating and managing cloud resources. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the cloud computing field. By completing this course, learners will gain the skills and knowledge necessary to succeed as a Cloud Architect.
Software Engineer
A Software Engineer is responsible for designing, developing, and maintaining software applications. This course can help learners build a strong foundation in the use of Infrastructure as Code techniques, which can be used to automate and manage the deployment and configuration of software applications. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the software development field. By completing this course, learners will gain the skills and knowledge necessary to succeed as a Software Engineer.
System Administrator
A System Administrator is responsible for the maintenance and operation of computer systems. This course can help learners build a strong foundation in the use of Infrastructure as Code techniques, which can be used to automate and manage the configuration of computer systems. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the system administration field. By completing this course, learners will gain the skills and knowledge necessary to succeed as a System Administrator.
Network Engineer
A Network Engineer is responsible for the design, implementation, and maintenance of computer networks. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of computer networks. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the network engineering field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Network Engineer.
Security Engineer
A Security Engineer is responsible for the design, implementation, and maintenance of computer security systems. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of computer security systems. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the security engineering field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Security Engineer.
Database Administrator
A Database Administrator is responsible for the design, implementation, and maintenance of database systems. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of database systems. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the database administration field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Database Administrator.
Data Scientist
A Data Scientist is responsible for the collection, analysis, and interpretation of data. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of data science environments. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the data science field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Data Scientist.
Machine Learning Engineer
A Machine Learning Engineer is responsible for the design, implementation, and maintenance of machine learning systems. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of machine learning systems. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the machine learning field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Machine Learning Engineer.
IT Manager
An IT Manager is responsible for the planning, implementation, and management of information technology systems. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of IT systems. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the IT management field. By completing this course, learners may gain the skills and knowledge necessary to succeed as an IT Manager.
Project Manager
A Project Manager is responsible for the planning, implementation, and management of projects. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of project environments. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the project management field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Project Manager.
Business Analyst
A Business Analyst is responsible for the analysis and improvement of business processes. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of business processes. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the business analysis field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Business Analyst.
Technical Writer
A Technical Writer is responsible for the creation and maintenance of technical documentation. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of technical documentation. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the technical writing field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Technical Writer.
Sales Engineer
A Sales Engineer is responsible for the sale and support of technical products and services. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of technical products and services. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the sales engineering field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Sales Engineer.
Quality Assurance Engineer
A Quality Assurance Engineer is responsible for the testing and validation of software and hardware products. This course may be useful for learners who want to learn about the use of Infrastructure as Code techniques to automate and manage the configuration of testing and validation environments. The course covers topics such as Ansible, Docker, Kubernetes, and Terraform, which are all widely used tools in the quality assurance engineering field. By completing this course, learners may gain the skills and knowledge necessary to succeed as a Quality Assurance Engineer.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Intro to Managing Resources Using Infrastructure-as-Code.
Highly recommended companion to the containerization and orchestration portions of the course.
Great fit for the Ansible section of the course. It practical guide with plenty of exercises.
Is an excellent resource for the Docker portion of the course and has been used as a textbook in university programs.
Great fit for the Terraform section of the course and is recommended reading for anyone who wants to use Terraform in a practical setting.
Is recommended for those who are interested in learning more about site reliability engineering (SRE) principles and practices.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser