8 Bước Trong Lộ Trình Trở Thành DevOps Engineer

1177

Devops Engineer từ lâu đã là một nghề hot trong bộ các nghành liên quan tới IT, bài viết này sẽ chỉ ra 8 bước trong lộ trình trở thành Devops Engineer.

DevOps Engineer không đơn thuần là thao tác với phần cứng, viết vài dòng CICD cho code auto run build deploy. 8 bước sau đây sẽ cho anh em cái nhìn tổng quan từng bước để trở thành kỹ sư DevOps.

Gét gô thôi anh em ơi!

1. Học một ngôn ngữ lập trình

Tin không vui cho anh em nào bảo chuyển qua devops không cần code củng gì nữa. Thực tế là bắt đầu để trở thành DevOps Engineer, ta vẫn cần kiến thức cơ bản của một ngôn ngữ lập trình.

Có thể là không được sâu như các Senior Software Engineer nhưng ít nhất cũng phải hiểu biết những thuật ngữ, khái niệm, concept cơ bản nhật của lập trình.

Devops Engineer không chỉ đơn thuần động tới phần cứng, Devops Engineer.

Chính vì vậy lộ trình trở thành Devops Engineer, bước đầu tiên không thể nào khác đi, đó là học một ngôn ngữ lập trình. Ở thời điểm hiện tại, một số ngôn ngữ lập trình sau được recommended nha anh em:

Thử nghĩ nếu một Devops Engineer vừa có thể debug code cho development team, vừa có thể đọc lock code, hiểu về các command và development thực hiện để run code. Ôi, ông devops ấy thật đáng ngưỡng mộ biết nhường nào.

Không biết ít thì biết nhiều vẫn phải biết code nha anh em

Hơi lố nhưng sau khi đã nắm cơ bản về một ngôn ngữ lập trình, bước kế tiếp là tìm hiểu về hệ điều hành.

2. Học về hệ điều hành (Operating System)

Bước thứ hai nhìn thì có vẻ dễ hơn bước một trong lộ trình trở thành DevOps Engineer nhưng thực tế là không phải vậy.

Cho dù là bạn có kinh nghiệm cài win dạo mười năm, hackintosh 5 năm thì hiểu sâu về hệ điều hành (operating system) lại là câu chuyện hoàn toàn khác. Devops Engineer làm việc ở đâu?, làm việc trên hệ điều hành chứ ở đâu. Nếu không hiểu về nó làm sao có thể nhận biết lỗi, làm sao có thể điều khiển nó hoạt động?. Chính vì thế, tìm hiểu về Operating System là bắt buộc nha anh em.

Kế tiếp là các hệ điều hành hiện nay. Cái này thì không cần nói hầu như mọi người cũng biết. 3 hệ điều hành phổ biến hiện nay để tìm hiểu là:

  • Linux (Khuyếnh khích)
  • Unix
  • Windows

Tại sao các máy chủ hiện tại lại yêu thích Linux. Trường hợp nào máy chủ Linux được ưu tiên hơn máy chủ Windows. Lợi và hại của từng loại máy chủ.

Ngoài tìm hiểu nội dung cơ bản, anh em cũng cần học về terminal, kể cả là có GUI hay không có GUI anh em cũng chiến rầm rầm. Mở terminal lên là deploy thôi.

Tiện đây giới thiệu cho anh em con Terminus, xài bao đã, remember vào cứ click và bay thẳng vào server gõ lạch cạch.

Lộ trình trở thành devops engineer
Quản lý danh sách host, server. Truy cập bằng 1 click

Lộ trình trở thành devops engineer
Thêm host mới nhanh chóng, dễ dàng

Anh em có thể tìm hiểu thêm về sự khác biệt giữa các hệ điều hành tại đây.

3. Tìm hiểu về mạng máy tính, bảo mật (networking security ) và các phương thức (protocols)

Sau khi đã thành thạo bá đạo các hệ điều hành rồi. Tới độ mở terminal lên là gõ thôi, mọi câu lệnh nằm trong đầu, không phải tra cái gì cả.

Nhắm mắt vào cũng rm -rf, pm2 delete rầm rầm thì xin chúc mừng anh em đã qua bước thứ 2 trong lộ trình trở thành DevOps Engineer. Bước thứ 3 là tìm hiểu về mạng máy tính, bảo mật và các phương thức (protocols).

Bước này có một số khái niệm cơ bản anh em phải nắm vững:

Ví dụ như HTTP, anh em cần tìm hiểu thật sâu nó có những phương thức nào (tham khảo bài Http Methods: thất tinh bắc đẩu trận). Nếu có điều kiện thì thực hành với postman, sự khác biệt giữa các methods là gì?. Thực tế lúc nào cần xài cái nào?

Lộ trình trở thành devops engineer
Mô hình OSI trong mạng máy tính

Ngoài những thông tin trên, rõ ràng là bất cứ ứng dụng nào cũng sẽ có protocols (phương thức) giao nhận để truyền đạt thông tin. Mỗi giao thức lại hỗ trợ một kiểu khác nhau, nên anh em cần nắm kỹ.

  • TCP/IP (Transmission Control Protocol/Internet Protocol) suite.
  • ARP (Address Resolution Protocol)
  • DHCP (Dynamic Host Configuration Protocol)
  • DNS (Domain Name System)

4. Học về Infrastructure

Sau khi đã nắm kiến thức về Security và Protocols thì bước kế tiếp là tìm hiểu về Infrastructure. Bước thứ 4 trong lộ trình trở thành Devops Engineer không đơn giản.

Infrastructure as Code (IaC) là công việc hợp lý hoá, thiết kế và phân tích cơ sở hạ tầng để triển khai ứng dụng. Các ứng dụng khác nhau lại có yêu cầu về cơ sở hạ tầng khác nhau.

Ví dụ, một ứng dụng truyền đạt dữ liệu đơn giản có thể không yêu cầu nhiều về mặt hạ tầng. Nhưng với những dự án có sử dụng thiết bị IoT hoặc các thiết bị truyền đạt dữ liệu lớn, việc thiết kế hạ tầng đòi hỏi cần người có trình độ cao, có kinh nghiệm.

Lộ trình trở thành devops engineer
Một ví dụ về thiết kế hạ tầng cho hệ thống IoT. Nguồn ảnh: f5.com

Bước này có lẽ là bước tốn nhiều thời gian nhất để trở thành một Devops Engineer giỏi. Ngoài việc nắm chắc kiến thức, bước này còn cần thời gian để thực hành. Cơ hội để tham gia vào dự án thực tế.

5. Lấn sâu vào CI (Continuous Integration) và CD (Continuous Deployment)

Nghe có vẻ hơi ngược trong lộ trình trở thành DevOps Engineer nhưng bước thứ 5 lại là lấn sâu vào CI và CD. Thực tế CI và CD không hề khó nếu anh em đã có kiến thức nền ở các bước số 1 và 2.

Tích hợp liên tục (CI) và Triển khai liên tục (CD) là nguyên tắc trung tâm và cốt lõi cho Devops Engineer. Bản thân công việc của người kỹ sư là tự động hoá để làm sao việc phát triển, triển khai các ứng dụng được thực hiện liên tục, không có sự ngắt quãng.

Để đạt được việc này, hầu hết các kỹ sư giỏi đều nắm chắc các công cụ hỗ trợ CI, CD. Sau khi thiết lập hoàn thiện các phần này, công sức triển khai không còn là bao nhiêu.

Một số cái tên có thể liệt kê ra đây để anh em tìm hiểu:

  • GitHub
  • GitLab
  • Bamboo
  • Jenkins

Ở trình độ cao hơn, một số anh em có thể tự xây dựng CI, CD cho riêng bản thân mình. Có thể một số tính năng như count time, log, auto retries chưa có, nhưng cũng không phải là điều không thể.

6. Hiểu sâu về Application Monitoring và Infrastructure Monitoring.

Sau khi đã triển khai CI, CD thành công. Bước thứ 6 trong lộ trình trở thành DevOps Engineer là Monitoring.

Trong bài viết này mình chia thành 2 loại là Applicaiton Monitoring và Infrastructure Monitoring.

Vậy Monitoring là gì?. Bản thân nó là giám sát, sau khi đã triển khai ứng dụng, trong quá trình vận hành làm sao anh em có thể giám sát. Trường hợp có sự cố hoặc tiềm tàng phát hiện sự cố, việc giám sát giúp hạn chế rủi ro, hạn chế thiệt hại khi có sự cố phát sinh.

Lộ trình trở thành devops engineer
Ví dụ về mornitoring application. Nguồn ảnh/ Source: solarwinds.com

6.1 Application Monitoring

Theo dõi ứng dụng ở đây là theo dõi các thông số hoạt động liên quan tới ứng dụng. Các chỉ số này bao gồm các tính năng liên quan tới ứng dụng. Nếu có một form đăng ký, bình thường hàng ngày số lượt đăng ký là 300. Nếu hôm nay tự nhiên là 5, vậy có khả năng nó có vấn đề.

Một số công cụ Application Monitoring anh em có thể tham khảo:

  • Prometheus (recommended)
  • Nagios
  • Datadog

6.2 Infrastructure Monitoring

Infrastructure theo dõi ở cấp độ hạ tầng, kết nối giữa ứng dụng và các hạ tầng khác liên quan. Ví dụ một ứng dụng IoT có lưu dữ liệu lên đám mây. Nếu kết nối cloud có vấn đề, việc theo dõi có thể ngăn chặn sớm lỗi này.

Một số công cụ Infrastructure Monitoring anh em có thể tham khảo:

  • New Relic (recommended)
  • Jaeger
  • AppDynamics

7. Tìm hiểu về các dịch vụ cloud.

Hầu hết các ứng dụng hiện này đều được host trên cloud. Mỗi bên cung cấp dịch vụ về cloud lại có một tài liệu kỹ thuật riêng. Dịch vụ cloud cung cấp bảo mật, khả năng mở rộng

Bước thứ 7 trong lộ trình trở thành DevOps Engineer là tìm hiểu và thi lấy chứng chỉ nếu được cho các Cloud Provider này. Việc thi chứng chỉ sẽ bao gồm rất nhiều hạng mục:

  • Sử dụng Cloud như thế nào
  • Tính toán chi phí
  • Ước lượng, thiết kế hạ tầng cloud cho ứng dụng

Việc tìm hiểu, thực hành cho các bên cung cấp dịch vụ Cloud là bắt buộc. Có thể kể tới đây một số bên cung cấp dịch vụ cloud lớn nhất hiện nay:

  • AWS (recommended)
  • Azure
  • Google Cloud
  • Heroku

Lộ trình trở thành devops engineer
Top 10 Cloud Provider – Nguồn ảnh: allcode.com

8. Nắm chắc, hiểu sâu về cloud design patterns

Sau khi đã thành thạo và hiểu sâu về các bên cung cấp dịch vụ cloud. Bước cuối cùng để trở thành DevOps Engineer trình độ cao là hiểu biết về Cloud Design Pattern.

Design Pattern là các pattern cần tuân theo để thiết kế Cloud sao cho có khả năng mở rộng, đạt được độ tin cậy và bảo mật.

Một ví dụ đơn giản là giải quyết bài toán độ trễ (high latency) trong hệ thống cloud.

Một số lĩnh vực anh em có thể tìm hiểu về Cloud Design Pattern bao gồm:

  • Availability
  • Data Management
  • Design and Implementation

9. Tham khảo thêm về lộ trình trở thành devops engineer

Anh em lưu ý là lộ trình tui đề xuất ra đây là lộ trình cơ bản và không bao gồm tất cả những nội dung anh em cần học để trở thành DevOps Engineer nha. Lộ trình để tham khảo thôi đấy.

Chứ đi theo lộ (đường) thì đôi khi mỗi anh em lại hợp với một loại đường. Có anh em thích đi đường nhựa tay ga, có anh em thích đi đường đá chân trần. Anyway

Cảm ơn anh em đã dành thời gian đọc bài. Thank you for your time – Happy Coding

Anh em có thể tham khảo tin tuyển dụng DevOps để phát triển sự nghiệp nhé!

Tác giả: Kiên Nguyễn

Xem thêm:

Tìm việc làm IT mới nhất trên TopDev