/python-for-devops

Learn Python from DevOps Engineer point of you.

Primary LanguagePythonMIT LicenseMIT

Python Zero to Hero for DevOps Engineers

Screenshot 2023-10-12 at 9 57 40 PM

Day 1: Introduction to Python, Installation, and Configuration

  • Introduction to Python and its role in DevOps.
  • Installing Python and setting up a development environment.
  • Writing your first Python program.

Day 2: Intro to Datatypes, Working with Strings and Numbers

  • String data type in Python.
  • String manipulation and formatting.
  • Regular expressions for text processing.
  • Numeric data types in Python (int, float).

Day 3: Keywords and Variables

  • Understanding variables in Python.
  • Variable scope and lifetime.
  • Variable naming conventions and best practices.
  • Practice exercises and examples:
    • Example: Using variables to store and manipulate configuration data in a DevOps context.

Day 4: Functions, Modules and Packages

  • What are differences between function, modules and packages ?
  • How to import a package ?
  • What are Python workspaces ?

Day 5: Environment Variables and Command Line Arguments

  • Reading and writing environment variables in Python.
  • Using the os and dotenv modules.
  • Securing sensitive information in environment variables.
  • Handling command line arguments in Python.
  • Practice exercises and examples:
    • Example: Developing a Python script that accepts command line arguments to customize DevOps automation tasks.

Day 6: Operators

  • Introduction to operators in Python.
  • Arithmetic, comparison, and logical operators.
  • Bitwise and assignment operators.
  • Practice exercises and examples:
    • Example: Using operators to perform calculations and comparisons in a DevOps script.

Day 7: Conditional Handling using if, elif and else

  • Conditional statements (if, elif, else).
  • Practice exercises and examples:
    • Example: Automating a server shutdown if it's running out of disk space.

Day 8: Working with Lists (Part 1)

  • Understanding lists and list data structure.
  • List manipulation and common list operations.
  • Practice exercises and examples:
    • Example: Writing a script to manage a list of user accounts in a DevOps environment.

Day 9: Loops

  • Loops in Python (for and while).
  • Loop control statements (break, continue).
  • Practice exercises and examples:
    • Example: Automating a log file analysis with a loop to find errors.

Day 10: Working with Lists (Part 2)

  • List comprehensions.
  • Nested lists and advanced list operations.
  • Practice exercises and examples:
    • Example: Parsing a complex configuration file with nested lists.

Day 11: Working with Dictionaries and Sets

  • Dictionaries and key-value pairs.
  • Sets and set operations.
  • Practice exercises and examples:
    • Example: Managing a dictionary of server configurations and optimizing retrieval.

Day 12: Functions and Modules

  • Introduction to functions in Python.
  • Writing functions and function parameters.
  • Return values and modular code.
  • Practice exercises and examples:
    • Example: Creating a function to automate server status checks.

Day 13: Functions and Modules (Part 2)

  • Advanced function topics (recursion, lambda functions).
  • Function libraries and built-in functions.
  • Practice exercises and examples:
    • Example: Developing a library of custom functions for DevOps automation.

Day 14: Python Libraries for DevOps (Part 1)

  • Introduction to external libraries like Paramiko, Fabric, and Boto3.
  • Automating SSH connections with Paramiko.
  • Running commands on remote servers.
  • Practice exercises and examples:
    • Example: Using Paramiko to create a secure remote backup solution.

Day 15: Python Libraries for DevOps (Part 2)

  • Using Fabric for remote task automation.
  • AWS automation with Boto3.
  • Managing EC2 instances, S3 buckets, and more.
  • Practice exercises and examples:
    • Example: Creating a Fabric script for deploying applications to remote servers.

Day 16: Working with RESTful APIs

  • Introduction to RESTful APIs.
  • Making HTTP requests using Python.
  • Parsing JSON responses and error handling.
  • Practice exercises and examples:
    • Example: Developing a script to monitor RESTful API endpoints for your DevOps tools.

Day 17: Data Serialization and Configuration Files

  • Serializing and deserializing data (JSON, YAML).
  • Managing configuration data.
  • DevOps use cases for configuration files.
  • Practice exercises and examples:
    • Example: Building a configuration manager to handle application settings in JSON format.

Day 18: Automation with Cron Jobs

  • Scheduling automated tasks using cron.
  • Creating Python scripts for scheduled automation.
  • Handling periodic tasks and reports.
  • Practice exercises and examples:
    • Example: Using cron and Python to schedule regular backups of your data.

Day 19: Python Interview Questions & Answers