Environment

Environment (Môi trường)

Bạn nghe được mọi người hỏi nhau “Deploy lên môi trường nào vậy?”, hay đại loại là những câu như vậy. Và nghe nói về môi trường Dev, Staging, Product, … Và sẽ có nhiều câu hỏi loé lên trong đầu bạn rằng “What? Nó là những gì vậy? Có gì khác nhau hay sao? Sao mà có quá nhiều môi trường test thế?”. Để giúp mọi người dễ hiểu hơn về những khái niệm này, mình xin chia sẻ một số khái niệm về Environment (môi trường).

Local environment: môi trường nằm trên máy của 1 người dev và họ sẽ chạy và kiểm tra đoạn code chạy như thế nào ngay chính trên máy của họ. Nó giống như việc bạn chạy web bằng localhost ngay trên máy. Điều này có hạn chế rằng chỉ riêng ta cài và chạy cũng như thao tác trên máy đó mà ko liên kết và tương tác trực tiếp với các máy khác.

Staging/ test environment: là môi trường khi các thành viên trong team dev tích hợp các phần lại với nhau rồi chạy chung trên 1 môi trường. Là khi mà dev code xong sẽ deploy (triển khai) lên môi trường Staging để xem thử các phần code riêng lẻ của các người dev khi tích hợp lại với nhau có đụng độ và phát sinh lỗi không tương thích hay không. Ở môi trường Staging này, cả dev, PM, BA và người tester có thể truy cập vào đây để thực hiện việc test. Khi đã test pass trên môi trường Staging thì ta sẽ deploy lên môi trường Production.
Môi trường Staging cho phép xem trước các thay đổi (giao diện, bố cục, chức năng) của trang web, trước khi các thay đổi được dùng chính thức cho trang web của dự án.

Production environment: đây chính là nơi quan trọng vì nó sẽ là nơi cho ra lò sản phẩm để đưa đến cho người dùng cuối. Và cũng là môi trường deploy bản chính thức của sản phẩm. Chính vì vậy, phải đảm bảo được độ chính xác và phù hợp nhất có thể vì sẽ là nơi đem lại giá trị lợi nhuận cho phái khách hàng. Và tại đây sẽ sử dụng hoàn toàn dữ liệu thực tế và phải đảm bảo được độ bảo mật cũng như thông tin người dùng một cách kĩ lưỡng nên là chỉ có những người cao cấp và uy tín như SA, DevOps, DBA mới có thể truy cập vào bên trong hệ thống để đảm bảo việc dữ liệu bị đánh cắp và thao tác sai làm phát sinh lỗi.

Ngoài ra còn có 2 khái niệm môi trường bạn sẽ gặp phải là:

Alpha testing: sau khi sản phầm hoàn thành và chuyển giao cho phía Client, họ có thể sẽ yêu cầu một số lượng nhỏ nhân viên của công ty họ sẽ dùng thử cũng như test, cũng có thể sẽ do phía team develop thực hiện test luôn. Đây được coi là test trong nội bộ, test tại tổ chức, trong phạm vi công ty, team…

Beta testing: Client sẽ phát hành bản chính thức cho người dùng thực tế dùng và phản hồi Bug về team develop và cả cho Client để quản lí Bug. Từ đó sẽ fix bug để có một sản phẩm tốt nhất cho bản chính thức khi ra lò. Ví dụ như Chrome thông báo vào tháng 9 sẽ phát hành Chrome version mới nhưng đến cỡ tháng 6 đã có bản Beta trên Google Play, CH Play, App Store, nhưng họ ko chạy quảng cáo rộng rãi. Với bản Beta này thì với một số lượng ít người dùng sẽ trải nghiệm và nếu có bất cứ gì không hài lòng hay thấy xuất hiện lỗi sẽ có pop up chẳng hạn, hiển thị ra và hỏi “Bạn có muốn gửi phản hồi góp ý về nhà sản xuất”, từ đó sẽ cải thiện version cho bản chính thức mượt mà hơn.

Cảm ơn mọi người đã theo dõi. Cùng chờ đón những bài tiếp theo của mình nhé!

5 16 votes
Article Rating
Subscribe
Notify of
guest
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Binhsketch
Binhsketch
3 years ago

Cám ơn bạn đã chia sẻ

tân
tân
3 years ago

đánh giá 5* ở đâu vậy

Võ Văn Hưng
Võ Văn Hưng
4 months ago

như vậy thì cơ sở dữ liệu trong từng môi trường sẽ được lưu trữ như thế nào và lưu trữ ở đâu ạ? Khi người mới vào thì làm sao để set up cơ sở dữ liệu trên môi trường ví dụ như dev, hay qa ạ?