Để giảm thiểu chi phí phát triển và nhanh chóng tạo ra các sản phẩm để chiếm lĩnh thị trường, thì ngày nay sự ra đời của các nền tảng (cloud) hay các ứng dụng tổng hợp như wordpress, magento là điều tất yếu. Có những thứ giờ đây người ta còn chẳng phải code. Chỉ cần bỏ ra vài chục $ là đã có ngay 1 cái website hay 1 trang thương mại điện tử.
Thế nhưng cho dù người ta không cần code đi chăng nữa thì người ta vẫn cần DevOps. Qua nói chuyện với nhiều anh em quản lý ở Việt Nam thì mới thấy nhu cầu DevOps cao và thiếu DevOps đến mức nào. Và ở các nước khác cũng thiếu DevOps không kém, ở LINE NEXT mình cũng có cả bạn nữ làm DevOps nữa, một công việc vất vả nhưng cũng rất hấp dẫn và thú vị.
Cái hay của DevOps là mỗi thứ cần phải biết 1 ít, cả về code cũng nên biết, nghiệp vụ dự án cũng nên biết, SA cũng nên biết, infra thì cần phải biết, DB cũng nên biết, nói chung là cái gì cũng biết thì sẽ thuận lợi hơn trong quá trình maintain dự án. Cái thú vị của DevOps là cảm giác như anh em được chơi đùa với công nghệ - máy móc hạ tầng, còn cái khó khăn của DevOps là phải học quá nhiều thứ, công việc áp lực và có thể phải làm vào ca đêm.
Trong quá khứ, có những hiểu nhầm nhất định, hay thậm chí là định kiến về nghề DevOps là nó cũng chỉ là mấy ông ngồi vận hành, nhìn logs, có lỗi gì thì báo Dev. Nhưng ngày nay, khi những người quản lý đi theo mô hình Agile - Scrum, họ hiểu rõ hơn vai trò của DevOps trong dự án và sự cần thiết của CD/CI để đảm bảo cho phần mềm được phát triển và tích hợp liên tục, thì tầm quan trọng và mức lương của DevOps đã được đặt đúng vị trí của nó và hiện tại thuộc dạng top, chỉ kém các cấp quản lý hoặc các công việc có tính đặc thù và yêu cầu ít nhân sự hơn mà thôi.
DevOps cũng không yêu cầu anh em phải có năng khiếu như lập trình thì mới có thể phát triển rực rỡ được, có vẻ như nó cũng chỉ cần anh em đọc hiểu tiếng anh tốt, nhưng cũng yêu cầu anh em làm việc phải chăm chỉ, cẩn thận và tỉ mỉ, nắm trong tay hạ tầng của công ty, chỉ 1 sai sót nhỏ cũng có thể làm bay mọi nỗ lực của tập thể chỉ bằng 1 câu lệnh drop database.
 
DevOps và hơn thế nữa!
 
Hôm trước có anh em hỏi mình thì từ DevOps có trở thành được SA hay không, thì mình đã có 1 cuộc trò chuyện ngắn với anh bạn thuộc team DevOps của LINE NEXT, thì anh ấy nói rằng DevOps là một lĩnh vực rộng lớn, nó không chỉ đơn giản là việc maintain dự án, DevOps còn tham gia vào việc hỗ trợ thiết kế hệ thống sao cho mềm dẻo và ổn định hơn. Mục tiêu chính khi tổ chức ra team DevOps là để giảm thiểu nghẽn cổ chai (bottlenecks) giữa toàn bộ các thành phần trong hệ thống do các team BE, FE hoặc các team khác tạo ra. Vậy nên việc trở thành 1 SA là điều hoàn toàn có thể.
Đối với Dev mà nói thì chúng ta không hoàn toàn mạnh về networking cũng như hạ tầng (infrastructure), điều đó dẫn đến việc cần có sự tham gia của DevOps trong giai đoạn thiết kế hệ thống sẽ tốt hơn, để ngăn chặn vấn đề trước khi nó có thể xảy ra. Tuy nhiên đôi khi các anh em Dev cũng chưa nghĩ đến điều này nên đã dẫn đến những hậu quả đáng tiếc, nhẹ thì là dư thừa tài nguyên, lãng phí tiền của của tổ chức. Nặng thì là gây ra tắc nghẽn, hệ thống bị ngừng hoạt động hay buộc phải loại bỏ đi các phần dư thừa.
Với những công việc quan trọng đó thì DevOps cũng cần trang bị những kỹ năng cần thiết để xứng đáng với mức lương và tầm ảnh hưởng của mình:
1. Kỹ năng giao tiếp và cộng tác để có thể làm việc mọi team và báo cáo công việc cho cấp trên.
2. Kỹ năng mềm và tinh thần cao thượng để sẵn sàng trả lời mọi câu hỏi ngớ ngẩn nhất, tin mình đi, nếu anh em không có đủ bình tĩnh để trả lời hoặc hỗ trợ các câu hỏi ngớ ngẩn thì nghề DevOps này không bao giờ phù hợp với anh em.
3. Hiểu biết về các công cụ có liên quan. Sẽ không có ai phải làm việc với nhiều tools như DevOps đâu, vậy nên nếu không thể nắm chắc các tools công việc DevOps sẽ thất bại.
4. Kỹ năng tư duy và kiến thức về bảo mật. Đó là hành trang cần thiết để DevOps tránh bị hacker qua mặt và chiếm dụng hệ thống.
5. Các kỹ năng setup các hệ thống tự động như CD/CI.
6. Kỹ năng code hay viết các script để sử dụng khi không có đủ tools hoặc tools có nhưng chưa cung cấp đủ tính năng cần thiết.
7. Các kiến thức về các nền tảng cloud mà tổ chức sẽ sử dụng để deploy. Sẽ tốt hơn nếu anh em thi 1 chứng chỉ nào đó trên các nền tảng hiện nay.
8. Kỹ năng kiểm thử. Đôi khi các em cần kiểm thử hệ thống, hay các thành phần mà anh em nghĩ ngờ nó đang có vấn đề.
9. Tập trung vào các vấn đề chính và hướng đến nhu cầu của người sử dụng. Có thể anh em sẽ nên setup các tools có giao diện để người dùng dễ dàng sử dụng và tự monitor chẳng hạn
10. Chủ động trong công việc. Luôn chủ động giao tiếp, chủ động sắp xếp lịch trình, đó là cách tốt nhất để anh em có thể làm việc với nhiều team và tránh được những vấn đề tiềm ẩn.
Không ít anh em sẽ nói là cái mức lương DevOps cao chỉ là chém gió, tôi cũng đang làm DevOps đây, lương có 30tr là hết nước. Nhưng điều đó không có nghĩa là anh đang là 1 DevOps theo đúng nghĩa, anh em mới chỉ đang làm 1 phần việc rất nhỏ của DevOp (cài đặt CD/CI, maintain, xem logs) vậy nên anh em không nhận được mưc lương của 1 DevOps thật sự cũng là điều hợp lý. Vậy chúng ta hãy luôn cầu tiến và phát triển nhé anh em. Cám ơn anh em đã lắng nghe chia sẻ của mình nhé. Cheer!!!