Sử dụng DevOps trong Đại dịch COVID-19

cloudFun

GettyImages-1161702497.jpg
Đại dịch COVID-19 mà tất cả chúng ta phải đối mặt trong năm nay đang thay đổi lực lượng lao động trên toàn thế giới. Vì việc quay lại văn phòng làm việc vẫn chỉ đang là mong ước nên các công ty sẽ cần DevOps hơn bao giờ hết.

Theo nghiên cứu của Đại học Stanford , Mỹ đã trở thành một nền kinh tế “làm việc tại nhà”. 42% lực lượng lao động hiện đang làm việc toàn thời gian tại nhà. Trong khi một số doanh nghiệp gặp khó khăn trong việc điều chỉnh lối sống hiện đại này, thì những doanh nghiệp khác đã thích nghi ngay lập tức. Sắp tới, đối với một số lượng lớn các doanh nghiệp, việc không thể thích ứng có thể gây ra những thất thoát lớn.    

Với đại dịch, nhiều công ty đã phải làm quen với việc kỹ thuật số hoàn toàn. Mặc dù nhu cầu cung cấp phần mềm nhanh chóng và hiệu quả vẫn luôn hiện hữu, nhưng giờ đây nó đang trở nên gắt gao hơn bao giờ hết. Tuy nhiên, việc cung cấp phần mềm nhanh chóng cũng mang lại rất nhiều quy trình dễ xảy ra lỗi. 
DevOps là một tập hợp các hoạt động nhằm giảm thiểu lead time giữa code commit và deploy đến quá trình sản xuất mà vẫn duy trì quá trình này ở mức cao. Cách làm việc và thậm chí cả tư duy này đã xuất hiện trong phát triển phần mềm được một khoảng thời gian. Tuy nhiên, với tình huống mới này, lợi ích của nó ngày càng rõ ràng hơn .   
Một số lượng lớn các công ty từ các ngành khác nhau đang sử dụng DevOps thông qua các công cụ và hoạt động khác nhau. Họ được hưởng một số lợi ích, như phân phối liên tục, làm việc linh hoạt, quy trình phát hành và triển khai riêng biệt . Tất cả đều dẫn đến sự cải thiện tổng thể về chất lượng sản phẩm và dịch vụ.  

DevOps đứng ở đâu trong Đại dịch COVID-19?
Các công ty công nghệ châu Âu cũng đang chuyển mình do đại dịch COVID-19. Nhiều nhóm dev đã hoàn toàn làm việc từ xa, di chuyển từ một địa điểm đến nhiều địa điểm khác nhau. Ngoài ra, rất nhiều dev chọn ở lại đất nước của mình. Mặc dù làm việc từ xa trong một tình huống bình thường là một điều rất tự nhiên và hữu ích, việc chuyển nhanh sang một cài đặt từ xa là một cú sốc đối với nhiều người . Hóa ra điều khiển từ xa một cách tự nguyện và điều khiển từ xa bằng vũ lực là hai việc hoàn toàn khác nhau.  

Các đội phải nhanh chóng thích nghi với điều bình thường mới trong khi duy trì năng suất của họ ở mức cao. Điều này đã mở ra nhu cầu về các DevOps phân tán, buộc các nhóm phải trở nên nhanh nhẹn ngay cả khi họ chưa từng làm trước đó.  Đối với một số đội, việc chuyển đổi này dễ dàng hơn so với những đội khác. Bài đăng trên blog của IDC UK về chủ đề này đề cập đến GitHub và Microsoft là các nhóm đang dần chuyển sang mô hình phân tán. Mặt khác, mô hình chính của Cycloid được phân phối, vì vậy tình trạng coronavirus không thay đổi cách hoạt động của họ. Zapier và Trello là 2 công ty khác mặc định làm việc từ xa. Hơn nữa, Twitter và Atlassian đã thích nghi với tình hình bằng cách cho phép nhân viên của họ làm việc tại nhà vĩnh viễn.       
         
Tuy nhiên, những thay đổi này đòi hỏi các loại đầu tư khác, đòi hỏi các công ty phải cung cấp hệ thống công nghệ mạnh mẽ hơn cho nhân viên của họ . Ví dụ: GitHub và Microsoft đang đầu tư vào các hệ thống phát triển cloud để cho phép các dev truy cập dễ dàng hơn vào cơ sở hạ tầng của họ.      Nhiều công ty đang xem xét đi theo con đường này. Trên thực tế, Codefresh đã tiến hành nghiên cứu  về cách mà đại dịch đang ảnh hưởng đến trạng thái DevOps của doanh nghiệp. 58% số người được hỏi nói với Codefresh rằng do đại dịch, họ đang chuyển các phần cơ sở hạ tầng của mình lên cloud. Hơn nữa, 17% đang di chuyển toàn bộ stack lên cloud .    
Vì vậy, các công ty đang tăng ngân sách DevOps của họ vì nó tác động tích cực đến năng suất của các dev. Dưới đây là đề xuất của về những gì nên tập trung vào để trở nên hiệu quả hơn:  

Phân phối liên tục để làm cho các nhóm hoạt động hiệu quả hơn 
Triển khai code có thể là một quá trình phức tạp. Các lỗi có thể làm gián đoạn hoạt động của toàn bộ phần mềm và do đó, ảnh hướng đến toàn bộ doanh nghiệp. Tuy nhiên, giao hàng liên tục đã xuất hiện để giải vây .  DevOps chính là phân phối liên tục. Điều này có nghĩa là nhóm luôn có code nguồn ở trạng thái có thể triển khai, triển khai phần mềm thường xuyên và tự tin trong quá trình triển khai. Khi một nhóm triển khai thường xuyên, điều đó có nghĩa là các sửa đổi không lớn đến vậy. Điều đó cũng có nghĩa là chúng có thể được thực hiện bởi một vài người thay vì toàn bộ nhóm. Điều này làm cho giao tiếp dễ dàng hơn nhiều.  

Sự tin tưởng hơn vào quá trình thực hiện thường là hệ quả tích cực của việc triển khai liên tục. Điều này là do tần suất triển khai tăng lên. Không cần phải căng thẳng khi triển khai code cho sản xuất, vì vậy các nhóm có thể đẩy nhanh tiến độ ra thị trường. Hơn nữa, họ có thể cung cấp giá trị cho khách hàng trong một khoảng thời gian ngắn hơn.  

Thực hiện các quy trình phát hành và triển khai riêng biệt  
Một bài báo của TribalScale gợi ý tách biệt việc phát hành và triển khai như một hành động hữu ích để quản lý rủi ro trong thời kỳ kinh tế không chắc chắn. Xin nhắc lại, triển khai có nghĩa là chuyển code sang sản xuất . Mặt khác, phát hành có nghĩa là cung cấp ứng dụng (code) cho người dùng cuối . Khi hai quy trình này được tách biệt, các nhóm có thể liên tục phân phối, giảm nguy cơ phát hành các tính năng bị lỗi cho người dùng cuối.      

TribalScale gợi ý rằng cách dễ nhất để đạt được điều này là sử dụng cờ tính năng hoặc phần mềm chuyển đổi tính năng . Điều này có nghĩa là nhóm sản phẩm và kỹ sư phát triển các tính năng theo cách mà chúng có thể được bật / tắt bằng nút bật / tắt trong phần mềm cờ tính năng. Bằng cách thực hiện lệnh gọi API tới nhà cung cấp phần mềm gắn cờ tính năng, dev sau đó code hóa tính năng được bao bọc xung quanh một câu lệnh điều kiện để kiểm tra xem cờ tính năng đang bật hay tắt. Những công cụ như thế này có thể trao quyền kiểm soát cho dev để phát hành một tính năng cho tất cả mọi người hoặc không cho ai. Nó cũng cho phép họ quản lý rủi ro hiệu quả hơn, lặp lại nhanh hơn, thử nghiệm trong quá trình sản xuất và phát hành code chất lượng hơn. 

DevOps là một sự thay đổi tư duy 
Khi nói đến DevOps, công nghệ không phải là phần khó nhất. Đó là các quy trình cần được sửa đổi và kết hợp trong công ty để mọi thứ hoạt động hiệu quả. Lợi ích của DevOps sẽ mở ra nhu cầu về nhiều quy trình, KPI và sự thay đổi nhân sự mới.   Quan trọng nhất, trong bối cảnh đại dịch, sự cộng tác phân tán cũng đòi hỏi nhiều sự thích nghi. Giờ đây, cả đội đều ở xa thay vì chỉ có những người đã mất một ngày ở xa, mọi thứ đều trở nên xa vời. Điều này có nghĩa là các công ty sẽ phải đưa ra một quá trình thay đổi văn hóa trong giai đoạn sau. Trong quá trình này, họ sẽ phải tập trung vào việc trở nên nhanh nhẹn và linh hoạt hơn. Họ cũng cần có lòng khoan dung đối với các nhu cầu và tình huống của nhân viên.     

Đối với bất kỳ doanh nghiệp nào, thách thức sẽ là duy trì sự ổn định của các nhóm công nghệ và DevOps, đồng thời thực hành các hoạt động đa chức năng và giữ chân nhân tài vì họ sẽ rất khó tìm. Giờ đây, để duy trì doanh nghiệp ở cấp độ cao hơn, các đội sẽ phải giải quyết các vấn đề mà họ thường không quá chú ý. Đây có thể là những xung đột nhỏ giữa các cá nhân hoặc công cụ để chia sẻ tài sản.   

Các kỹ năng mới mà chuyên gia DevOps cần sở hữu
Với mục đích này, các doanh nghiệp sẽ không chỉ phải hình dung lại quy trình tuyển dụng của họ . Họ cũng sẽ phải đào tạo đội ngũ nhân viên hiện có của mình để hỗ trợ các DevOps phân tán . Theo DevOps Institute, sẽ có một sự thay đổi lớn về các kỹ năng cần thiết để thực hiện thành công các chiến lược DevOps . Hơn nữa, kỹ năng kỹ thuật sẽ không phải là thứ quan trọng duy nhất. Tài năng cũng sẽ phải có các kỹ năng mmeefm như sự đồng cảm và khả năng thúc đẩy bản thân trong môi trường làm bài tập. Một người có sự kết hợp phù hợp giữa kỹ thuật và kỹ năng mềm sẽ là ứng cử viên lý tưởng cho vị trí kỹ sư DevOps.      

Khi ngày càng có nhiều công ty tiến xa, những kỹ năng này càng trở nên cần thiết hơn. Kỹ năng giao tiếp và sự nhanh nhẹn đặc biệt quan trọng khi các thành viên trong nhóm không ở cùng một nơi. Lỗi giao tiếp có thể dẫn đến công nghệ bị hỏng và lỗi trong các nhiệm vụ và dự án quan trọng. 

Ghi chú
Ngoài ra, hãy ghi nhớ những điều này: 
  • Nếu không dùng cloud, bây giờ là lúc bắt đầu.  Đại dịch không biết khi nào sẽ kết thúc, vì vậy chuyển sang cloud là giải pháp phù hợp dẫn đến các quy trình an toàn hơn và có thể mở rộng.  
  • Tự động hóa là rất quan trọng. Khi nói đến các nhóm phân tán, việc giao tiếp có thể bị phá vỡ rất dễ dàng. Điều này có thể dẫn đến sự gián đoạn của nhiều quy trình quan trọng. Tự động hóa có thể loại bỏ các câu hỏi không cần thiết. Hơn nữa, tự động hóa có thể giảm rất nhiều thời gian dành cho các công việc thủ công và giảm thiểu sai sót.  
  • Ngăn ngừa hiện tượng làm việc quá sức. Làm việc tại nhà đồng nghĩa với không có ranh giới rõ ràng giữa cuộc sống riêng tư và nghề nghiệp. Dev làm việc tại cùng một nơi mà họ dành thời gian cho gia đình. Điều này có thể làm cho mọi thứ trở nên xáo trộn và dẫn đến kiệt sức. Việc chuyển sang DevOps phân tán có thể dẫn đến căng thẳng thêm, vì vậy hãy đảm bảo rằng người quản lý hiểu được cảm xúc của nhân viên. Cách tốt nhất là đặt giờ giao tiếp rõ ràng và để phần còn lại dành cho thời gian thư giãn và gia đình. 
Một chiến lược DevOps tốt có thể giúp các nhóm cung cấp phần mềm chất lượng trong một khoảng thời gian ngắn. Trong thời kỳ khủng hoảng, điều này có thể tạo ra động lực lớn cho sự phát triển của công ty. DevOps giúp các nhóm chức năng chéo nhanh nhẹn hơn và có lưu ý đến rủi ro trong tương lai, đưa ra các lựa chọn tốt hơn. Thay vì những cải tiến nhỏ, dần dần, những lần như thế này đòi hỏi những thay đổi mạnh mẽ hơn.

Nguồn:
 
Top