Hoạt động web là gì? Nó liên quan như thế nào với DevOps và SRE?
Có một xu hướng lớn trong phát triển phần mềm cho các nhà phát triển tham gia nhiều hơn vào việc triển khai, giám sát và hoạt động tổng thể của các ứng dụng web. Ở nhiều công ty, phong trào DevOps đang thúc đẩy rất nhiều thay đổi và hợp tác giữa phát triển và hoạt động. Khái niệm về hoạt động web được xây dựng trên đầu trang của DevOps nhằm giải quyết cụ thể việc triển khai và giám sát các ứng dụng web, dịch vụ web, dịch vụ microservices và các loại ứng dụng khác.
Các hoạt động web là gì?
Nhóm hoạt động web (WebOps) chịu trách nhiệm triển khai, giám sát và hoạt động tổng thể của một ứng dụng web. Trọng tâm của họ là đảm bảo hoạt động trơn tru của các ứng dụng web quan trọng.
Hoạt động web là sự kết hợp giữa quản trị viên hệ thống điển hình và vai trò hoạt động CNTT với một số kiến thức chuyên sâu hơn về các ứng dụng web. Bất kỳ ai làm việc trong các hoạt động web đều sẽ cần những kỹ năng cụ thể sau:
- Khả năng thực thi triển khai ứng dụng web
- Hiểu biết về các giao thức định tuyến và giao thức HTTP lớp 7
- Trải nghiệm với các máy chủ web phổ biến như IIS, Apache , Nginx
- Kiến thức cơ bản về ngăn xếp ứng dụng web phổ biến và cách định cấu hình chúng
- Kinh nghiệm với các cân bằng tải ứng dụng, proxy ngược, tường lửa ứng dụng web
Tùy thuộc vào việc bạn đang lưu trữ ứng dụng của mình trên đám mây, tận dụng các dịch vụ PaaS , hoặc xếp chồng và xếp chồng các máy chủ của riêng bạn, nhóm điều hành web của bạn cũng có thể cần phải có kinh nghiệm trong các trách nhiệm quản trị hệ thống truyền thống hơn. Chúng sẽ bao gồm những thứ như quản lý hypervisors, switch, tường lửa, SAN, v.v.
Tại sao hoạt động web?
Hầu hết các nhóm hoạt động CNTT sắp xếp rất nhiều nhiệm vụ và hỗ trợ một loạt các máy chủ, các ứng dụng đóng gói của bên thứ ba (kế toán, trao đổi, vv) và phần mềm được phát triển trong nhà.
Một nhóm hoạt động web sẽ tập trung vào việc chỉ hỗ trợ phần mềm được phát triển trong nhà có nhiệm vụ quan trọng đối với doanh nghiệp. Đây có thể là sản phẩm dựa trên SaaS đang được xây dựng và bán bởi doanh nghiệp.
Hầu hết các công ty làm các hoạt động web ngay cả khi nó là một lai của nhiều người làm việc cùng nhau. Điều này có thể bao gồm quản trị viên hệ thống, người quản lý phát hành và nhóm phát triển. Hầu hết các ứng dụng web không bao giờ chạy trên nhiều máy chủ và không có nhiều hoạt động hàng ngày.
Đối với các công ty có các ứng dụng web quan trọng và nhiệm vụ quan trọng, có ý nghĩa khi xây dựng một nhóm chuyên hỗ trợ các ứng dụng như vậy. Bạn cũng có thể có một nhóm hoạt động web hỗ trợ nhiều ứng dụng web nhỏ hoặc vừa.
WebOps và DevOps
DevOps là tất cả về sự hợp tác giữa các nhà phát triển và hoạt động CNTT. Theo truyền thống, DevOps chủ yếu tập trung vào mặt phân phối của phần mềm và không giám sát hoặc hoạt động hàng ngày. Mục tiêu của DevOps là giúp các công ty vận chuyển mã nhanh hơn với chất lượng cao hơn.
WebOps (hoạt động web) mở rộng khái niệm về DevOps để bao gồm không chỉ triển khai, mà còn giám sát và hoạt động hàng ngày của một ứng dụng web.
DevOps là một trong những thuật ngữ đó có nghĩa là rất nhiều thứ khác nhau cho những người khác nhau. Là người sáng lập một công ty có mục đích cụ thể để trợ giúp các hoạt động web, tôi luôn cảm thấy các hoạt động web là một thành phần quan trọng đối với câu chuyện đầy đủ của DevOps.
Chúng tôi cần các nhà phát triển tham gia vào việc triển khai và giám sát liên tục và xử lý sự cố của các ứng dụng. Điều này cũng chảy máu vào khái niệm về kỹ thuật độ tin cậy của trang web.
Hoạt động web so với kỹ thuật độ tin cậy của trang web
Khi tôi nghĩ về hoạt động web, tôi ngay lập tức nghĩ về khái niệm so sánh với kỹ thuật độ tin cậy của trang web. Cả hai đều có liên quan đến DevOps, nhưng khác nhau về triển khai của chúng. Các hoạt động web là sự pha trộn giữa các hoạt động CNTT điển hình với trọng tâm hỗ trợ các ứng dụng SaaS mà một doanh nghiệp xây dựng và bán.
Kỹ thuật độ tin cậy của trang web , mặt khác, tìm cách giải quyết cùng một mục tiêu bằng cách chuyển nhiều trách nhiệm hơn cho nhóm phát triển.
Trong cả hai kịch bản, tôi sẽ tưởng tượng một người hoạt động CNTT truyền thống xử lý các vấn đề về phần cứng. Nó không có nhiều ý nghĩa để có các nhà phát triển bao giờ cấu hình VMware, một SAN, và các nhiệm vụ liên quan. Kỹ thuật độ tin cậy của trang web thực sự khởi động một khi họ có thể triển khai ứng dụng của họ. Họ có thể sở hữu và vận hành nó từ đó.
Hoạt động web
Hoạt động CNTT giám sát việc triển khai, giám sát và hoạt động hàng ngày
| Kỹ thuật độ tin cậy của trang web
Nhóm phát triển giám sát việc triển khai, giám sát và hoạt động hàng ngày
|
Cuối cùng, mục tiêu là như nhau, và câu trả lời cho hầu hết các tổ chức có thể là một hỗn hợp của hai khái niệm này nếu họ có một đội ngũ hoạt động CNTT. Nhưng, điều đó mang đến một vấn đề hoàn toàn khác.
Rất nhiều công ty những ngày này đang triển khai ứng dụng của họ trực tiếp lên đám mây và không có đội ngũ hoạt động CNTT nào cả. Nhờ các dịch vụ PaaS, các nhà phát triển dễ dàng triển khai các ứng dụng của họ và tự giám sát tất cả các ứng dụng của họ.
Stackify là một ví dụ tốt về điều này. Chúng tôi có hơn 300 máy chủ trên Microsoft Azure và không có nhân viên CNTT hoạt động trên nhân viên. Hầu hết tất cả các ứng dụng của chúng tôi sử dụng nhiều dịch vụ Azure PaaS, giúp đơn giản hóa việc triển khai, giám sát và chi phí hoạt động liên tục của chúng tôi.
Tóm lược
Hoạt động web rất quan trọng đối với bất kỳ công ty nào đang xây dựng và hỗ trợ sản phẩm SaaS. Nếu bạn là một nhóm nhỏ hoặc triển khai lên đám mây, bạn có thể không cần một nhóm hoạt động web thực sự. Có thể bạn đang thực hiện kỹ thuật đáng tin cậy của trang web và thậm chí bạn không biết điều đó. Để triển khai phức tạp với quy mô lớn hơn, bạn nên có một nhóm hoạt động web được dành riêng để đảm bảo mọi thứ diễn ra suôn sẻ.
Sản phẩm của chúng tôi, Retrace , được thiết kế đặc biệt để giúp các nhóm đang áp dụng các hoạt động web, kỹ thuật độ tin cậy của trang web và các thực tiễn DevOps khác. Retrace có thể giúp bạn triển khai các ứng dụng của mình với sự tự tin hơn bằng cách tìm các lỗi trong mã của bạn trước, trong và sau khi triển khai phần mềm.