Devops là gì? Tôi sẽ kể câu chuyện mà bạn chưa được nghe

Nội dung bài viết

Dưới đây là một định nghĩa vui, và hóm hỉnh nhưng nó rất chính xác. Hiện tạị job này đang được tìm kiếm khá nhiều trong thời gian gần đây. Nhưng ở Việt Nam thì có vẻ ít, ít có nghĩa là không có. Về định nghĩa và nguồn gốc của nó, bạn có thể tìm trên Google nhưng tôi cảm thấy lãng phí thời gian, tất cả đều giải thích dài dòng và khó hiểu. Vậy để tôi thử xem, vì có nhiều bạn nói tôi giải thích hơi bị chuẩn kakaka.

DevOps là gì?

DevOps là một cách để các nhóm R&D (Research vs Development ) chia sẻ niềm vui và nỗi buồn, những khó khăn và cùng nhau vượt qua những thăng trầm.

DevOps là gì?


Định nghĩa đơn giản vậy thôi, nhưng để hiểu thì tôi kể một câu chuyện ngắn mà vui. Tôi là một nhân viên lập trình, và đương nhiên là tôi muốn tiếp xúc được nhiều công nghệ, khi đã tiếp xúc thì tôi muốn phát triển được nhiều tính năng càng tốt. Và đó cũng chính là công việc mà tôi muốn làm, cũng như xu thế của người dùng thêm chức năng càng tốt. Nhưng ở đời nó khác một dev suy nghĩ. Tuy nhiên, nếu bạn là một người vận hành phần mềm và bảo trì phần mềm thì bạn lại nghĩ khác. Lúc đó người đó muốn càng ít tính năng càng tốt. Bởi vì mọi tính năng mới có nghĩa là thay đổi mới, và thay đổi có nghĩa là rủi ro.

Qua câu chuyện này ai cũng có cái lý của họ, khi cãi nhau không ai thua và cũng chả ai thắng, và để lại một nỗi đau. Để giải quyết nỗi đâu ấy, thì DevOps ra đời. Thấy hiểu hơn chưa? Vậy DevOps ra đời làm như thế nào để xoá nỗi đau. Thì tiếp tục ở lại đây cùng thảo luận tiếp.

Devops là làm gì?

Như định nghĩa trên thì vậy Devops chính là người phải giải quyết mâu thuẫn trên, nghĩa là vai trò của một kỹ sư DevOps phải cộng tác với các nhà phát triển và nhân viên vận hành bằng cách giúp hai bộ phận này kết hợp hài hoà với nhau. Làm sao đây?

Devops là làm gì?


Theo như tôi tìm hiểu thì công việc hàng ngày của một Devops có hai nhiệm vụ chính đó là tự động hóa và tích hợp liên tục. Tiếp tục chúng ta phân tích về tự động hoá là gì?

Thủ công và tự động hoá là hai khái niệm được nói nhiều nhất trong thời đại 4.0 này. Theo cách truyền thống thủ công có nghĩa là làm bằng tay, chậm những chắc, ít rủi ro. Ngược lại tự động hoá thì năng suất cao nhưng chi phí và độ rủi ro lại tăng lên. Nhưng xét về mặt kinh tế thì đương nhiên là tự động hoá sẽ hiệu quả cao hơn. Nhằm để cho mấy ông hay ném đá tôi, thì tôi cho luôn một ví dụ.

Nhiệm vụ của dev là phải backup dữ liệu hằng ngày 2 lần, đương nhiên là phải giờ ít users hoạt động nhất. Nếu làm thủ công thì thật lãng phí. Bằng cách tự động hóa quá trình backup, bạn có thể cho phép các kỹ sư hệ thống tập trung hơn vào các vấn đề quan trọng, chẳng hạn như khắc phục sự cố máy chủ ngừng hoạt động do một số sự cố nào đó ai biết. Giả sử dev làm cả hai việc đó thì chán và phí thời gian. Đây chỉ là một ví dụ rất đơn giản để minh họa sự lãng phí về thời gian và công sức khi vẫn còn sử dụng thủ công thay vì tự động hoá.

Nếu chưa cảm thấy hài lòng về vi dụ trên thì đây, tôi nói một ví dụ thực tế luôn nè. Bây giờ Apache hay Nginx ra bản mới nhằm fix lỗi những bản trước. Thì bạn có tự động cập nhật về không? Hay vẫn thủ công. Câu hỏi này để lại cho bạn. Còn tôi thì thủ công, vì nó liên quan đến các anh em nữa. Không nó đấm chết.

Nhiệm vụ còn lại của Devops là Continuous Integration (CI) hay còn gọi là tích hợp liên tục. Đó chính là công cụ kiểm soát hệ thống. Hiểu nôm na, là khi có mã mới, hệ thống sẽ tự động kiểm tra lại tất cả quy trình trước đó để đảm bảo ít xảy ra lỗi nhất có thể. Sử dụng CI, các nhà phát triển có thể tự giải phóng mình khỏi các tác vụ thủ công và cải thiện hiệu quả công việc của họ, điều này hiện có thể được thực hiện theo cách tự động trong CI; do được kiểm tra thường xuyên, các lỗi sẽ dễ dàng tìm thấy và giảm thiểu hơn về thời gian và đương nhiên có thể nhanh hơn.

Tóm lại

Vai trò quan trọng nhất của các kỹ sư DevOps là thu hẹp khoảng cách giữa nhóm phát triển và nhóm vận hành và bảo trì và tăng tỷ lệ phân phối phần mềm. Hết.

Mặc dù vai trò của một kỹ sư DevOps khác nhau giữa các công ty hay quốc gia, nhưng chắc chắn có hai khía cạnh chung: tự động hóa và tích hợp liên tục về phần mềm.

Hết. Chúc mọi người tìm kiếm việc làm này hiệu quả. Chú ý lương của DevOps lớn hơn hoặc bằng lương của DEV.

Có thể bạn đã bị missing