کلاس و دوره آموزشی نیمه خصوصی مهندسی دواپس با آموزشگاه دوران آکادمی
ثبت نام در کلاس آنلاین نیمه خصوصی مهندسی دواپس با قیمت مناسب که آموزشگاه دوران آکادمی برگزار می کند.
برگزار کننده: آموزشگاه دوران آکادمی زمان ثبت نام: 1403/04/13 11:13 - 1403/05/18 07:13 زمان برگزاری: 1403/05/19 09:00 - 1403/08/24 14:00 روزهای برگزاری: جمعه ها ساعت 9 تا 14- توضیحات دوره
- سرفصل ها
- نظرات
عبارت DevOps از دو عبارت توسعه (Development) و عملیات (Operations) تشکیل شده است. هدف اصلی DevOps، اعمال فرایند خودکارسازی و مانیتورینگ در تمام مراحل چرخه توسعه نرم افزار(SDLC) از جمله تلفیق، تست، انتشار، استقرار و مدیریت زیرساخت و همینطور ایجاد روحیه همکاری و تعامل در کل ساختار سازمانی می باشد.
دواپس باعث کوتاه تر شدن زمان چرخه توسعه و افزایش سرعت استقرار نرم افزار می گردد و در نتیجه نرم افزار در کمترین زمان ممکن آماده انتشار در بازار و قابل استقرار در محیط عملیاتی مشتری خواهد شد.افزایش سرعت استقرار و کوتاه شده زمان توسعه نه تنها باعث افت کیفیت نرم افزار نخواهد بود بلکه به دلیل دریافت آنی بازخوردهای اجرای نرم افزار توسط توسعه دهنده و اعضای تیم دواپس ، تغییرات مورد نیاز در کمترین زمان در محیط عملیاتی مشتری اعمال خواهد گردید.به این ترتیب ، مشتری تجربه بسیار بهتری (ده ها برابر) را در مقایسه با مدل های قدیمی تر توسعه نرم افزار مانند مدل آبشاری خواهد داشت.
کاربرد دیگر دواپس در راه اندازی مراکز داده می باشد.به این صورت که تمام زیرساخت مورد نظر مرکز داده به صورت کدهای برنامه نویسی تعریف می گردد.با تبدیل منابع مختلف مراکز داده به صورت کد ، قابلیت اجرای کدها به صورت اتوماتیک فراهم می گردد.با ایجاد امکان خودکارسازی ، زمان راه اندازی زیر ساخت مراکز داده طبق متوسط جهانی می تواند از چندین هفته به حدود 2 الی 3 ساعت تقلیل یابد.
در نهایت اینکه ، هر چقدر زمان توسعه نرم افزار کوتاه تر و سرعت استقرار نرم افزار در محیط مشتری بیشتر باشد هزینه توسعه نرم افزار کمتر خواهد بود.علاوه براین مشتری در کمترین زمان ممکن از قابلیتهای جدید نرم افزار بهره خواهد برد.ایجاد رضایت بیشتر مشتری ، یکی دیگر از اهداف دواپس می باشد.
مدت دوره ۱۲۰ ساعت میباشد
پیشنیاز این دوره :
- آشنایی با شبکه های کامپیوتری
- آشنایی با یک زبان برنامه نویسی
- آشنایی با لینوکس
DevOps Engineer course syllabus
Basics of Networking – Server Management and Cloud Computing
- Basics of Networking
- Networking on Linux
- Networking on Windows
- Web Servers
- Load Balancers
- Proxy Servers
- Firewall
- Foundation of Cloud Computing
Becoming Proficient in Linux Functions
- Introduction to Linux
- Linux Command Line
- Files and Directories
- Creating and Editing Files
- User, Group and Permissions
- Other Essential Features
- Processes in Linux
Shell(Bash) Scripting
- Definition of Bash scripting
- How to Create and Execute Bash Scripts
- Bash Scripting Basics
- Comments in bash scripting
- Variables and data types in Bash
- Input and output in Bash scripts
- Conditional statements (if/else)
- Looping and Branching in Bash
- How to Schedule Scripts using cron
Application Architecture
- Different Tiers in Software Architecture
- Single-Tier Applications
- Two-Tier Applications
- Three-Tier Applications
- N-Tier Applications
- Web Architecture
- What is Web Architecture?
- Client-Server Architecture
- Client
- Types of Clients
- Server
- Monolith and Microservices
- What is Monolithic Architecture?
- When should you pick a Monolithic Architecture?
- What is Microservice Architecture?
- When should you pick Microservices Architecture?
- Database
- Introduction and Types of Data
- Relational Databases
- When should you pick a relational database?
- NoSQL Databases – Introduction
- Features of NoSQL Databases
- API Basics
- What is an API?
- API Types
- Web API
- REST API
- Data formats
- JavaScript Object Notation (JSON)
- Extensible Markup Language (XML)
- More on Architecture
- Event-Driven Architecture Pattern
- Serverless Architecture Pattern
- Microservices Architecture Pattern
Python Programming
- Python environment setup
- Basic syntax
- Variables
- Python Data Types
- Conditionals
- Loops
- Regular expressions.
- Methods
- Modules
- Exception handling
- Flask: Develop Web Applications in Python
Version Control using Git
- Introduction to Version Control with Git
- Git from the Command Line
- Everyday Git Commands
- GitHub/Gitlab Runners
- Git Branches and Approvals
- Git Tagging, Branching, Merging and Workflow
Building with Maven
- Installing and Configuring Maven
- Build Project Using Command Line
- Use Custom Repository Managers
- Develop a Multi-Module Maven Project
Unit Testing with Junit
- What is Unit Testing?
- JUnit Test Framework
- JUnit Annotations
- JUnit Assert & AssertEquals
Artifact Management
- What is Artifactory tools and purposes
- Install and setup Nexus
Infrastructure Provisioning with Terraform
- Introduction to Provisioning and Terraform
- Working with State
- Managing Terraform with Git
- Terraform Workspaces
- Integrating a CI/CD Pipeline with Terraform
- Reusability
- Refactoring and Review
Configuration Management and Ansible
- Introduction to Configuration Management
- Installing and Configuring Ansible
- Working with Ansible
- Ansible and Playbook Grammar
- Ansible Modules
- Ansible Roles
Continuous Integration and Continuous Development with Jenkins
- Introduction to CI/CD Pipelines
- Installing and Configuring Jenkins
- CI with Jenkins
- CD with Jenkins
- Pluggin in Jenkins
- Jenkins Pipeline-as-Code
- Jenkins Administration
- Jenkins Security
Quality Testing ,Scanning – Selenium and SonarQube
- Introduction to Quality Testing
- Testing Phases and Types
- Test Automation
- Overview of Selenium and WebDriver
- Code Quality Testing Using SonarQube
Containers and Dockers
- Topics
- Introduction to Dockers
- Introducing Containers and Images
- Living with Images and Containers
- Getting it Done Better with Compose
- Docker Orchestration
- Security
Container Orchestration and Kubernetes
- Introduction to Kubernetes
- Kubernetes Architecture
- Working with Pods, Deployments and Replicasets
- Kubernetes Networking and Storage
- Ingres, Load Balancer and Security
- Kubernetes Controllers
- Cluster Management
Secret Management and Vault
- HashiCorp Vault Overview
- Data Protection in Vault
- Vault Configuration
- Deploying Vault
- Vault Secret Engines
- Enable KV Secrets Engine
- Store the Google API key
- Store the root certificate for MySQL
- Generate a token for apps
- Retrieve the secrets
Monitoring Infrastructure
- Introduction to Prometheus
- PromQL
- Prometheus Exporters and Deploy Node Exporter
- Docker and Kubernetes Monitoring Using Prometheus
- Introduction to Grafana
- Developing Reports and Dashboards
Monitoring Application and Jaeger
- Introduction to OpenTracing
- Terminology (Span,Trace)
- Components (client libraries, Agen, Collector, Query, Ingester)
- Deployment on cluster(swarm or k8s)
Log Management and ELK
- Introduction to ELK stack
- Parsing with Logstash
- Searching with Elasticsearch
- Data Aggregation
- Visualization with Kibana
- Implementing ELK stack