Một bản phát hành được thực hiện tốt là tất cả về kế hoạch và truyền thông. Vì vậy, trước khi tiến hành phát hành, hãy xem xét các câu hỏi sau:
Việc phát hành có thể mất bao lâu và có rủi ro nào trong việc cho phép mọi người tiếp tục giao diện với sản phẩm của tôi trong khi quá trình phát hành đang diễn ra không? Nếu có rủi ro cho hệ thống, hãy xem xét đưa hệ thống ngoại tuyến và đưa ra thông báo "Hệ thống hiện đang bảo trì".
Có khách hàng nào bạn có thể cần thông báo về việc phát hành trước thời hạn không? Tôi có cần nói với họ về sự gián đoạn dịch vụ có thể xảy ra hoặc sự suy giảm hiệu suất trong khi quá trình phát hành đang diễn ra không? Cá nhân tôi luôn nhầm lẫn về việc giao tiếp quá mức và nói với tất cả khách hàng về một cửa sổ phát hành hoặc bảo trì sắp tới trên một blog công khai hoặc một địa điểm tương tự.
Kế hoạch dự phòng của tôi nên phát hành là gì? Ví dụ: nếu bản phát hành không tốt, chúng ta có nên khôi phục và khôi phục hệ thống theo cách để giảm thiểu bất kỳ lúc nào chúng ta ngoại tuyến không? Và nếu vậy, các bước để quay lại một bản phát hành có được ghi chép lại không? Hoặc tôi nên có đúng người trong cuộc gọi hoặc có mặt để hỗ trợ khắc phục sự cố nếu chúng xảy ra. Cá nhân, tôi nghĩ cách tốt nhất để tiếp cận việc lập kế hoạch cho bất kỳ bản phát hành nào là giả định rằng có điều gì đó không ổn với bản phát hành. Bằng cách đó, tôi đã buộc bản thân phải suy nghĩ về một số vấn đề này trước thời hạn.
Tiếp theo, khi thực hiện một bản phát hành, một trong những cách tốt nhất để đảm bảo rằng nó sẽ chạy trơn tru là luyện tập, luyện tập, luyện tập và ghi lại mọi thứ bạn gặp trên đường đi. Vì vậy, trước khi triển khai mã mới vào sản xuất, trước tiên hãy thực hành triển khai mã đến một môi trường dàn dựng an toàn, được đóng hộp cát đúng cách. Có người sẽ chịu trách nhiệm triển khai sản xuất, thực hiện triển khai thử nghiệm để dàn dựng. Hãy xem xét việc này trang phục của bạn và tiến hành như bạn sẽ làm nếu đây là thực tế. Tài liệu mọi thứ bạn làm mỗi bước trên đường đi; ghi lại mọi lệnh bạn thực thi, bất kỳ mã SQL nào bạn chạy, bất kỳ tệp nào bạn sửa đổi và cách bạn sửa đổi chúng và cho từng bước trên đường dẫn tài liệu bạn muốn xem liệu quy trình có được thực hiện đúng không. Nếu và khi bạn gặp phải một vấn đề nào đó, hãy ghi lại những gì bạn đã làm để giải quyết nó.
Sau đó, việc triển khai thực hành hoàn tất, xem qua các ghi chú của bạn và xem liệu bạn có thể tinh chỉnh quy trình để loại bỏ lỗi không. Sau đó làm lại tất cả . Tiếp tục thực hành cho đến khi thực hiện một bản phát hành trở thành thói quen như sau một bảng hướng dẫn đơn giản, như "đăng nhập vào máy này, thực thi lệnh này, sau đó đăng nhập vào cơ sở dữ liệu và thực hiện lệnh SQL này; sau đó ..."
Được liệt kê ở trên là những điều mà một nhóm hoạt động hoặc nhóm quản lý phát hành có thể làm để giúp bản phát hành chạy trơn tru. Nhưng kỹ thuật có thể làm gì để giúp giảm thiểu rủi ro trong một bản phát hành?
Giữ bản phát hành nhỏ. Nói một cách đơn giản, tập hợp các thay đổi mã được phát hành trong một bản phát hành càng phức tạp thì việc phát hành sẽ càng trở nên rủi ro hơn. Làm cho nhóm hoạt động của bạn có lợi cho mình bằng cách lập kế hoạch để có số lượng phát hành nhỏ lớn hơn, thay vì số lượng phát hành lớn hơn trong cùng khoảng thời gian.
Kiểm tra, kiểm tra, kiểm tra. Đừng chỉ kiểm tra mã của bạn trong môi trường QA của bạn, hãy sử dụng môi trường dàn để kiểm tra phần mềm của bạn. Thường có những lỗi có ít hoặc không liên quan gì đến bản thân mã, nhưng có một nguyên nhân gốc rễ nằm ở cấu hình của chính môi trường (hoặc một số kết hợp của cả hai). Để tìm ra những vấn đề này, bạn cần kiểm tra mã của mình trong một môi trường phản ánh chặt chẽ việc sản xuất, còn gọi là dàn dựng.
Như một lời cuối cùng, đôi khi điều quan trọng nhất không phải là những gì chúng ta làm để ngăn chặn những điều sai trái, mà đó là cách chúng ta tự hành xử khi họ làm sai. Do đó, tôi nghĩ điều quan trọng là xây dựng văn hóa trong công ty của bạn xung quanh tính minh bạch trong hoạt động. Đừng cố gắng che giấu các vấn đề từ khách hàng, sắp tới. Sử dụng Twitter một cách tích cực để cho khách hàng biết nếu có vấn đề mà nhóm op của bạn hiện đang biết và đang giải quyết ( Ngọn hải đăng thật tuyệt vời ở đây!). Xem xét xuất bản trang "trạng thái" cho dịch vụ của bạn mà khách hàng có thể tham khảo để xem có gì sai không ( TypePad cung cấp một ví dụ tuyệt vời về điều này). Điểm mấu chốt, luôn luôn lỗi về phía giao tiếp quá mức. Khách hàng của bạn sẽ cảm ơn bạn vì điều đó.