
Docker :
داکر، یک پلتفرم برای توسعه ، انتقال و اجرای نرم افزارها می باشد. با جداسازی برنامه ها و استقلال آن از زیرساخت اجرایی (محیط تست و محیط عملیاتی) و بسته بندی تمام پیش نیازهای اجرایی یک برنامه در قالب یک یا چند کانتینر، انتقال و استقرار برنامه در محیط هدف با سرعت غیر قابل قیاس با گذشته و کمترین هزینه ممکن قابل دسترس خواهد بود.
به این ترتیب، تفاوت زیرساخت محیط های تولید وعملیات بی تاثیر بوده و نیازی به حضور فیزیکی کارشناسان فنی در سازمان مقصد، جهت نصب پیشنیازهای برنامه نخواهد بود.
علاوه بر این به دلیل استفاده از کانتینر و بر خلاف ماشین مجازی، سرعت لود شدن برنامه در محیط مقصد به چند میلی ثانیه کاهش می یابد (سرعت بوت شدن سیستم عامل ماشین مجازی و لود برنامه حدود چند دقیقه خواهد بود).
Docker Syllabus
Estimated time : 24 H
Introduction to Containerization
- Containerization
- History of Containers
- Namespaces and Cgroups
- Containers vs Virtual Machines
- Types of Containers
- Introduction to Docker
- Docker Architecture
- Container Lifecycle
- Docker CE vs Docker EE
The Docker Engine
- Docker Engine
- Configuring Logging Drivers
- Docker Terminology
- Port Binding
- Detached vs Foreground Mode
- Docker CLI
- Docker Exec
- Restart Policy
Image Management and Registry
- Dockerfile
- Dockerfile Instructions
- Build Context
- Docker Image
- Docker Registry
Storage in Docker
- Docker Storage
- Types of Persistent Storage
- Volumes
- Bind Mounts
- tmpfs Mount
- Storage Drivers
- Device Mapper
- Docker Clean Up
Orchestration in Docker
- Docker Compose
- Docker Swarm
- Docker Service
- Service Placement
- Rolling Update and Rollback
- Docker Stack
Networking and Security
- Docker Networking
- Network Drivers
- Bridge Network
- Overlay Network
- Host and Macvlan
- Docker Security
- Docker Content Trust
- Securing the Docker Daemon
Ansible:
انسیبل به عنوان یک نرم افزار متن باز و infrastructure as code، برای خودکارسازی مدیریت پیکربندی، استقرار برنامه های کاربردی و دیگر نیازهای مرتبط با IT مورد استفاده قرار می گیرد که اجرای آن مبتنی بر پایتون و سرویس ssh می باشد.
انسیبل از طریق مدل کردن زیرساخت IT و تعریف مدل ها در قالب فرمتهای کدنویسی (YAML)، امکان خودکارسازی (automation) اجزای مختلف IT از جمله پیاده سازی زیرساخت مراکز داده، نصب و راه اندازی و مدیریت پیکربندی عناصر مختلف نرم افزاری آن را فراهم می سازد.
با توجه به نصب پیشفرض این دو نرم افزار در سیستم های لینوکسی ، برای مدیریت این سیستم ها نیازی به نصب agent نمی باشد.
با توجه به امکان اتصال همزمان هاست انسیبل به سیستم های هدف از طریق سرویس ssh، سرعت استقرار و اعمال تغییرات قابل قیاس با روش های قدیمی نیست.
به عنوان مثال با استفاده از انسیبل می توان به صورت خوکار و همزمان بر روی تعداد زیادی سرور مستقر در مرکز داده، سرویس وب را نصب و پیکربندی نمود. در صورتی که در روشهای قدیمی مدیر سیستم، مجبور به نصب دستی و سریالی سرویس مورد نظر بر روی هر کدام از سرورها بود.
Ansible Fundamentals Syllabus
Estimated Time : 24 H
Introduction to Ansible
Inventorizing your Infrastructure
Building Patterns
Ad Hoc Server Management
Playbooks – the real magic
Roles for Modularizing Code
Variables and Templates
Advanced Playbook Topics
Modules
Jinja Templates
Ansible Vault
Extending Ansible
Vagrant and Ansible
Ansible Cloud Integration
Continuous Delivery and Rolling Updates
Troubleshooting and Best Practices
Kubernetes
کوبرنتیز ، یک سیستم متن باز برای خودکارسازی مدیریت برنامه های مبتنی بر داکر می باشد. در ابتدا توسط گوگل طراحی شد و در حال حاضر توسط موسسه Cloud Native Computing Foundation توسعه و مدیریت می گردد.
کوبرنتیز با انواع ابزارهای مبتنی بر کانتینر مانند داکر سازگار می باشد و قابلیت اجرا و مدیریت خودکار کانتینرها در بستر کلاستر را فراهم می سازد.
از جمله مزایای کلاستر می توان به ایجاد تحمل خطا (fault-tolerance)، قابلیت دسترس پذیری بالا (high availability) و توازن بار(load balancing) اشاره نمود.
البته نرم افزار داکر از طریق امکان داخلی به نام Docker Swarm، قابلیت ایجاد کلاستر و مدیریت خودکار کانتینرها را دارد ولی قابل قیاس با کوبرنتیز نمی باشد.
علاوه بر کاربردهای داخل سازمانی، فراهم کننده های سرویس ابری از پلتفرم کوبرنتیز برای ارائه سرویس هایی مانند PaaS و IaaS استفاده می نمایند.

Certified Kubernetes Administrator (CKA) Syllabus
Estimated Time : 24 H
Kubernetes Core Concepts and Networking
- Kubernetes Core Concepts
- Kubectl common commands
- Understanding Pods
- Configure network on cluster nodes
- Pod Networking Concepts
- Setting up a cluster – Kubernetes Certificates
Kubernetes Services and Scheduling
- Services and Controllers
- Service Networking
- Deploy and configure network Load Balancer
- Primitives necessary for self-healing apps
- Effects of resource limiting on pod scheduling
- Configure Kubernetes Scheduler
- Running multiple Schedulers
Kubernetes Controllers
- ReplicaSet and ReplicationController
- DaemonSets
- Deployments
- Rolling updates and Rollbacks
- Scaling applications
- Ingress
Persistent Storage in Kubernetes
- PersistentVolume and PersistentVolumeClaim
- Access modes for volumes
- Primitives for PersistentVolumeClaim
- Secrets and ConfigMaps in your pods
- Storage classes
- Headless services
- StatefulSets
Securing the Cluster
- Authentication
- Authorization
- Kubernetes security primitives
- Configure Network Policies
- Security Contexts
Logging and Monitoring the Cluster
- Monitoring the cluster using Prometheus
- Visualizing cluster logs using EFK stack
- Jobs
- ETCD operations
- Helm Charts
Troubleshooting the Cluster
- Troubleshooting application failures
- Troubleshooting cluster failures
فرم ثبت نام دوره Devops
مدت دوره :
۲۴ ساعت
پیشنیاز :
+network