دوره ی آنلاین مهندسی دواپس

DevOps یکی از حوزه های داغ این روزهاست که طرفداران زیادی رو به خود جذب کرده

اما DevOps یک role و عنوان شغلی نیست , یک فرهنگ است که به یک چیز هم تاکید بسیاری دارد :

تعامل بین تیم های Developerو Operation

تا کد Developer به محض ورود به Version Control ای همچون Git قابلیت Build ,Test و Deploy شدن به صورت اتوماتیک را داشته باشد .

گاه میشنویم که DevOps یک سری ابزار است اما این ابزار ها هستند که کمک میکنند تا این فرهنگ و هدف ایجاد شود .

توضیحات

125 ساعت
برگزاری آنلاین (ضبط میشود)
یک شنبه ها و 5 شنبه ها ساعت 4 تا 9 شب
شروع از 30 فروردین ۱۴۰۳
پشتیبان اختصاصی دوره
مدرک MPT اتریش

معرفی دوره ی مهندسی دواپس

DevOps از حوزه های داغ و همینطور  پر طرفدار و جدید این روز هاست تا انجایی که بسیاری از sysadmin ها در حال مهاجرت به سمت DevOps Engineer شدن هستند و یا با توجه به وجود Micro service ها ملزم به یادگیری ابزار های مربوط به حوزه DevOps همچون Docker ,Ansible ,Terraform و … هستند .

ما در سانانت تلاش کردیم تا دوره مهندسی دواپس را به طور جامع طراحی کنیم تا افراد علاقه مند تنها با داشتن پیش نیاز Lpic1 و یا آشنایی با لینوکس وارد دوره شوند و در انتها با عنوان Junior DevOps  وارد بازار کار شوند .

در این دوره ابتدا به سراغ لینوکس خواهیم رفت .

به عنوان DevOps Engineer چه سطحی از Linux را باید داشته باشید؟در این دوره تمامی این تخصص هارا پوشش خواهیم داد و سپس به سراغ ابزار های DevOps همچون داکر , Git , Gitlab ,Kubernetes و … خواهیم رفت که در ادامه میتوانید سرفصل هارا مشاهده کنید .

در دوره ی مهندسی DevOps  تمامی سرفصل ها با توجه به بازار کار میباشد و خدا را شاکر هستیم که خروجی دوره های پیشین بسیار مثبت بوده .

مدت این دوره ۱۲۵ ساعت است , اما چطور همواره بتوانیم انگیزه و تمرکز خود را در طول دوره حفظ کنیم؟

با توجه به تجربه های پیشین در این دوره کوچ اختصاصی با خانم یگانه حسین خانی داریم که جلسات ۲ بار در ماه و در روز های ۳ شنبه برگزار می شود که میتواند کمک بسیاری برای ادامه مسیر کند که سرفصل ها را میتوانید در ادامه مشاهده کنید .

ویٰژگی های دوره :

  • ۱-جلسات حل تمرین 
  • ۲-جلسات کوچینگ 
  • ۳-اسلاید های اختصاصی 
  • ۴-لابراتوار در دیتاسنتر 

پس از اتمام دوره مدرک MPT اتریش به شما اعطا خواهد شد

ورود و دسترسی به دوره

پس از ثبت نام از طریق زیر میتوانید وارد دوره شوید:

ورود به کلاس آنلاین

از طریق اسکای روم

خصوصی
محتوای این درس فقط به خریداران نمایش داده میشود . برای دسترسی کامل به محتوای دوره آن را خریداری کنید.
ورود به جلسات ضبط شده

از طریق اسپات پلیر

خصوصی
محتوای این درس فقط به خریداران نمایش داده میشود . برای دسترسی کامل به محتوای دوره آن را خریداری کنید.
گروه تلگرام

ویژه دانشجویان دوره

خصوصی
محتوای این درس فقط به خریداران نمایش داده میشود . برای دسترسی کامل به محتوای دوره آن را خریداری کنید.
دانلود فایل ها

دانلود فایل جلسات

خصوصی
محتوای این درس فقط به خریداران نمایش داده میشود . برای دسترسی کامل به محتوای دوره آن را خریداری کنید.

سرفصل های دوره

لینوکس (Lpic2):

Partitioning , File system, LVM
      1. Introduction to Disk Partitioning

        • Overview of disk partitioning
        • Importance of partitioning in system setup
      2. Master Boot Record (MBR)

        • Explanation of MBR structure and layout
        • Limitations of MBR partitioning
        • MBR partition types (primary, extended, logical)
      3. GUID Partition Table (GPT)

        • Introduction to GPT and its advantages over MBR
        • Understanding GPT structure and layout
        • GPT partition types (primary, secondary, logical)
      4. Differences Between MBR and GPT

        • Comparing MBR and GPT partitioning schemes
        • Limitations and benefits of each partitioning scheme
        • Choosing between MBR and GPT for different use cases
      5. Partitioning Tools and Utilities

        • Overview of partitioning tools (fdisk, parted, gdisk)
        • Using command-line utilities for disk partitioning
        • GUI-based partitioning tools (GParted, KDE Partition Manager)
      6. Disk Partitioning in Linux Installation

        • Disk partitioning during Linux installation
        • Guided vs. manual partitioning options
        • Best practices for partitioning Linux systems
      7. Logical Volume Manager (LVM)

        • Introduction to LVM and its advantages
        • Logical Volume Management concepts (Physical Volumes, Volume Groups, Logical Volumes)
        • Benefits of LVM over traditional partitioning schemes
      8. Creating and Managing LVM Volumes

        • Setting up Physical Volumes (PVs)
        • Creating Volume Groups (VGs) and adding PVs to VGs
        • Creating Logical Volumes (LVs) from VGs
Systemd system and service manager
  • Introduction to systemd

    • Overview of systemd and its role in modern Linux distributions
    • Advantages of systemd over traditional init systems
  • Basics of systemd Services

    • Understanding systemd service units
    • Types of systemd services (simple, forking, oneshot, etc.)
    • Anatomy of a systemd service unit file
  • Creating and Managing systemd Services

    • Creating a basic systemd service unit
    • Starting, stopping, restarting, and reloading services
    • Enabling and disabling services to start at boot
  • Service Dependencies and Ordering

    • Defining service dependencies with Requires, Wants, Before, After, etc.
    • Controlling service startup order
    • Handling service dependencies dynamically with systemd.target units
  • Logging and Monitoring systemd Services

    • Viewing service logs with journalctl
    • Monitoring service status and health
    • Setting up service-specific logging options
  • Environment Variables and Configuration for Services

    • Passing environment variables to systemd services
    • Using environment files for service configuration
    • Managing service-specific configuration options
  • Resource Control and Limiting

    • Configuring resource limits for systemd services (CPU, memory, etc.)
    • Setting service execution priorities
    • Controlling resource usage with systemd resource control directives
  • Managing Multi-Instance Services

    • Introduction to multi-instance services
    • Creating and configuring multiple instances of a service
    • Managing and monitoring multiple service instances
  • Template Units for Multi-Instance Services

    • Creating template unit files for multi-instance services
    • Dynamic instance naming and instantiation
    • Modifying and customizing template units for specific instances
  • Writing systemd Service Unit for Flask API

    • Understanding systemd service units
    • Writing systemd service unit file for Flask API
    • Configuring service options such as restart policies and environment variables
  • Setting up Multi-Instance Flask API

    • Understanding the concept of multi-instance Flask API
    • Writing multiple configuration files for different instances
    • Starting multiple instances of Flask API with systemd
  •  
Nginx
  • Installation and Basic Configuration
    • Installing Nginx on Different Platforms
    • Introduction to nginx.conf Configuration File
    • Basic Server Block Configuration
  • HTTP Server
    • Handling HTTP Requests
    • Location Blocks and Directives
    • Static File Serving
  • Reverse Proxy
    • Configuring Nginx as a Reverse Proxy
    • Proxy_pass Directive
    • Load Balancing Methods
  • SSL/TLS Configuration
    • Generating SSL Certificates
    • Configuring HTTPS
    • SSL/TLS Best Practices
  • Advanced Configuration Directives
    • Rewrite Rules
    • Access Control
    • Rate Limiting
  • Caching
    • Proxy Cache
    • Fastcgi_cache
    • Cache Invalidation
  • Performance Optimization
    • Tuning Worker Processes
    • Connection Handling
    • Gzip Compression
  • Security Features
    • Securing Server Blocks
    • Preventing Common Attacks
    • Using HTTP Headers for Security
  • High Availability and Scalability
    • Load Balancing Strategies
    • Session Persistence
    • Clustering
  • Monitoring and Logging
    • Nginx Access and Error Logs
    • Monitoring Tools and Techniques
    • Log Analysis
  • Integration with Other Technologies
    • PHP-FPM Integration
    • Node.js Integration
    • Caching Solutions Integration
  • Introduction to High Availability with Keepalived and Nginx
    • Overview of Keepalived and its role in achieving high availability
    • Introduction to Nginx as a load balancer
    • Use cases and benefits of a highly available Nginx load balancer setup
  • Installation and Configuration of Keepalived
    • Installing Keepalived on Linux
    • Basic Configuration File (keepalived.conf)
    • Setting up Virtual IP (VIP) for Nginx load balancer
HAProxy
  • Introduction to HAProxy
    • Overview of HAProxy
    • Use cases and scenarios
  • Installation and Basic Configuration
    • Installing HAProxy on Different Platforms
    • Basic Configuration Files
    • Starting and Stopping HAProxy
  • Frontend and Backend Configuration
    • Configuring Frontend and Backend Sections
    • Bind Options and Listening Ports
    • Backend Server Configuration
  • Load Balancing Algorithms
    • Overview of Load Balancing Algorithms (Round Robin, Least Connections, Source IP Hash, etc.)
    • Configuring Load Balancing Algorithms
  • Health Checks and Monitoring
    • Implementing Health Checks for Backend Servers
    • Monitoring Backend Server Health
    • Failover Strategies
  • SSL/TLS Termination
    • SSL/TLS Offloading with HAProxy
    • SSL/TLS Configuration Options
    • Certificates and Key Management
  • High Availability Setup
    • Implementing High Availability with HAProxy
    • Active-Passive and Active-Active Configurations
    • Heartbeat and Failover Mechanisms
  •  
Bind DNS Server s
  • Introduction to BIND DNS Server
    • Overview of BIND DNS Server
    • Role and Importance of DNS in Networking
  • Installation and Basic Configuration
    • Installing BIND DNS Server on Various Platforms (Linux, Windows)
    • Configuration Files (named.conf, named.conf.options, named.conf.local)
    • Starting and Stopping BIND Service
  • DNS Zone Configuration
    • Understanding DNS Zones (Forward and Reverse Zones)
    • Configuring Forward and Reverse Zones
    • Zone Files Syntax and Records (A, CNAME, MX, NS, PTR, etc.)
  • Primary and Secondary DNS Servers
    • Configuring Primary and Secondary DNS Servers
    • Zone Transfer (AXFR and IXFR)
  • DNS Security
    • DNSSEC (Domain Name System Security Extensions)
    • TSIG (Transaction Signature) for Zone Transfers
    • ACLs (Access Control Lists) for DNS Queries
  • DNS Resolution and Forwarding
    • Configuring Forwarders in BIND
    • DNS Resolution Process in BIND
    • Recursive and Iterative Queries
  •  

Container Runtime & Container Engines :

Containerization
    • Overview of Containerization 
      • Introduction to containerization and its benefits
      • Comparison between containers and virtual machines
      • Use cases for containerization in software development and deployment
    • Container Components and Architecture 
      • Understanding the components of a container: image, container runtime, container engine
      • Exploring the architecture of container runtimes and engines
      • Overview of container orchestration and its role in managing containers at scale
Container Runtime

Understanding Container Runtimes 

        • Definition and role of container runtimes in container execution
        • Types of container runtimes: high-level and low-level runtimes
        • Comparison between container runtimes: Docker, containerd, rkt, cri-o, etc.
      • High-level Container Runtimes 
        • Exploring high-level container runtimes like Docker and containerd
        • Understanding the features and functionalities provided by high-level runtimes
        • Use cases and considerations for choosing a high-level container runtime

Docker and Docker Registry :

Docker
  • Docker

    • Overview of containerization
    • Introduction to Docker and its components
    • Docker use cases and benefits
  • Docker Architecture

    • Understanding Docker architecture (client-server model)
    • Docker Engine components (Docker daemon, REST API, CLI)
    • Containerd and other components
  • Docker Images

    • Understanding Docker images
    • Dockerfile syntax and best practices
    • Building custom Docker images
  • Docker Containers

    • Creating and running Docker containers
    • Managing container lifecycle (start, stop, restart)
    • Inspecting container logs and status
  • Docker Log Drivers

    • Overview of Docker log drivers
    • Different log driver options (json-file, syslog, journald, fluentd, etc.)
    • Configuring logging options for Docker containers
  • Docker Networking

    • Overview of Docker networking modes (bridge, host, overlay, macvlan)
    • Docker networking drivers and plugins
    • Configuring container networking (port mapping, network aliases)
  • Docker Storage

    • Understanding Docker storage drivers
    • Persistent storage options for Docker containers (volumes, bind mounts)
    • Docker volume management and backup strategies
  • Docker Volumes

    • Introduction to Docker volumes
    • Creating and managing Docker volumes
    • Volume types and usage scenarios (local, named, anonymous)
  • Docker Compose

    • Introduction to Docker Compose
    • Writing Docker Compose YAML files
    • Managing multi-container applications with Docker Compose
  • Docker Swarm

    • Introduction to Docker Swarm
    • Setting up Docker Swarm cluster
    • Deploying and managing services with Docker Swarm
  • Docker Orchestration with Kubernetes

    • Comparing Docker Swarm and Kubernetes
  • Docker API

    • Overview of Docker Remote API
    • Using Docker Remote API for container management
    • Building applications with Docker API
Docker Registry
  • Docker Registry

    1. Introduction to Docker Registry

      • Overview of Docker Registry and its role in containerization
      • Purpose and benefits of using Docker Registry
    2. Setting up a Docker Registry

      • Installing and configuring a private Docker Registry
      • Securing Docker Registry with authentication and access control
    3. Pushing and Pulling Images

      • Pushing Docker images to a private Docker Registry
      • Pulling Docker images from a private Docker Registry
      • Managing image versions and tags in Docker Registry

    Harbor:

    1. Introduction to Harbor

      • Overview of Harbor as an enterprise-class container registry
      • Features and benefits of using Harbor for container management
    2. Installing and Configuring Harbor

      • Deploying Harbor in Kubernetes or standalone mode
      • Configuring Harbor projects, users, and permissions
    3. Image Management with Harbor

      • Uploading and downloading images to/from Harbor
      • Scanning images for vulnerabilities with Harbor's integrated security features
    4. Replication and High Availability

      • Configuring image replication between Harbor instances
      • Implementing high availability and disaster recovery strategies with Harbor
    5. Harbor as a Helm Chart Repository

      • Using Harbor as a Helm chart repository for Kubernetes applications
      • Managing Helm charts and releases with Harbor

API :

API, REST API, and HTTP Requests
    • Introduction to APIs 

        • ? What is an API
        • Types of APIs (REST, SOAP, GraphQL, etc.)
        • Importance of APIs in modern software development
      • understanding REST API 
        • Principles of RESTful architecture
        • Key components: Resources, URIs, HTTP methods, Representations (JSON, XML)
        • Characteristics of RESTful APIs: Statelessness, Uniform Interface, Layered System, etc.
      • HTTP Basics 
        • Overview of HTTP (Hypertext Transfer Protocol)
        • Understanding HTTP methods: GET, POST, PUT, DELETE, PATCH
        • HTTP status codes and their meanings (2xx, 3xx, 4xx, 5xx)
        • Hands-on exercises: Making HTTP requests using tools like cURL, Postman, or browser Developer Tools

      HAProxy

Git and Gitlab :

Git
        1. Introduction to Version Control Systems (VCS)

          • Overview of version control
          • Importance of version control in software development
          • Introduction to distributed version control systems (DVCS) like Git
        2. Git Basics

          • Understanding the Git workflow
          • Git terminology (repository, commit, branch, merge, etc.)
          • Installing Git and setting up Git configurations
        3. Git Repository

          • Initializing a Git repository
          • Cloning existing repositories
          • Adding and removing files from the staging area
        4. Git Commits

          • Committing changes to the repository
          • Writing good commit messages
          • Amending and squashing commits
        5. Branching and Merging

          • Creating and managing branches
          • Switching between branches
          • Merging branches and resolving merge conflicts
        6. Remote Repositories

          • Adding remote repositories
          • Pushing and pulling changes from remote repositories
          • Managing upstream branches
        7. Collaborating with Git

          • Forking and cloning repositories from remote platforms (e.g., GitHub, GitLab)
          • Pull requests and code reviews
          • Managing repository permissions and access control
Gitlab
      • Introduction to GitLab

        • Overview of GitLab and its features
        • Key components of GitLab (repositories, issues, merge requests, pipelines, etc.)
        • Comparison with other Git hosting platforms (e.g., GitHub, Bitbucket)
      • Setting up GitLab

        • Installing and configuring GitLab (self-hosted or cloud-based)
        • Creating user accounts and managing access permissions
        • Configuring GitLab projects and groups
      • GitLab Repositories

        • Creating and managing Git repositories in GitLab
        • Cloning repositories from GitLab
        • Pushing and pulling changes to/from GitLab repositories
      • GitLab Issues

        • Managing project issues and feature requests
        • Creating and assigning issues
        • Tracking issue progress and status updates
      • GitLab Merge Requests

        • Introduction to merge requests (MRs) in GitLab
        • Creating merge requests for code review and collaboration
        • Reviewing and approving merge requests
      • GitLab Pipelines

        • Understanding GitLab CI/CD pipelines
        • Configuring CI/CD pipelines with .gitlab-ci.yml files
        • Running tests, building artifacts, and deploying applications using pipelines
      • GitLab Runners and Executors

        • Introduction to GitLab Runners
        • Configuring and registering GitLab Runners
        • Understanding different types of executors (e.g., shell, Docker, Kubernetes)
      •  
      • GitLab Snippets

        • Sharing code snippets and examples in GitLab
        • Creating, editing, and managing snippets
        • Collaborating on snippets with team members
      • GitLab Security Features

        • Overview of GitLab's security capabilities
        • Security scanning for vulnerabilities (SAST, DAST, Dependency scanning)
        • Implementing security policies and best practices
      • GitLab Integrations

        • Integrating GitLab with other tools and services (e.g., Slack, JIRA, Jenkins)
        • Configuring webhooks and service integrations
        • Streamlining workflows with third-party integrations
      • GitLab API

        • Introduction to GitLab API
        • Authentication and access control with GitLab API
        • Using GitLab API for automation, scripting, and integration with external systems
      • Integration with Kubernetes

        • Overview of integrating GitLab with Kubernetes
        • Deploying applications to Kubernetes clusters from GitLab CI/CD pipelines
        • Managing Kubernetes resources through GitLab's interface
      •  

Kubernetes and Rancher :

Kubernetes
      • Overview of Kubernetes (K8s)

        • Introduction to Kubernetes
        • Key features and benefits of Kubernetes
        • Use cases and industry adoption of Kubernetes
      • Kubernetes Components

        • Master components (kube-apiserver, kube-controller-manager, kube-scheduler, etcd)
        • Node components (kubelet, kube-proxy, container runtime)
        • Add-ons (DNS, Dashboard, Ingress controller, etc.)
      • Cluster Architecture

        • Understanding Kubernetes cluster architecture
        • Master node and worker node roles
        • High availability and fault tolerance considerations
      • Namespace

        • Introduction to Kubernetes namespaces
        • Creating and managing namespaces
        • Namespace isolation and resource quotas
      • Labels

        • Understanding labels in Kubernetes
        • Label selectors and matching
        • Best practices for labeling resources
      • Pod VS Container

        • Difference between a Pod and a Container
        • Why Pods are used in Kubernetes
        • Pod design patterns and best practices
      • Init Containers

        • Introduction to init containers
        • Use cases for init containers
        • Writing and configuring init containers in Kubernetes manifests
      • Controllers

        • Overview of Kubernetes controllers (ReplicaSet, Deployment, StatefulSet, DaemonSet)
        • Role and responsibilities of controllers
        • Use cases and best practices for different types of controllers
      • Probes

        • Understanding Kubernetes probes (liveness, readiness, startup probes)
        • Configuring probe parameters
        • Handling container lifecycle events with probes
      • Networking

        • Overview of Kubernetes networking model
        • Kubernetes Services for service discovery and load balancing
        • Ingress and Ingress Controllers for HTTP/HTTPS routing
        • Using Ingress resources to define routing rules
      • Ingress Controller

        • Introduction to Ingress Controllers
        • How Ingress Controllers work in Kubernetes
        • Configuring and deploying Ingress Controllers
      • Nginx Ingress Controller

        • Introduction to Nginx Ingress Controller
        • Installing and configuring Nginx Ingress Controller
        • Advanced features and customization options
      • Traffic Ingress Controller

        • Overview of Traffic Ingress Controller
        • Features and advantages of Traffic Ingress Controller
        • Installation and configuration steps
      • CNI Types (Container Network Interface)

        • Introduction to CNI and its importance in Kubernetes networking
        • Overview of different CNI types (e.g., Calico, Flannel, Weave Net, Cilium)
        • Features, use cases, and considerations for each CNI type
      • Services

        • Introduction to Kubernetes Services
        • Types of Services (ClusterIP, NodePort, LoadBalancer, ExternalName)
        • Use cases and considerations for each type of Service
      • RBAC (Role-Based Access Control)

        • Introduction to RBAC in Kubernetes
        • Role, RoleBinding, ClusterRole, and ClusterRoleBinding resources
        • Implementing RBAC policies for users and service accounts
      • Secret

        • Managing sensitive information with Kubernetes secrets
        • Creating, accessing, and updating secrets
        • Best practices for securing and managing secrets
      • ConfigMap

        • Managing configuration data with Kubernetes ConfigMaps
        • Creating, accessing, and updating ConfigMaps
        • Using ConfigMaps to configure applications
      • PVC (Persistent Volume Claim) and PV (Persistent Volume)

        • Introduction to Persistent Volumes (PVs) and Persistent Volume Claims (PVCs)
        • Configuring storage resources with PVs and PVCs
        • Dynamically provisioning storage with StorageClasses
      • Taints and Tolerations and Node Selector

        • Understanding node affinity and anti-affinity with taints and tolerations
        • Using node selectors to schedule Pods onto specific nodes
        • Implementing node affinity rules for workload placement
      • Helm

        • Introduction to Helm and Helm charts
        • Managing Kubernetes applications with Helm
        • Templating and deploying complex applications with Helm charts
Rancher
      • Overview of Rancher 
        • Introduction to Rancher and its role in container orchestration and management
        • Key features and benefits of Rancher
      • Installation and Setup 
        • Options for installing Rancher: Docker, Kubernetes, Helm charts
        • Step-by-step guide to installing Rancher
        • Initial configuration and setup

      Managing Clusters and Workloads 

      • Adding and Managing Clusters 
        • Adding Kubernetes clusters to Rancher
        • Exploring Rancher's multi-cluster management capabilities
        • Hands-on exercises: Adding and managing clusters in Rancher
      • Deploying Workloads 
        • Deploying containerized workloads (applications, microservices) onto Kubernetes clusters managed by Rancher
        • Demonstration of deploying workloads using Rancher UI and CLI
      • Advanced Rancher Features 
        • Exploring advanced Rancher features such as monitoring, logging, and scaling
        • Demonstrating Rancher's integration with other tools and services
      • Best Practices and Tips 
        • Best practices for managing Kubernetes clusters and workloads with Rancher
        • Tips for troubleshooting common issues and optimizing Rancher deployments


LocalStack :

AWS Fundamentals with LocalStack
        • Introduction to AWS and LocalStack 
          • Overview of AWS cloud computing and LocalStack
          • Benefits of using LocalStack for local development and testing
        • Core AWS Services with LocalStack 
          • Simulating compute services (EC2, Lambda), storage services (S3, EBS), networking services (VPC, Route 53), and database services (RDS, DynamoDB) using LocalStack
          • Hands-on exercises to provision and manage simulated AWS resources with LocalStack

        CI/CD and Infrastructure as Code with LocalStack

        • CI/CD Pipelines with LocalStack 
          • Setting up CI/CD pipelines using LocalStack and tools like CodePipeline, CodeBuild, and CodeDeploy
          • Hands-on lab to create and test CI/CD pipelines locally with LocalStack
        • Infrastructure as Code with LocalStack 
          • Writing CloudFormation templates to provision and manage resources in LocalStack
          • Deploying and managing infrastructure locally using CloudFormation with LocalStack

        Monitoring, Logging, and Security with LocalStack

Ansible and Terraform :

Ansible
      • Basics of Ansible

        1. Introduction to Ansible.

          • Overview of Ansible and its features
          • Advantages of using Ansible for automation
        2. Ansible Architecture

          • Control node and managed nodes.
          • Understanding Ansible's agentless architecture
          • Components of Ansible (control node, inventory, modules, etc.)
        3. Setting up Ansible and its Prerequisites

          • Installing Ansible on different operating systems
          • Configuring SSH keys for passwordless authentication
          • Installing Python and other dependencies

        Ansible Playbooks

        1. Writing and Organizing Playbooks

          • Structure of Ansible playbooks
          • YAML syntax and formatting
          • Defining tasks, plays, and playbooks
        2. Modules and their Usage in Playbooks

          • Overview of Ansible modules
          • Commonly used modules (e.g., file, copy, template, service)
          • Parameters and options for modules
        3. Tasks, Handlers, and Roles

          • Defining tasks and task blocks
          • Using handlers to trigger actions
          • Organizing tasks into reusable roles for better management
        4. Variables and Templates in Playbooks

          • Understanding Ansible variables
          • Using variables for dynamic configurations
          • Creating and using Jinja2 templates in playbooks
        5. Loops and Items in Playbooks

          • Using loops for iteration in playbooks
          • Iterating over lists, dictionaries, and ranges
          • Examples of loop usage in practical scenarios

        Inventory and Configuration Management

        1. Creating and Managing Inventory Files

          • Inventory file formats (INI, YAML)
          • Specifying hosts and groups in the inventory
          • Dynamic inventory and plugins
        2. Grouping Hosts and Variables

          • Organizing hosts into groups for better management
          • Group-specific variables and group_vars directory
          • Host-specific variables and host_vars directory
        3. Using Ansible Vault for Secure Variable Management

          • Encrypting sensitive data with Ansible Vault
          • Managing encrypted files and secrets
          • Decrypting and using variables securely in playbooks

        Ad-Hoc Commands

        1. Running Ad-Hoc Commands with Ansible

          • Overview of ad-hoc commands in Ansible
          • Syntax and usage of ad-hoc commands
          • Practical examples of ad-hoc tasks (e.g., gathering facts, running commands)
        2. Common Ad-Hoc Modules

          • Exploring common ad-hoc modules (ping, shell, command, etc.)
          • Use cases and examples for each ad-hoc module
          • Advantages and limitations of ad-hoc commands
Terraform
      • Introduction to Terraform

        1. What is Terraform

          • Overview of Terraform and its features
          • Benefits of Infrastructure as Code (IaC) with Terraform
        2. Infrastructure as Code with Terraform

          • Understanding the concept of Infrastructure as Code (IaC)
          • Advantages of managing infrastructure with Terraform

        Terraform Basics

        1. Installing and Configuring Terraform

          • Installing Terraform on different operating systems
          • Setting up Terraform CLI and environment variables
          • Configuring backend for state management
        2. Defining Resources using HashiCorp Configuration Language (HCL)

          • Introduction to HCL syntax
          • Declaring resources, variables, and outputs in Terraform configurations
          • Best practices for organizing and structuring Terraform code
        3. Initializing a Terraform Configuration

          • Initializing Terraform projects with terraform init
          • Downloading provider plugins and modules
          • Initializing a new Terraform workspace

        Terraform Providers and Resources

        1. Understanding Terraform Providers

          • Overview of Terraform providers and their role
          • Supported providers and community providers
          • Configuring provider blocks in Terraform configurations
        2. Defining Resources and Managing their Lifecycle

          • Declaring and managing infrastructure resources in Terraform
          • Resource lifecycle: create, read, update, delete (CRUD)
          • Handling dependencies between resources
        3. State Management and Terraform's State File

          • Understanding Terraform state
          • Importance of state management in Terraform
          • State file formats and storage backends

        Managing Infrastructure:

        1. Creating, Updating, and Deleting Resources

          • Creating infrastructure resources with terraform apply
          • Updating resources with configuration changes
          • Deleting resources and cleaning up infrastructure with terraform destroy
        2. Terraform Variables and Data Sources

          • Using variables to parameterize Terraform configurations
          • Different types of variables (input variables, output variables, locals)
          • Retrieving data from external sources using Terraform data sources
        3. Terraform Modules for Reusable Configurations

          • Introduction to Terraform modules
          • Creating and using modules for reusable infrastructure components
          • Sharing and managing modules with version control systems (VCS)

        Advanced Topics

        1. Terraform Workspaces

          • Managing multiple environments with Terraform workspaces
          • Use cases for workspaces in development, staging, and production environments
        2. Terraform State Locking

          • Understanding the need for state locking in Terraform
          • Implementing state locking with backend configurations
          • Best practices for preventing concurrent state modification

        Testing and Continuous Integration

        1. Testing Terraform Configurations

          • Writing unit tests for Terraform configurations
          • Testing infrastructure changes with Terraform's terraform plan command
          • Integration testing of Terraform configurations with test frameworks
        2. Continuous Integration with Terraform

          • Integrating Terraform with CI/CD pipelines
          • Automating infrastructure deployments with CI/CD tools
          • Implementing Infrastructure as Code best practices in CI/CD workflows

Monitoring :

Zabbix
        1. Introduction to Zabbix

          • Overview of Zabbix monitoring solution
          • Features and capabilities of Zabbix
        2. Installing and Configuring Zabbix

          • Installing Zabbix server and agents
          • Configuring Zabbix components (server, agent, database)
          • Setting up Zabbix frontend and web interface
        3. Monitoring with Zabbix

          • Adding hosts and monitoring targets to Zabbix
          • Configuring monitoring items (metrics) and triggers
          • Creating dashboards and visualizations in Zabbix
        4. Zabbix Alerts and Notifications

          • Configuring alerting rules and triggers
          • Setting up notification methods (email, SMS, etc.)
          • Customizing alert actions and escalations
Prometheus
        1. Introduction to Prometheus

          • Overview of Prometheus monitoring and alerting toolkit
          • Prometheus data model (metrics, labels, time series)
        2. Installing and Configuring Prometheus

          • Installing Prometheus server and exporters
          • Configuring Prometheus scrape targets and service discovery
          • Setting up retention policies and storage options
        3. Prometheus Query Language (PromQL)

          • Introduction to PromQL for querying Prometheus metrics
          • Writing basic PromQL queries for metric retrieval and aggregation
          • Advanced PromQL functions and operators
        4. Alerting with Prometheus

          • Defining alerting rules in Prometheus
          • Configuring alertmanager.yml for alert management
          • Sending alerts to various alerting destinations (email, webhook, etc.)
Grafana
          1. Introduction to Grafana

            • Overview of Grafana visualization and monitoring platform
            • Features and advantages of Grafana for data visualization
          2. Installing and Configuring Grafana

            • Installing Grafana server on different platforms
            • Configuring data sources (Prometheus, Zabbix, etc.) in Grafana
            • Setting up Grafana dashboards and panels
          3. Creating Dashboards in Grafana

            • Building custom dashboards in Grafana
            • Adding and configuring panels for displaying metrics
            • Using variables and templating in Grafana dashboards
Prometheus Alertmanager and Alerting
            1. Introduction to Prometheus Alertmanager

              • Overview of Prometheus Alertmanager for handling alerts
              • Features and capabilities of Alertmanager for alert management
            2. Configuring Alertmanager

              • Setting up alerting rules and routes in Alertmanager configuration
              • Defining notification integrations (email, webhook, etc.) in Alertmanager
            3. Alerting and Notifications

              • Creating and managing alerting rules in Prometheus
              • Configuring notifications for alerting channels (email, Telegram, Discord)
              • Customizing alert templates and message formats
            4. Integrating with Email, Telegram, and Discord

              • Setting up email notification integration with Alertmanager
              • Configuring Telegram bot for sending alerts to Telegram channels
              • Setting up Discord webhooks for alert notifications in Discord channels

جلسات کوچینگ :

توسعه ی فردی
        1. مقدمه به رشد شخصی:
          اهمیت رشد شخصی و حرفه‌ای
          تفاوت بین رشد ثابت و رشد فراگیر
          تحلیل اهداف و آرزوها:
          تعیین اهداف کوتاه مدت و بلند مدت
          استفاده از SMART Goals برای تعیین اهداف
          مدیریت زمان و اولویت‌بندی:
          تقویت مهارت‌های مدیریت زمان
          تشخیص و ترک عادت‌های زمان‌تلف کننده
          ارتباط موثر:
          مهارت‌های ارتباطی در محیط کار
          مدیریت اختلافات و روابط موثر
          مهارت‌های حل مسئله و تصمیم‌گیری:
          روش‌های بهبود مهارت‌های حل مسئله
          مدیریت ریسک و تصمیم‌گیری موثر
          انگیزه و توانمندسازی:
          شناخت عوامل انگیزشی شخصی
          ایجاد محیط موثر برای افزایش انگیزه
          توسعه مهارت‌های فردی و تیمی:
          تشویق به یادگیری مداوم
          ایجاد فرهنگ یادگیری در تیم
          مقابله با استرس و مدیریت هیجانات:
          راهکارهای مدیریت استرس در محیط کار
          ارتقای هوش هیجانی
          خودآگاهی و توسعه شخصی:
          توسعه مهارت‌های خودآگاهی و خودکنترلی
          ایجاد عادت‌های سلامتی روانی و جسمی
          برنامه‌ریزی برای رشد مستمر:
          ایجاد برنامه‌های عملی برای رشد شخصی و حرفه‌ای
          پایش و ارزیابی پیشرفت‌ها و تصمیم‌گیری در مورد اصلاحات لازم

نظرات دانشجویان دوره ی پیش

محمد جواد سلیمانی

سلام استاد وقت بخیر من واقعا از دوره دواپسی که شرکت کردم لذت بردم واقعا تو این فیلد خیلی جامع و کامل بود فقط یه مسئله ای هست چون من تو محیط لابراتواری همه چی رو دیدم و تست کردم فقط یه ذره ترس دارم از محیط واقعی که میخواد چطور باشه ولی دوره دواپس تون واقعا از هر لحاظ بی نظیر بود و واقعا شما تو این فیلد فوق العاده هستید و منم واقعا از آشنایی با شما لذت بردم

علی قربانی

سلام خانم محمدی وقتتون بخیر دیروز از علی بابا زنگ زدن مصاحبه فنی رو قبول شدم خواستم ازتون تشکر کنم بابت تمام زحماتتون 🐳🫀

علی صالحی

دوره مهندسی رو بعد از مدت ها تونستم شروع کنم به دیدنو شش جلسه اولشو دیدم.واقعا فوق العاده توضیح دادی. مخصوصا داکرشو میخواستم اگه اشکالی نداشته باشه دوره لینوکستو هم شرکت کنم

شایان خجسته

و اما فیدبک دوره دوره ی خیلی جذابی بود اولا کلیات مسیر برام روشن شد که دواپس چیه و چرا و چطور یادش بگیرم. با این که بعد از جلساتی که ansible رو شروع کردیم یکم عقب موندم ولی در جزئیات رو هم خوب در کردم و اینم میدونم که تمرین و تکرار لازمه و الان که دارم تو شرکت عملی کار میکنم دیگه میدونم کجا از چی باید استفاده کنم. و جایی که جزئیات یادم میره دوباره بر میگردم به ویدیو ها در کل خیلی ممنون عالی بود دوره تون

مهران نورانی

خانم محمدی سلام خدا خیرتون بده . حلال تون باشه . امروز بعد ۶ ۷ ماه فرصت کردم بشینم پای دوره تون ، لذت بردم که به زبون ساده و کامل درس دادین . خوب و خوش باشین .

مجید میان ابی

سلام، عرض خدا قوت خدمت استاد عزیز همون طور که پیش تر عرض کردم دوره بسیار خوبی بود و از همه مهم تر برای من دیسیپلین و توجه به جزئیات فنی در دوره بود. امیدوارم در تمامی مراحل زندگی موفق باشین 🌹

مجید میان ابی

سلام بر استاد عزیزم از عمق وجودم عرض میکنم واقعاً لذت میبرم از اینکه در دوره شما حضور دارم .. فارغ از تخصص از شخصیت شما هم یاد میگیرم و یه کوچینگ مناسب هست برام.. میخاستم این موارد رو انتهای دوره عرض کنم خدمتتون، ولی چرا الان نه چرا باید آخرش اینا گفته شه.. آرزوی سلامتی و توفیق در زندگی رو براتون دارم 🌹🧿

مرتضی وراسکی

مهندس جان سلام دوره دواپس شما رو شروع کردم و دم شما گرم که اینقدر کاربردی درس دادین ، بدون هیچ حاشیه‌ای ، فقط مطالب کاربردی برای دنیای واقعی ، نه وقت تلف کردن های بیخودی. خلاصه که حلالت باشه مهندس

جواد سلیمانی

سلام استاد شبتون بخیر من قبل اینکه شما k8s رو شروع کنید گفتم وای چه مبحثی شده بود یکی فوبیا هام ولی وقتی دیدم شما واقعا آنقدر صبور و دلسوزانه درس بردین واقعا لذت بردم و عمیقأ عاشق k8s شدم واقعا ازتون تشکر میکنم استاد 🌹🌹🌹🌹

امیرحسین احمد ابادی

باتوجه به هزینه ای که برای کلاس شده بود و مقدار دانشی که اضافه شد واقعا عالی بود چون همین دوره دواپس الان زیر ۲۴ میلیون نیستش. یه مورد اینکه فهم داکر و کوبر بسیار بسیار خوب بود و اگر کسی در حد جونیور هم یاد گرفته باشه بره تویه محیط پروداکشن میتونه به راحتی خودشو میدلول کنه یه مورد دیگه اینکه باتوجه به اینکه گفتید ۱ سال دوره برامون میمونه واقعا پوان مثبتی بود که دادید من لینوکسو یه آموزشگاهی گذرونده بودم ولی استادشون چون تجربه کاری تویه اسکیل بزرگ رو نداشتن زیاد نتونستن رویه مطالب مانور بدن ولی لینوکس شما واقعا تاثیر داشت و مطمئنم برای کار کافی بود یه جمع ۶۲ نفره بودیم که مطمئنم همه این ۶۲ نفر یه روزی حرفی برای گفتن تویه شرکت های بزرگ دارن و به امید همکاری با تک تک عزیزان یه پیشنهاد و خواهش : الک رو گقته بودید برگزار میکنید که باتوجه به استقبال کم تویه کلاس ها کنسل شد ( حجم کاری و مشکلات بچه ها تعداد اومد پایین ) حالا اگر امکانش هست شما دواپس ۲ هم دورشو دارید با اونا ادغام کنید این کارگاهو یا یه کارگاه ۱ روزه بزارید با هزینه ممنونتون میشیم واقعا چون خیلی داره استقاده میشه در شرکت ها یه چیز دیگه اینکه اگر استاد تونستید بعدا ( ceph) رو هم بزارید عالی میشه ، کلاستر کردن استوریج هم خیلی جذابه با ceph همچنین اگر منبع خوبی برای redis و rabbitmq میشناختید ممنونتون میشم بگید بهمون بازم مرسی از وقتی که گذاشتید واقعا ۲۱ جلسه با این حجم مطالب عالی بود هر جا باشم من به شخصه مدیون شما هستم خسته نباشید 😍

علی صفوی

استاد کلاس لینوکس تون خیلی خوبه. با اینکه تعداد ساعتش زیاده و تدریس توی این حجم ساعت و پشت سر هم خیلی سخته ولی شما خیلی خوب دارید مدیریتش می کنید و من موقع کلاس های انلاین لینوکس با شما انگار سر کلاس واقعی هستم خیلی خوشحالم که تونستم با شما این مسیر را ادامه بدم از همه زحماتتون بسیار ممنونم

علی صفوی

انرژی شما وقتی دارید kubernetes درس میدید به وضوح خیلی بیشتره. مشخصه خودتون کار کردن با kubernetes را خیلی دوست دارید. شوق آمورشی که توی kubernetes دارید کاملا با جلسات قبلی فرق داره و این انرژیتون واقعا روی بچه ها تاثیر مثبت داره. می خواستم ازتون بابت این حس خوبتون تشکر کنم

ما در Sananet، یک دوره مهندسی دواپس ارائه می‌دهیم که برای افرادی با درک اولیه لینوکس طراحی شده است. این دوره مهارت های ضروری لینوکس را پوشش می دهد و آموزش های کامل و جامعی در مورد ابزارهای کلیدی دواپس مانند Docker، Git و Kubernetes ارائه می کند. این دوره که توسط اساتید مجرب تدریس می شود، بر مهارت های عملی مرتبط با بازار کار تمرکز دارد. مدت دوره 125 ساعت است و جلسات کوچینگ هر دو ماه یکبار برای اطمینان از حفظ انگیزه و تمرکز در تمام طول دوره است. ویژگی های دوره شامل جلسات حل تمرین، جلسات کوچینگ به رهبری خانم یگانه حسین خانی، اسلایدهای اختصاصی برای درک آسان و دسترسی به آزمایشگاه در مرکز داده ما برای تمرین عملی است. از شما دعوت میکنیم در سفری که برای تبدیل شدن به یک مهندس دواپس حرفه ای لازم است طی کنید با ما همراه باشد.

مدرس دوره

آرزو محمدی

سال ۹۳، وارد دانشگاه شدم و در رشته IT تحصیل کردم. سال ۹۷، به عنوان کارشناس شبکه در شرکت سامسونگ استخدام شدم و با لینوکس آشنا شدم. سال ۹۸، به عنوان network administrator در فناپ سافت کار کردم و علاقه‌مند به دواپس شدم. پس از ۱ سال و نیم در شرکت گلرنگ سیستم، به عنوان DevOps Engineer در اسنپ تریپ مشغول به کار شدم.

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها