DevOps là gì ? DevOps Engineer là gì ? Hiện tại nhu cầu nhân sự nhân sự ở vị trí Kĩ Sư DevOps (DevOps Engineer) tại các công ty công nghệ ở nước ta hoặc trên toàn cầu đang rất cao. Vậy thì vị trí DevOps mang đến lợi ích gì ? Chúng ta cùng tìm hiểu qua bài viết sau đây.
1. DevOps là gì?
DevOps là từ rút gọn của Development (Dev) và Operations (Ops). DevOps là một văn hóa thực hiện công việc kết hợp giữa kỹ sư phát triển phần mềm (dev) với bộ phận operator (kỹ sư hệ thống, nhân viên bảo mật, kỹ sư mạng, kỹ sư hạ tầng,…) nhằm mục đích rút ngắn vòng đời phát triển sản phẩm (SDLC).
DevOps chẳng phải là một Tools hỗ trợ làm việc, mà là một phương pháp thực hiện công việc cần đến sự hỗ trợ của các Tools. ngoài ra, không có bất cứ một chuẩn mực nào để những những người sử dụng phương pháp DevOps để tuân theo.
Nó dễn hiểu là một văn hóa, một cách thực hiện công việc kết hợp giữa dev và nhân viên operations thay vì thực hiện công việc một mình hay chỉ một team độc lập nào đó.
Dưới đây sẽ giới thiệu về những điều cần biết để áp dụng DevOps, bao gồm:
- DevOps Culture : văn hóa thực hiện công việc kết hợp giữa Dev và Ops
- DevOps Practices : cách để thực thi DevOps
- DevOps Tools : những Tools cần để thực thi DevOps
- DevOps và Cloud : mối tương quan giữa DevOps và cloud
2. DevOps Engineer là gì?
DevOps Engineer thường là người có kinh nghiệm về cả mảng phát triển sản phẩm lẫn vận hành hệ thống. hơn nữa, đôi khi họ còn có kỹ năng kinh doanh và giao tiếp tốt với cả khách hàng.
Ngày càng có nhiều công ty tìm kiếm những nhân tài như vậy. Vì họ tin rằng, để các chuyên gia về DevOps phụ trách lĩnh vực này sẽ đảm bảo tất cả quá trình phân phối sản phẩm diễn ra hiệu quả và tự động hoá ổn định.
Ý kiến khác về DevOps thì cho rằng: “DevOps thực sự tạo nên văn hoá cộng tác, nghĩa là làm ra các nhóm đa công dụng thay vì tách chúng ra riêng biệt”.
Để xây dựng một nhóm như vậy, trước hết bạn cần lựa chọn và phân bổ vai trò của các thành viên trong nhóm. Một nhóm có thể gồm lập trình viên, tester, quản trị viên hệ thống và các những người có chuyên môn bảo mật.
Việc khai triển một team DevOps Engineer hay chỉ cần một thành viên là tuỳ thuộc nhu cầu riêng của mỗi tổ chức.
3. Sự phát triển của DevOps
Những người làm công việc DevOps hay được trả lương cao nhất trong giới chuyên gia về CNTT vào thời điểm hiện tại, và nhu cầu thị trường cho công điều này phát triển nhanh chóng vì các tổ chức dùng DevOps ngày càng tăng cao.
Theo một báo cáo mới đây được công bố bởi Puppetlabs, các tổ chức dùng hướng tiếp xúc DevOps triển khai code với tần suất nhiều hơn 30 lần so với các đối thủ chung ngành của họ, và số lần khai triển thất bại của họ ít hơn đến 50%.
Chỉ trong 2 năm, danh sách các công việc DevOps trên trang tuyển dụng uy tín Indeed.com đã tăng đến 75%. Trên LinkedIn.com, số lượng nhắc đến kỹ năng DevOps đã tăng 50%.
Trong một cuộc khảo sát mới đây của Puppetlabs, một nửa số người được hỏi trong tổng số 4.000 người tham dự (ở hơn 90 quốc gia) cho biết công ty của họ có chú ý nhiều đến kỹ năng DevOps khi tuyển dụng.
4. Công việc của một Devops engineer là gì?
Nhìn chung, công việc chính của devops engineer rất gần với công việc của Sysadmin, bao gồm: deploy, optimizing, monitoring, analysis… điểm khác biệt là:
Devops engineer đòi hỏi nhiều kĩ năng mềm hơn, cùng lúc đó phải biết dùng coding, scripting để automate hệ thống.
Người làm devops engineer cũng phải tìm hiểu về stack mà sản phẩm công ty đang dùng. Để có thể cùng review bug. Viết những unit test thường thường, và để khi phát triển tiến trình CI/CD thì deploy “êm ái” hơn.
Người làm Devops Engineer trước hết phải có tư tưởng – mindset đúng. Họ cần đặt lợi ích doanh nghiệp, ích lợi sản phẩm lên hàng đầu. cùng lúc đó thấy rằng tất cả các team bản chất là cùng một “phe”, cùng sẻ chia lợi ích cũng giống như rủi ro.
Thay vì đợi team Dev phát triển xong sản phẩm, rồi team Ops mới tham gia vận hành như trước kia.
5. DevOps cần học gì?
Để thực hiện được devops bạn phải biết khá là nhiều thứ về system cũng giống như coding và nhiều kỹ năng sau đây:
Biết và dùng thành thục linux, window, macOS. Biết dùng thành thục lệnh Terminal trong linux, CMD và powercell trong window và lệnh trong Linux hoặc Macos. Có kiến thức căn bản về: Process Management, Threads and Concurrency, Sockets, I/O Management, Virtualization, Memory storage and file systems.
Nên có kiến thức căn bản về: DNS, HTTP, HTTPS, FTP, SSL. Hoặc tìm hiểu thêm về các lỗ hổng bảo mật thường gặp.
Biết thiết lập và sử dụng vài Website Server phổ biến như: Apache và Nginx. Tìm hiểu một vài khái niệm và chức năng thường được sử dụng: Caching Server, Load balancer, Reverse Proxy, and Firewall. Có thể khởi đầu với một vài practice với Docker đơn giản như:
- Setup thử một số cache server
- Giả lập có nhiều servers dưới local bằng cách sử dụng các Docker container. sử dụng công dụng Load balancer của Web server để cân bằng tải cho server.
Biết và sử dụng một số dịnh vụ cloud như AWS của amazon, google cloud, và azure của microsoft.
Biết code một vài ngôn ngữ hệ thống như bashscript, java, javascipt , python, Php…
Biết sử dụng 1 số tool để truyển khai CI&CD như jenkins, jira , git (Gitlab, Bitbucket…)… Một DevOps Engineer nên biết Infrastructure as code):
- Containers: Docker, Kubernetes
- Các công cụ quản lý cấu hình: Ansible, Pupet, Chef,..
Biết sử dụng các tool monitoring server như: Nagios, Zabbix, Icing, Datadog…
6. Cơ hội nghề nghiệp DevOps
Không có điều kiện tiên quyết cụ thể nào để theo đuổi một nghề nghiệp trong DevOps. Bất cứ ai có trải nghiệm hay kiến thức căn bản trong bất kỳ các công việc sau đây có thể học để tiếp xúc DevOps:
- Lập trình (bất kỳ ngôn ngữ nào)
- Shell scripting
- Quản trị hệ thống
- Các dịch vụ IT – Ops và Hỗ trợ
- Xây dựng và phát hành (Build and release)
- QA hoặc Testing
7. Mức lương của DevOps Engineer
Kỹ sư DevOps là một trong những người công việc được trả lương cao trong lĩnh vực IT. Tất nhiên nếu bạn ở Mỹ, châu Âu hay đất nước ta thì mức lương sẽ khác nhau tuy nhiên nhìn chung lương DevOps Engineer ở mức cao.
VD ở Mỹ lương trung bình là 121,589 đô la Mỹ mỗi năm theo khảo sát của Indeed vào cuối năm 2018. Tại nước ta, theo thăm dò của TopDev vào đầu năm 2020 , mức lương của DevOps engineer vào khoảng 1,894 USD/tháng, thuộc hàng cao nhất trong ngành.
Báo cáo không nhắc đến số năm kinh nghiệm để đạt mức lương này.
8. Kết luận
Bài viết này đã giới thiệu về DevOps Engineer là gì? và nhu cầu tuyển dụng DevOps Engineer đang tăng mạnh. Công việc của DevOps về căn bản gồm có cả vận hành và phát triển phần mềm, nên đây sẽ là cơ hội tuyệt vời để bạn phát triển kỹ năng của mình!
Xem thêm: Tìm hiểu về ngành kỹ thuật phần mềm
Phương Thoa – Tổng hợp, chỉnh sửa
(Nguồn tham khảo: cuongquach, itguru, kipalog)
Bình luận về chủ đề post