What Is Staging Là Gì - Định Nghĩa Và Giải Thích Ý Nghĩa

      28

hầu hết team thường làm lơ môi trường xung quanh staging lúc cách tân và phát triển ứng dụng. Họ hay submit một pull request (PR), chạy test bởi CI, merge vào master với rồi deploy lên production. Đây là một trong tiến trình hơi nguy hiểm bởi không có Việc test tích phù hợp như thế nào được tiến hành. Tệ hơn nữa là ví như bao gồm lỗi thì họ tiếp cận bằng cách fix trực tiếp ở môi trường xung quanh production.Bạn đã xem: Staging là gì

Trong bài viết này, bọn họ sẽ thuộc bàn thảo về lợi ích của vấn đề áp dụng môi trường staging trong khoảng đời cách tân và phát triển ứng dụng, cùng phương pháp chúng góp phẩn đảm bảo rằng thành phầm sẽ được deliver cho production quả như ước ao ngóng.

Bạn đang xem: What Is Staging Là Gì - Định Nghĩa Và Giải Thích Ý Nghĩa

I. Môi trường staging là gì?

Môi ngôi trường staging là môi trường thiên nhiên nhưng chúng ta deploy vào quá trình trở nên tân tiến phần mềm. quý khách hàng deploy mang đến môi trường xung quanh staging trước khi deploy lên production.

Môi ngôi trường staging hay giống hệt môi trường thiên nhiên production. Như vậy Tức là bọn chúng bao gồm thuộc phần cứng, phần mềm và config, kết luận là càng như thể thì giá trị của staging càng cao.

Mức độ giống như nhau giữa staging cùng production đảm bảo an toàn rằng việc kiểm tra bên trên môi trường staging đang phả ánh đúng hồ hết gì xảy ra bên trên production với thuộc điều kiện.

Không nhỏng môi trường phát triển hoặc tích thích hợp, môi trường thiên nhiên staging sử dụng cùng service back-kết thúc cũng như những service khác. Chúng có thuộc phong cách xây dựng, cùng một giao diện scale, với các thông số thông số kỹ thuật.

Tùy vào các nhân tố lý lẽ (chẳng hạn thử khám phá GDPR) với tài năng bít giấu tài liệu của tổ chức, môi trường staging hay ẩn danh Hoặc là cỗ dữ liệu hoàn hảo của production để ngay sát rộng với môi trường xung quanh production vào thế giới thực. Điều này tức là môi trường staging ko được release hoặc open cho người sử dụng ở production, mà lại nó chỉ sẵn tất cả nghỉ ngơi nội bộ tổ chức hoặc một số trong những lượng người tiêu dùng bé dại.

Để kiểm soát và điều hành chi phí, bạn có thể deploy môi trường thiên nhiên staging như 1 phần của vòng đời release với phá bỏ sau khi release được đưa mang đến production.

Pmùi hương thức này cho chính mình khả năng để phát hiện nay vụ việc về code quality, vụ việc dữ liệu ở tại mức cao, vụ việc về tích thích hợp cùng những vấn đề tương quan nhưng mà bắt buộc dễ dàng được bộc lộ sống môi trường thiên nhiên kiểm tra tích thích hợp hoặc môi trường thiên nhiên thấp hơn hẳn như development hoặc local.

Phương thức này cũng được cho phép các bạn dự đoán thù ở tại mức chính xác cao, rằng câu hỏi deploy lên production tất cả thành công xuất sắc hay là không, tương tự như trả lời các câu hỏi dạng "service new sản xuất tất cả vận động trên production giỏi không?"...

Làm vấn đề cùng với môi trường xung quanh staging buộc chúng ta cần kiểm tra toàn bộ các đưa định nhưng mà bạn đưa ra trong quá trình cải tiến và phát triển cùng đảm báo rằng bạn sẽ xử trí để chắc chắn để deploy thành công xuất sắc.


*

II. Nguy cơ của vấn đề deploy nhưng không tồn tại staging

Việc test sống local hoặc chạy unit test không phải là 1 trong những biện pháp xuất sắc nhằm kiểm trả chất lượng cùng tính năng thành phầm. Unit thử nghiệm được viết bởi vì bạn, nhưng tín đồ thì luôn rất có thể mắc lỗi. Nếu các bạn chỉ thử nghiệm đầy đủ sự việc đã biết trước, thì bạn không thể cover phần lớn sự việc nhưng mà chúng ta lưỡng lự.

Người ta hay quên rằng bài toán biến đổi rất có thể ảnh hưởng đến các service khác hoặc tính năng không giống. Đôi dịp một thư vấn đề các bạn áp dụng nghỉ ngơi local có thể không chuyển động được ở cloud, còn chỉ lúc deploy lên production thì các bạn new vạc hiện.

thường thì thì cỗ dữ liệu dùng làm thử nghiệm nghỉ ngơi môi trường xung quanh cấp thấp phần lớn là trả định về các cái sinh hoạt production. Một số bạn nghĩ rằng staging là ko quan trọng do lỗi sẽ tiến hành phân phát hiện nay nhanh chóng, dẫu vậy cụ thể các bạn đang khiến web4_user gặp bug cùng lỗi thông số kỹ thuật.

Nói chung, việc đổi khác hoàn toàn có thể ảnh hưởng tài liệu sinh hoạt production, và rất có thể tác động đến cả các service liên quan.

Dựa vào lòng tin và hi vọng nhỏng một phương pháp để đảm bảo deploy lên production thành công xuất sắc chắc chắn là sẽ có được nguy cơ tiềm ẩn tạo nên dấn thức tiêu cực về chất lượng thành phầm của bạn và ở đầu cuối dẫn mang đến mất doanh thu, mất người sử dụng và hoàn toàn có thể vi phạm lao lý đúng theo đồng với quý khách của khách hàng.

giá thành tương quan đến việc deploy hoặc code lỗi bao gồm:

Phải hotfixRollbaông chồng releaseẢnh tận hưởng mang đến scheduleKhả năng mất dữ liệuHình ảnh tận hưởng đến fan dùngVi phạm hòa hợp đồngRủi ra nổi tiếng / thương hiệuMất doanh thuMất khách hàng hàng

Lợi ích bạn nhận ra từ các việc sử dụng môi trường staging là cường độ đảm bảo an toàn chất lượng cao hơn và sự bằng lòng của chúng ta. Bên cạnh đó, bằng cách sút tác động hoặc số lỗi trong thành phầm, bạn có thể tiết kiệm ngân sách và chi phí tương đối nhiều chi phí. Ví dụ: chúng ta có thể giảm lượng thời gian bạn buộc phải ném ra để rollback, hoặc bớt thời gian hỗ trợ những hotfix kịp lúc cơ mà có thể ảnh hưởng mang đến chu kỳ phát triển. Quý khách hàng cũng tiết kiệm ngân sách ngân sách cho các sự cụ rất có thể xẩy ra trong quy trình chế tạo và thời gian vấn đáp những câu hỏi của người tiêu dùng hoặc viết báo cáo lỗi.

Xem thêm: Token Là Gì ? Ưu Và Nhược Điểm Khi Sử Dụng Token

III. Ba kịch bản nhân loại thực

1. Sai service URLs

Ở kịch bạn dạng đầu tiên, trong những khi cách tân và phát triển ngơi nghỉ môi trường xung quanh thấp cấp (local/development), chúng tôi trỏ áp dụng cho một mock service của CoinDesk API để giảm ngân sách cùng giữ lượng. URL này đề nghị trỏ cho CoinDesk API thực tiễn trước lúc deploy lên production.


*

Như chúng ta thấy, moông xã URL bằng phương pháp như thế nào đó đã lẫn vào trong code.

Tgiỏi đổi này thao tác trót lọt tru ngơi nghỉ môi trường xung quanh dev. Trong môi trường staging, service tương quan tránh việc ở kia, với sự biến đổi này yêu cầu được bắt lỗi trước lúc lên production.

Đây là cực hiếm cơ phiên bản của môi trường thiên nhiên staging: giữ những chuyển đổi ko apply thẳng lên production bằng cách cung cấp một môi trường thiên nhiên để chạy thử với validate.

2. Lỗi làm việc source control với review

Hãy xem một ví dụ khác: 2 developer commit công dụng new mà lại tất cả thuộc tệp tin, tuy vậy khác ở cái CSS. Tại từng nhánh riêng rẽ của developer, style với thành phầm đúng như mong mỏi hóng.

Ttốt đổi được merge cùng deploy lên production.

Tuy nhiên, khi mỗi developer tạo pull request nhằm merge vào development, style bị cyếu lẫn sẽ không được show ra vào quy trình Review bởi vì bọn chúng ở ở 2 pull không giống nhau. Chúng được merge không nên cùng deploy lên production. Kết trái là sản phẩm gồm một tâm lý không muốn.

3. Các service liên quan

Cuối thuộc, hãy cùng đào sâu vào trong 1 phát biểu rất gần gũi của developer: "nó chạy xe trên trang bị em"

Tại trên đây một developer thêm imagemagichồng mang lại stack để xử lý hình ảnh upload. Những tlỗi viện npm tương quan đến imagemagiông xã được setup cùng lưu giữ vào package.json, tuy vậy "imagemagick-cli" chỉ được thiết lập ở lắp thêm developer.

Vậy nên lúc thử nghiệm sinh hoạt local thì tác dụng hoạt động đúng đắn, nhưng khi đẩy lên production thì không.

*Error: Command failed: CreateProcessW: The system cannot find the file specified*

Không có môi trường thiên nhiên staging, gần như hình dạng vụ việc như thế này sẽ tương đối dễ dàng xảy ra.

Thực tế là toàn bộ những ví dụ này rất nhiều là phần đông sai lạc hoàn toàn có thể chống tránh được. Những sai trái này luôn luôn luôn xảy ra, với hoàn toàn có thể không xẩy ra bắt trước khi lên production giả dụ không tồn tại một môi trường staging. khi ứng dụng của người tiêu dùng trsinh hoạt buộc phải phức tạp, tiềm năng cho các các loại lỗi này cũng tăng theo cung cấp số nhân.

Sử dụng một môi trường xung quanh staging nlỗi một trong những phần của vòng đời deploy có thể bớt nguy hại xẩy ra đông đảo lỗi này.

IV. Môi ngôi trường staging ko bắt buộc phức tạp

Một nguyên do thường nhìn thấy nhằm không thực hiện staging là chúng phức tạp hoặc tốn chi phí. Có một thực sự là nó thêm chi phí, với devops trnghỉ ngơi cần tốn kém nhẹm, và môi trường staging cực kỳ khó khăn nhằm thiết đặt nlỗi môi trường production. Tuy nhiên, nó ko quan trọng đề nghị như thế.

Các cloud platform văn minh được cho phép bạn áp dụng staging khi đề nghị, cùng tự động quá trình deploy. Chúng giúp cho bạn tránh khỏi đầy đủ lỗi mà lại ảnh hưởng cho production.

Một giải pháp không giống là tự động deploy lên staging bao hàm những chỉ thị về infra và ảo hóa nlỗi Kubernetes.

Điều sau cuối, sử dụng staging khiến cho bạn thâu tóm được các cách thức cải cách và phát triển ứng dụng tiến bộ để nâng cao năng suất của team. Quan trọng rộng, nó góp nâng cấp chất lượng thành phầm chúng ta gửi đến đến khách hàng.

Ttê mê khảo: https://hackernoon.com/staging-environments-are-overlooked-heres-why-they-matter-5jp2gm0