Tin mới nhất

Menu

Browsing "Older Posts"

Chia Sẻ Khóa Học DevOps Bootcamp 2023 [Khóa 7403 A]

06 tháng 4 2023 / No Comments

Chương trình 6 tháng để bắt đầu sự nghiệp của bạn với tư cách là một kỹ sư DevOps.

Lịch trình dựa trên các giả định sau:

  • ✓ 10 - 15 giờ/tuần.
  • ✓ Nền tảng software development hoặc operations.
  • ✓ Làm việc cùng với các demo và làm các bài tập.

Tuy nhiên, khóa học hoàn toàn có nhịp độ riêng nên bạn có thể hoàn thành nhanh hơn hoặc lâu hơn.


Khóa học này dành cho ai:

  • ✓ Software Developer.
  • ✓ System Administrator.
  • ✓ Network Engineer.
  • ✓ Cloud Engineer.
  • ✓ Testing Engineer / QA.

NỘI DUNG KHÓA HỌC:

1. Giới thiệu về DevOps:

  • ✓ Tổng quan về DevOps Bootcamp.
  • ✓ DevOps là gì?
  • ✓ Vai trò và Trách nhiệm của Kỹ sư DevOps.
  • ✓ DevOps phù hợp như thế nào trong toàn bộ vòng đời Phát triển phần mềm.

2. Operating Systems & Linux Basics:

1). Giới thiệu về Operating Systems:

  • ✓ OS là gì và nó hoạt động như thế nào?
  • ✓ Nhiệm vụ của một OS.
  • ✓ Cách một hệ điều hành được xây dựng.
  • ✓ Các hệ điều hành khác nhau như Unix, Linux, Windows và MacOS khác nhau như thế nào.

2). Virtualization:

  • ✓ Giới thiệu về Virtual Machine.
  • ✓ Setup một Linux Virtual Machine.

3). Package Manager - Installing Software:

  • ✓ Package Manager là gì và Software Repositories là gì?
  • ✓ Tìm hiểu tất cả các tùy chọn cài đặt phần mềm trên Linux và cách phần mềm này thực sự hoạt động trong background:
  •     + APT.
  •     + APT vs APT-GET.
  •     + SNAP.
  •     + Ubuntu Software Center.
  •     + YUM.

4). Làm việc với Vim Editor:

  • ✓ Vim là gì?
  • ✓ Tìm hiểu các Lệnh Vim quan trọng nhất để làm việc với Vim hiệu quả.

5). Users & Permissions:

  • ✓ Linux Accounts.
  • ✓ Users, Groups & Permissions.
  • ✓ User Management in Practice.
  • ✓ File Ownership & Permissions.
  • ✓ Modifying Permissions.

6). Linux File System.

7). Basic Linux Commands:

  • ✓ Giới thiệu về Command Line Interface.
  • ✓ Tìm hiểu tất cả các Lệnh Linux cần thiết như:
  •     + Directory Operations.
  •     + Điều hướng Files System.
  •     + Làm việc với File System (Create folders, list files, rename, remove files, v.v.).
  •     + Thực thi các lệnh với tư cách là Superuser.
  •     + Pipes, Redirects, Less, Grep.

8). Shell Scripting:

  • ✓ Shell vs sh vs Bash.
  • ✓ Viết và thực thi một script đơn giản.
  • ✓ Tìm hiểu cách viết Bash Script:
  •     + Biến.
  •     + Câu điều kiện.
  •     + Các toán tử cơ bản.
  •     + Truyền đối số cho Script để làm cho nó có thể tùy chỉnh và sử dụng lại.
  •     + Đọc user input.
  •     + Repeating code với shell loops.
  •     + Function.

9). Biến môi trường (Environment Variables):

  • ✓ Biến môi trường là gì và cách truy cập chúng.
  • ✓ Tạo, xóa và duy trì các biến Env.
  • ✓ Hiểu các biến PATH env là gì.

10). Networking:

  • ✓ Mạng máy tính hoạt động như thế nào?
  • ✓ LAN, Switch, Router, Subnet, Firewall, Gateway là gì.
  • ✓ IP address và port là gì?
  • ✓ DNS là gì và cách phân giải DNS hoạt động như thế nào?
  • ✓ Các lệnh mạng hữu ích.

11). SSH - Secure Shell:

  • ✓ SSH là gì và nó hoạt động như thế nào.
  • ✓ SSH in Action:
  •     + Create Remote Server trên Cloud.
  •     + Generate SSH Key Pair.
  •     + Thực thi một bash script trên máy từ xa.

3. Version Control với Git:

  • ✓ Giới thiệu về Version Control và Git.

Full Git Tutorial:

  • ✓ Các Khái niệm cơ bản về Git.
  • ✓ Setup git repository (remote và local).
  • ✓ Làm việc với Git (git status, git commit, git add, git push).
  • ✓ Khởi tạo Git project locally.
  • ✓ Khái niệm về Branches.
  • ✓ Merge Requests.
  • ✓ Deleting Branches.
  • ✓ Avoiding Merge Commits (rebase).
  • ✓ Resolving Merge Conflicts.
  • ✓ Không theo dõi một số tệp nhất định (.gitignore).
  • ✓ Lưu các thay đổi đang thực hiện (git stash).
  • ✓ Quay lại lịch sử (git checkout).
  • ✓ Hoàn tác commits (git revert, git reset).
  • ✓ Merging Branches.
  • ✓ Git for DevOps.

4. Build & Package Manager Tools:

  • ✓ Build Tools và Package Managers là gì?
  • ✓ Làm thế nào để build một artifact?
  • ✓ Làm cách nào run application artifact?
  • ✓ Làm cách nào để xuất bản application artifact lên artifact repository? 
  • ✓ Build Tools for Java (ví dụ về gradle và maven).
  • ✓ Dependency Management trong Software Development.
  • ✓ Package Manager trong các ứng dụng JavaScript - Build và run các ứng dụng trong JS.
  • ✓ Build Tools & Docker.
  • ✓ Tại sao Build Tools lại phù hợp với DevOps Engineers?

5. Cloud & Infrastructure as a Service Basics:

  • ✓ Cloud & Các khái niệm Infrastructure as a Service.

Làm việc với cloud server:

  • ✓ Setup Server trên DigitalOcean (Droplet).
  • ✓ Install Java trên Cloud Server.
  • ✓ Deploy và run ứng dụng trên Cloud Server.
  • ✓ Tạo một Linux User để đăng nhập vào Server (thay vì sử dụng Root User).

6. Artifact Repository Manager với Nexus:

  • ✓ Artifact Repository Manager là gì?
  • ✓ Install và run Nexus trên Cloud Server.
  • ✓ Các loại Repository khác nhau (proxy, hosted, v.v.).
  • ✓ Các Repository Format khác nhau (maven, docker, npm, v.v.).
  • ✓ Upload Jar File lên Nexus (maven và gradle project).
  • ✓ Nexus API và Repository URL.
  • ✓ Blob stores.
  • ✓ Browsing Components - Components vs Assets.
  • ✓ Cleanup Policies.
  • ✓ Scheduled Tasks.

7. Containers với Docker:

  • ✓ Container là gì?
  • ✓ Các thành phần và kiến trúc của Docker.
  • ✓ Docker vs. Virtual Machine.
  • ✓ Các lệnh Docker chính.
  • ✓ Gỡ lỗi mộtDocker Container.
  • ✓ Demo Project Overview - Docker in Practice (Nodejs App với MongoDB và MongoExpress UI).
  • ✓ Developing với Containers.
  • ✓ Docker Compose - Chạy nhiều services.
  • ✓ Dockerfile - Xây dựng Docker Image của riêng chúng tôi.
  • ✓ Private Docker Repository - Đẩy Docker Image đã xây dựng của chúng tôi vào một private Registry trên AWS.
  • ✓ Deploy containerized app.
  • ✓ Docker Volumes - Persist data trong Docker.
  • ✓ Volumes Demo - Configure persistence cho demo project của chúng tôi.
  • ✓ Docker Best Practices.

Docker & Nexus:

  • ✓ Tạo Docker Images Repository trên Nexus.
  • ✓ Push/Pull Docker Image from/to Nexus Repository Manager.
  • ✓ Install Nexus với Docker.
  • ✓ Configure insecure repositories trong Docker Engine.

8. Build Automation - CI/CD với Jenkins:

  • ✓ Build Automation là gì? Jenkins là gì?
  • ✓ Install Jenkins trên cloud server (cài đặt Docker vs Server).
  • ✓ Jenkins plugins.
  • ✓ Cài đặt build tools trong Jenkins.
  • ✓ Jenkins Basics Demo:
  •     + Create Freestyle Job.
  •     + Configure Git Repository.
  •     + Run Tests và Build Java Application.
  • ✓ Docker trong Jenkins:
  •     + Make Docker commands available trong Jenkins.
  •     + Build Docker Image.
  •     + Push to DockerHub Repo.
  •     + Push to Nexus Repo.
  • ✓ Jenkins Pipeline (Use Cases).
  • ✓ Tạo một Pipeline Job đơn giản.
  • ✓ Full Jenkinsfile Syntax Demo.
  • ✓ Tạo một full Pipeline Job:
  •     + Build Java App.
  •     + Build Docker Image.
  •     + Push to private DockerHub.
  • ✓ Tạo một Multi-Branch Pipeline Job.
  • ✓ Credentials trong Jenkins.
  • ✓ Jenkins Shared Library.
  • ✓ WebHooks - Trigger Jenkins Jobs automatically.
  • ✓ Versioning Application trong Continuous Deployment:
  •     + Các khái niệm về Versioning trong Software Development.
  •     + Increment Application version từ Jenkins Pipeline.
  •     + Set new Docker Image version từ Jenkins Pipeline.
  •     + Commit Version Bump from Jenkins Pipeline.

9. AWS Services:

  • ✓ Giới thiệu về Amazon Web Services.
  • ✓ Identity & Access Management (IAM) - User, Groups và Permissions.
  • ✓ Regions và Availability Zones.
  • ✓ Virtual Private Cloud (VPC) - Mạng riêng của bạn:
  •     + Subnets.
  •     + Security Groups.
  •     + Internet Gateway.
  •     + Route Table.
  •     + CIDR Blocks.
  • ✓ Giới thiệu về Elastic Compute Cloud (EC2):
  •     + Tạo một EC2 Instance.
  •     + Run Webapplication trên EC2 sử dụng Docker.
  • ✓ AWS Command Line Tool:
  •     + Cài đặt và cấu hình AWS CLI.
  •     + Create EC2.
  •     + Create Security Group.
  •     + Create key-pair.
  •     + Create IAM user với permissions.

AWS & Jenkins - Continuous Deployment với Jenkins to AWS EC2:

  • ✓ Automate deploying từ Jenkins Pipeline sang EC2 Intance:
  •     + Sử dụng docker run.
  •     + Sử dụng docker-compose.
  • ✓ Ví dụ thực tế về dynamically setting new image version trong docker-compose.
  • ✓ SSH agent plugin và SSH credential type trong Jenkins.

10. Container Orchestration với Kubernetes:

  • ✓ Giới thiệu về Kubernetes.
  • ✓ Hiểu các thành phần Kubernetes chính:
  •     + Node, Pod, Service, Ingress, ConfigMap, Secret, Volume, Deployment, StatefulSet.
  • ✓ Kubernetes Architecture.
  • ✓ Minikube và kubectl - Local Setup.
  • ✓ Các lệnh Kubectl chính - K8s CLI:
  •     + Create và debug Pod trong một Minicluster.
  • ✓ Kubernetes YAML Configuration File:
  •     + Create và Configure Deployment và Service Component.
  • ✓ Demo Project: MongoDB và MongoExpress.
  • ✓ Tổ chức các component của bạn với K8s Namespaces.
  • ✓ Kubernetes Service Types.
  • ✓ Làm cho Ứng dụng của bạn có thể truy cập được từ bên ngoài với Kubernetes Ingress.
  • ✓ Persisting Data trong Kubernetes với Volumes:
  •     + Persistent Volume.
  •     + Persistent Volume Claim.
  •     + Storage Class.
  • ✓ ConfigMap và Secret Kubernetes Volume Types.
  • ✓ Deploying Stateful Apps với StatefulSet.
  • ✓ Triển khai Kubernetes cluster trên một Managed Kubernetes Service (K8s on Cloud).
  • ✓ Helm - Package Manager of Kubernetes.
  • ✓ Helm Demo: Cài đặt một Stateful Application trên Kubernetes bằng Helm.
  • ✓ Demo: Deploy App from Private Docker Registry.
  • ✓ Mở rộng Kubernetes API với Operator.
  • ✓ Prometheus Operator Demo với Helm: Setup Prometheus Monitoring trong K8s.
  • ✓ Bảo mật cluster của bạn - Authorization với Role Based Access Control (RBAC).

Microservices trong Kubernetes:

  • ✓ Giới thiệu về Microservices.
  • ✓ Demo project: Deploy Microservices Application.
  • ✓ Demo project: Create common Helm Chart for Microservices.
  • ✓ Demo project: Deploy Microservices với helmfile.
  • ✓ Production & Security Best Practices.

11. Kubernetes on AWS - EKS:

1). AWS & Kubernetes:

  • ✓ AWS Container Services: Tổng quan (ECR, ECS, EKS, Fargate).
  • ✓ Tạo một EKS cluster với AWS Management Console (UI):
  •     + Create cluster VPC.
  •     + Create cluster Roles.
  •     + Sử dụng Cloudformation Stack.
  •     + EC2 Worker Nodes.
  •     + Fargate Profile.
  •     + Configure Austoscaler.
  •     + Configure kube context để kết nối với cluster.
  • ✓ Tạo một EKS cluster với eksctl (một cách dễ dàng).

2). AWS & Kubernetes & Jenkins & Docker - CI/CD:

  • ✓ Configure kubectl inside Jenkins.
  • ✓ Configure kube context trong Jenkins.
  • ✓ Install aws-iam-authenticator trong Jenkins.
  • ✓ Jenkins Pipeline hoàn chỉnh - Deploy to EKS - sử dụng kubectl.
  • ✓ Jenkins Pipeline hoàn chỉnh - Build và push docker image to ECR và deploy to EKS.
  • ✓ Jenkins Pipeline hoàn chỉnh - Deploy to LKE bằng Kubernetes CLI plugin và kubeconfig file.

12. Infrastructure as Code với Terraform:

  • ✓ Terraform là gì? Cách nó hoạt động.
  • ✓ Architecture.
  • ✓ Providers.
  • ✓ Resources & Data Sources.
  • ✓ Variables & Output Values.
  • ✓ Environment variables trong Terraform.
  • ✓ Terraform commands.
  • ✓ Terraform State.
  • ✓ Provisioners.
  • ✓ Modules.
  • ✓ Remote State.

Terraform & AWS:

  • ✓ Create Security Group.
  • ✓ Create VPC.
  • ✓ Create Subnet.
  • ✓ Create Route Table.
  • ✓ Create Internet Gateway.
  • ✓ Create key-pair.
  • ✓ Provision EC2 server.
  • ✓ Modularize demo project.

Terraform & AWS & Kubernetes:

  • ✓ Sử dụng các module hiện có từ Terraform Registry.
  • ✓ Create VPC.
  • ✓ Provision EKS cluster.

Terraform & AWS & Jenkins - CI/CD hoàn chỉnh:

  • ✓ Configure Terraform trong Jenkins.
  • ✓ Automate provisioning EC2 instance từ Jenkins pipeline và deploy ứng dụng với docker-compose.
  • ✓ Terraform Best Practices.

13. Lập trình với Python:

  • ✓ Giới thiệu về Python: Python là gì và tại sao nên học Python với tư cách là một kỹ sư DevOps?
  • ✓ Cài đặt và Thiết lập Local Development Environment.
  • ✓ Viết chương trình Python đầu tiên của chúng tôi.
  • ✓ Python IDE vs File Editor đơn giản.
  • ✓ Kiểu dữ liệu chuỗi và số.
  • ✓ Biến.
  • ✓ Encapsulate Logic với Functions.
  • ✓ Accepting User Input.
  • ✓ Điều kiện (if / else) và Kiểu dữ liệu Boolean.
  • ✓ Error Handling với Try / Except.
  • ✓ Vòng lặp While.
  • ✓ Lists và Vòng lặp For.
  • ✓ Comments trong Python.
  • ✓ Sets.
  • ✓ Built-In Functions.
  • ✓ Dictionary Data Type.
  • ✓ Mô đun hóa dự án của bạn với Modules.
  • ✓ Project: Countdown App.
  • ✓ Packages, PyPI và pip.
  • ✓ Project: Automation với Python (Làm việc với Spreadsheets).
  • ✓ Object Oriented Programming: Classes và Objects.
  • ✓ Project: API Request to GitLab.

14. Automation với Python:

Sau khi đã học những kiến thức cơ bản về lập trình và bây giờ có thể viết chương trình, bạn sẽ học cách sử dụng kiến thức Python này cho các trường hợp sử dụng DevOps.

Cloud Automation - AWS & Python:

  • ✓ Giới thiệu về Boto (AWS Library for Python).
  • ✓ Cài đặt Boto3 và kết nối với AWS.
  • ✓ Làm quen với Boto Library: Tự động tạo VPC và Subnets.
  • ✓ Terraform vs Python - hiểu sự khác biệt và khi nào nên sử dụng công cụ nào.

Automation Tasks xung quanh EC2 Instance:

  • ✓ Health Check: Tự động kiểm tra trạng thái của EC2 Instances.
  • ✓ Scheduler: Viết một tác vụ theo lịch trình tự động thực hiện kiểm tra trạng thái trong một khoảng thời gian xác định.
  • ✓ Configure Server: Tự động add tags vào EC2 Instances với environment label.
  • ✓ Tự động nhận cluster information từ tất cả các EKS cluster trong tài khoản AWS của bạn.

Automation Tasks xung quanh Data Backup & Restore:

  • ✓ Backup EC2 Instances: Tự động tạo snapshots của Ổ đĩa EC2 EC2 Volumes.
  • ✓ Cleanup Task: Viết một cleanup script để tự động dọn dẹp các EC2 snapshot cũ.
  • ✓ Restore EC2 Volume: Viết một chương trình khôi phục một EC2 volume bằng backup snapshot và đính kèm nó vào EC2 Instance.

Automation Tasks xung quanh Website Monitoring (không có AWS):

  • ✓ Monitoring: Viết một chương trình tự động hóa theo lịch trình để monitor tình trạng của website.
  • ✓ E-Mail Notification: Cấu hình chương trình python tự động gửi email mỗi khi website hoặc server ngừng hoạt động.
  • ✓ Recover: Khởi động lại ứng dụng và khởi động lại máy chủ từ xa.

15. Quản lý cấu hình với Ansible:

Là phần tiếp theo của các dự án trong tất cả các mô-đun trước đó, chúng tôi sẽ sử dụng Ansible để tiếp tục tự động hóa và tối ưu hóa các quy trình DevOps. Ansible, bên cạnh Terraform là một trong những infrastructure as code và công cụ quản lý cấu hình phổ biến nhất  hiện được sử dụng trong các dự án CNTT.

Các khái niệm cốt lõi và cú pháp của Ansible:

  • ✓ Giới thiệu về Ansible
  • ✓ Cài đặt & Cấu hình Ansible.
  • ✓ Setup Managed Server để cấu hình với Ansible.
  • ✓ Ansible Inventory.
  • ✓ Ansible ad-hoc Commands.
  • ✓ Configure AWS EC2 server với Ansible.
  • ✓ Quản lý Host Key Checking và SSH keys.
  • ✓ Ansible Tasks, Play & Playbook.
  • ✓ Ansible Modules.
  • ✓ Ansible Collections & Ansible Galaxy.
  • ✓ Ansible Variables - để làm cho Playbook của bạn có thể tùy chỉnh.
  • ✓ Troubleshooting trong Ansible.
  • ✓ Conditionals.
  • ✓ Privilege Escalation.
  • ✓ Ansible Configuration - Default Inventory File.

Tìm hiểu các module Ansible phổ biến nhất với các demo thực hành:

  • ✓ Project: Deploy Nodejs Application.
  • ✓ Project: Deploy Nexus.
  • ✓ Định cấu hình server với các bản phân phối Linux khác nhau trên nền tảng AWS và Digital Ocean.

Trong các dự án này, chúng tôi sẽ cài đặt các công cụ trên một server, định cấu hình ứng dụng, làm việc với file system, di chuyển tệp tĩnh giữa các máy, v.v.

Về cơ bản, bạn sẽ học cách lập bản đồ và dịch các lệnh và shell script thành Ansible Playbooks để tự động hóa các tác vụ phổ biến khác nhau nói chung. 

Các chủ đề nâng cao hơn & tích hợp với các công nghệ khác:

  • ✓ Dynamic Inventory for EC2 Servers.
  • ✓ Ansible Roles - để làm cho Ansible content của bạn có thể tái sử dụng nhiều hơn và theo mô-đun để bảo trì tốt hơn.
  • ✓ Project: Ansible & Terraform.
  • ✓ Project: Chạy các ứng dụng Docker.
  • ✓ Project: Triển khai ứng dụng trong Kubernetes.
  • ✓ Project: Chạy Ansible từ Jenkins Pipeline.

Vì vậy, bạn không học Ansible như một công cụ độc lập trong chương trình đào tạo này, mà được tích hợp trong các công nghệ khác nhau, như Docker, K8s, Terraform, Jenkins, AWS, v.v., trong nhiều trường hợp sử dụng trong thế giới thực, vì nó được xây dựng trên các mô-đun trước đó trong bootcamp!

16. Monitoring với Prometheus:

  • ✓ Giới thiệu về Monitoring với Prometheus.
  • ✓ Cài đặt Prometheus Stack trong Kubernetes.
  • ✓ Data Visualization với  Prometheus UI.
  • ✓ Giới thiệu về Grafana.
  • ✓ Alert Rules trong Prometheus.
  • ✓ Tạo Alert Rules.
  • ✓ Giới thiệu về Alertmanager.
  • ✓ Configure Alertmanager với Email Receiver.
  • ✓ Trigger Alerts for Email Receiver.
  • ✓ Monitor Third-Party Applications.
  • ✓ Deploy Redis Exporter.
  • ✓ Alert Rules & Grafana Dashboard for Redis.
  • ✓ Collect & Expose Metrics với Prometheus Client Library.
  • ✓ Scrape Own Application Metrics & Configure Own Grafana Dashboard.


NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU




Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.