From 1ada6e042b8dad6da392e0049d8e4eae987afef1 Mon Sep 17 00:00:00 2001 From: Trieu Ngoc Tam Date: Fri, 25 Apr 2025 17:11:02 +0700 Subject: [PATCH 1/7] [vi] add Vietnamese localization for Containerization concept Signed-off-by: Trieu Ngoc Tam --- content/vi/containerization.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/vi/containerization.md diff --git a/content/vi/containerization.md b/content/vi/containerization.md new file mode 100644 index 0000000000..44e35565c9 --- /dev/null +++ b/content/vi/containerization.md @@ -0,0 +1,28 @@ +--- +title: Containerization +status: Completed +category: Technology +tags: ["application", "", ""] +--- + +Containerization (đóng gói dưới dạng container) là quá trình đóng gói mã nguồn ứng dụng cùng với các thư viện và phụ thuộc cần thiết để chạy mã đó thành một tệp thực thi nhẹ duy nhất – được gọi là [container image](/container-image/). + +## Vấn đề mà nó giải quyết + +Trước khi [container](/container/) trở nên phổ biến, các tổ chức thường sử dụng [máy ảo (VM)](/virtual-machine/) để điều phối nhiều ứng dụng trên cùng một [máy vật lý (bare-metal)](/bare-metal-machine/). +Máy ảo có kích thước lớn hơn container rất nhiều và cần một hypervisor để chạy. +Do kích thước lớn của các mẫu máy ảo, việc lưu trữ, sao lưu và truyền tải cũng trở nên chậm chạp. +Hơn nữa, máy ảo còn có nguy cơ gặp phải vấn đề "trôi cấu hình" (configuration drift), vi phạm nguyên tắc [hạ tầng bất biến](/immutable-infrastructure/). + +## Lợi ích mà nó mang lại + +Container image có kích thước nhẹ (khác biệt rõ so với máy ảo truyền thống), +và quá trình container hóa chỉ cần một tệp liệt kê các phụ thuộc. +Tệp này có thể được quản lý bằng hệ thống kiểm soát phiên bản và quy trình build có thể được tự động hóa, +giúp tổ chức tập trung vào những ưu tiên khác trong khi quá trình build được xử lý tự động. + +Mỗi container image được lưu trữ với một định danh duy nhất, +liên kết chặt chẽ với nội dung và cấu hình cụ thể của nó. +Khi container được tạo và tái tạo, +nó luôn được khởi động lại ở trạng thái ban đầu, +giúp loại bỏ hoàn toàn hiện tượng trôi cấu hình. From 2df812c3cfa612450e1ef6fcb374f17c6b0f5ca7 Mon Sep 17 00:00:00 2001 From: Trieu Ngoc Tam Date: Fri, 25 Apr 2025 17:26:14 +0700 Subject: [PATCH 2/7] [vi] add Vietnamese localization for Virtual Machine concept Signed-off-by: Trieu Ngoc Tam --- content/vi/virtual-machine.md | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 content/vi/virtual-machine.md diff --git a/content/vi/virtual-machine.md b/content/vi/virtual-machine.md new file mode 100644 index 0000000000..86cdc62f59 --- /dev/null +++ b/content/vi/virtual-machine.md @@ -0,0 +1,37 @@ +--- +title: Virtual Machine +status: Completed +category: Technology +tags: ["fundamental", "infrastructure", ""] +--- + +Máy ảo (VM – Virtual Machine) là một máy tính cùng hệ điều hành của nó +nhưng không gắn liền với một phần cứng vật lý cụ thể. +VM sử dụng [công nghệ ảo hóa](/virtualization/) để phân chia một máy tính vật lý thành nhiều máy tính ảo. +Sự tách biệt này cho phép các tổ chức và nhà cung cấp hạ tầng +dễ dàng tạo hoặc hủy các VM mà không ảnh hưởng đến phần cứng bên dưới. + +## Vấn đề mà nó giải quyết + +Khi một máy [bare metal](/bare-metal-machine/) gắn cố định với một hệ điều hành, +khả năng tận dụng tài nguyên của máy sẽ bị giới hạn. +Ngoài ra, khi hệ điều hành gắn với một máy vật lý cụ thể, +thì mức độ sẵn sàng của hệ điều hành cũng phụ thuộc hoàn toàn vào phần cứng đó. +Nếu máy vật lý gặp sự cố hoặc cần bảo trì, hệ điều hành cũng sẽ bị gián đoạn theo. + +## Lợi ích mà nó mang lại + +Việc tách rời mối liên hệ trực tiếp giữa hệ điều hành và máy vật lý +giúp giải quyết nhiều vấn đề của mô hình bare metal, +bao gồm: thời gian cấp phát, khả năng sử dụng phần cứng và độ bền hệ thống. + +Vì không cần mua, cài đặt hay cấu hình phần cứng mới, +thời gian để khởi tạo một máy tính mới được rút ngắn đáng kể. +Máy ảo giúp tận dụng tốt hơn tài nguyên phần cứng hiện có +bằng cách chạy nhiều VM trên cùng một máy vật lý. +Và vì không bị ràng buộc với một máy vật lý cụ thể, +VM cũng có tính linh hoạt và khả năng phục hồi cao hơn. +Khi một máy vật lý cần ngắt hoạt động, +các VM đang chạy trên đó có thể được chuyển sang máy khác với thời gian gián đoạn rất ít hoặc không có. + +{{% sign-language-section Fq-kda8kIHg %}} From 10ef1b0c95e0f3fecbe881c291ae8e88fb5ca871 Mon Sep 17 00:00:00 2001 From: Trieu Ngoc Tam Date: Sat, 26 Apr 2025 13:56:03 +0700 Subject: [PATCH 3/7] fix: correct translation of "configuration drift" in Containerization concept Signed-off-by: Trieu Ngoc Tam --- content/vi/containerization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/containerization.md b/content/vi/containerization.md index 44e35565c9..3b698a52cc 100644 --- a/content/vi/containerization.md +++ b/content/vi/containerization.md @@ -12,7 +12,7 @@ Containerization (đóng gói dưới dạng container) là quá trình đóng g Trước khi [container](/container/) trở nên phổ biến, các tổ chức thường sử dụng [máy ảo (VM)](/virtual-machine/) để điều phối nhiều ứng dụng trên cùng một [máy vật lý (bare-metal)](/bare-metal-machine/). Máy ảo có kích thước lớn hơn container rất nhiều và cần một hypervisor để chạy. Do kích thước lớn của các mẫu máy ảo, việc lưu trữ, sao lưu và truyền tải cũng trở nên chậm chạp. -Hơn nữa, máy ảo còn có nguy cơ gặp phải vấn đề "trôi cấu hình" (configuration drift), vi phạm nguyên tắc [hạ tầng bất biến](/immutable-infrastructure/). +Hơn nữa, máy ảo còn có nguy cơ gặp phải vấn đề "sai lệch cấu hình" (configuration drift), vi phạm nguyên tắc [hạ tầng bất biến](/immutable-infrastructure/). ## Lợi ích mà nó mang lại From e0944790d2105c6d7753e478ac98031b5ce2ec26 Mon Sep 17 00:00:00 2001 From: Trieu Ngoc Tam Date: Sun, 18 May 2025 14:15:36 +0700 Subject: [PATCH 4/7] [vi] Add Vietnamese translation for Tightly Coupled Architecture Signed-off-by: Trieu Ngoc Tam --- content/vi/tightly-coupled-architecture.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 content/vi/tightly-coupled-architecture.md diff --git a/content/vi/tightly-coupled-architecture.md b/content/vi/tightly-coupled-architecture.md new file mode 100644 index 0000000000..79062b7c10 --- /dev/null +++ b/content/vi/tightly-coupled-architecture.md @@ -0,0 +1,21 @@ +--- +title: Kiến trúc gắn kết chặt chẽ (Tightly Coupled Architecture) +status: Completed +category: Property +tags: ["fundamental", "architecture", "property"] +--- + +**Kiến trúc gắn kết chặt chẽ (Tightly Coupled Architecture)** là một phong cách kiến trúc trong đó nhiều thành phần của ứng dụng phụ thuộc lẫn nhau +(trái ngược với [kiến trúc ràng buộc lỏng lẻo](/loosely-coupled-architecture/)). +Điều này có nghĩa là khi một thành phần thay đổi, khả năng cao các thành phần khác cũng bị ảnh hưởng theo. +Kiểu kiến trúc này thường dễ triển khai hơn so với kiến trúc gắn kết lỏng lẻo, +nhưng dễ khiến hệ thống rơi vào tình trạng lỗi dây chuyền (cascading failures). +Chúng cũng thường đòi hỏi triển khai đồng bộ giữa các thành phần, +gây ảnh hưởng đến năng suất phát triển của lập trình viên. + +Kiến trúc ứng dụng gắn kết chặt chẽ là một cách xây dựng phần mềm truyền thống. +Dù không hoàn toàn phù hợp với các nguyên tắc của [kiến trúc microservice](/microservices-architecture/), +nhưng vẫn có thể hữu ích trong một số trường hợp cụ thể. +Chúng thường đơn giản và nhanh chóng hơn trong giai đoạn khởi đầu, +và tương tự như [ứng dụng nguyên khối (monolithic)](/monolithic-apps/), +có thể rút ngắn đáng kể chu kỳ phát triển ban đầu. \ No newline at end of file From 070de0135666c9d3722d871783dcaf60ad452dc8 Mon Sep 17 00:00:00 2001 From: Trieu Ngoc Tam Date: Sun, 18 May 2025 14:22:08 +0700 Subject: [PATCH 5/7] [vi] Add Vietnamese translation for Transport Layer Security Signed-off-by: Trieu Ngoc Tam --- content/vi/transport-layer-security.md | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 content/vi/transport-layer-security.md diff --git a/content/vi/transport-layer-security.md b/content/vi/transport-layer-security.md new file mode 100644 index 0000000000..743c866a11 --- /dev/null +++ b/content/vi/transport-layer-security.md @@ -0,0 +1,27 @@ +--- +title: Bảo mật tầng truyền tải (Transport Layer Security - TLS) +status: Completed +category: Concept +tags: ["security", "networking", ""] +--- + +**Bảo mật tầng truyền tải (Transport Layer Security – TLS)** là một giao thức được thiết kế nhằm tăng cường bảo mật cho việc truyền thông qua mạng. +TLS đảm bảo dữ liệu được gửi qua Internet đến nơi một cách an toàn, +tránh nguy cơ bị theo dõi và/hoặc thay đổi trong quá trình truyền tải. +Giao thức này được sử dụng rộng rãi trong các ứng dụng như nhắn tin, email, v.v. + +## Vấn đề mà TLS giải quyết + +Nếu không có TLS, các thông tin nhạy cảm như thói quen duyệt web, nội dung email, cuộc trò chuyện trực tuyến và các cuộc gọi hội nghị +có thể dễ dàng bị theo dõi và chỉnh sửa bởi bên thứ ba trong quá trình truyền tải. +Việc kích hoạt hỗ trợ TLS cho cả ứng dụng máy chủ và máy khách sẽ đảm bảo rằng +dữ liệu trao đổi giữa hai bên được mã hóa và không thể bị xem bởi người khác. + +## Cách TLS hỗ trợ + +TLS sử dụng kết hợp các kỹ thuật mã hóa để đảm bảo an toàn trong quá trình truyền dữ liệu qua mạng. +TLS cho phép thiết lập kết nối được mã hóa giữa ứng dụng máy khách và máy chủ, chẳng hạn giữa trình duyệt và trang web ngân hàng. +Ngoài ra, TLS cũng giúp ứng dụng máy khách xác minh danh tính của máy chủ mà nó đang kết nối, +giảm thiểu nguy cơ truy cập nhầm vào các trang giả mạo. +Nhờ đó, bên thứ ba không thể quan sát hay theo dõi dữ liệu truyền giữa các ứng dụng sử dụng TLS, +giúp bảo vệ các thông tin nhạy cảm như số thẻ tín dụng, mật khẩu, vị trí, v.v. From 810425f7a2bd9fffc1588115873242a773f2d5c4 Mon Sep 17 00:00:00 2001 From: Trieu Ngoc Tam Date: Sun, 18 May 2025 14:23:11 +0700 Subject: [PATCH 6/7] [vi] Add Vietnamese translation for Version Control Signed-off-by: Trieu Ngoc Tam --- content/vi/version-control.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 content/vi/version-control.md diff --git a/content/vi/version-control.md b/content/vi/version-control.md new file mode 100644 index 0000000000..92b3e53851 --- /dev/null +++ b/content/vi/version-control.md @@ -0,0 +1,29 @@ +--- +title: Kiểm soát Phiên bản (Version Control) +status: Deprecated +category: Technology +draft: true +tags: ["methodology", "", ""] +--- + +**Kiểm soát phiên bản (Version Control)** hay còn gọi là quản lý mã nguồn, là phương pháp theo dõi và quản lý các thay đổi đối với một tài liệu hoặc tập tin theo thời gian. Đây là một hệ thống giúp ghi lại các thay đổi của một hoặc nhiều tập tin để có thể truy xuất lại các phiên bản cụ thể sau này. + +## Vấn đề mà nó giải quyết + +Hệ thống kiểm soát phiên bản được thiết kế để giải quyết các vấn đề như: + +- Lưu trữ và sao lưu mã nguồn hoặc tài liệu khi có thay đổi qua thời gian. +- Cho phép nhiều người cùng chỉnh sửa tài liệu hoặc mã nguồn mà vẫn có thể xử lý được xung đột khi thay đổi trùng lặp. +- Lưu giữ nhật ký thay đổi giúp theo dõi ai đã thay đổi cái gì, khi nào, và vì sao. + +Trong các dự án phần mềm, mã nguồn thường rất phức tạp và đóng vai trò quan trọng trong hoạt động kinh doanh, nên việc kiểm soát thay đổi là rất cần thiết. Bên cạnh đó, hầu hết các ứng dụng đều do nhiều lập trình viên cùng phát triển, vì vậy xung đột trong quá trình làm việc là điều không thể tránh khỏi. + +## Cách nó hỗ trợ + +Kiểm soát phiên bản giúp các lập trình viên làm việc nhanh hơn và hiệu quả hơn bằng cách: + +- Ghi lại lịch sử thay đổi để có thể dễ dàng xem lại, hoàn tác hoặc so sánh. +- Hỗ trợ xử lý xung đột khi nhiều người cùng thay đổi một phần mã nguồn. +- Tạo ra kho lưu trữ mã nguồn (repository) để mọi người cùng cộng tác. + +Phát triển phần mềm hiện đại phụ thuộc rất nhiều vào các hệ thống kiểm soát phiên bản như **Git**, để đảm bảo sự phối hợp nhịp nhàng giữa các thành viên trong nhóm và duy trì chất lượng mã nguồn. From a5b8d0108617c83cb9d819656760a76b55abb9ba Mon Sep 17 00:00:00 2001 From: Trieu Ngoc Tam Date: Sun, 18 May 2025 14:23:45 +0700 Subject: [PATCH 7/7] [vi] Update translation for Vertical Scaling Signed-off-by: Trieu Ngoc Tam --- content/vi/vertical-scaling.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 content/vi/vertical-scaling.md diff --git a/content/vi/vertical-scaling.md b/content/vi/vertical-scaling.md new file mode 100644 index 0000000000..48d9e81e53 --- /dev/null +++ b/content/vi/vertical-scaling.md @@ -0,0 +1,32 @@ +--- +title: Mở rộng theo chiều dọc (Vertical Scaling) +status: Completed +category: Concept +tags: ["infrastructure", "", ""] +--- + +Mở rộng theo chiều dọc (Vertical Scaling), còn gọi là “mở rộng lên hoặc xuống” (scaling up and down), +là một kỹ thuật tăng khả năng xử lý của hệ thống bằng cách bổ sung CPU và bộ nhớ cho từng [nút (node)](/nodes/) khi khối lượng công việc tăng lên. +Ví dụ, nếu bạn đang dùng một máy tính có RAM 4GB và muốn nâng lên 16GB, +việc chuyển sang hệ thống có RAM 16GB chính là một hình thức mở rộng theo chiều dọc. +(Xem thêm [mở rộng theo chiều ngang](/horizontal-scaling/) để biết phương pháp khác.) + +## Vấn đề cần giải quyết + +Khi nhu cầu sử dụng ứng dụng vượt quá khả năng hiện tại của một phiên bản ứng dụng, +chúng ta cần một cách để mở rộng (tăng dung lượng cho) hệ thống. +Có hai lựa chọn: bổ sung tài nguyên tính toán cho các nút hiện tại (mở rộng theo chiều dọc) +hoặc thêm nhiều nút mới vào hệ thống (mở rộng theo chiều ngang). +[Tính mở rộng (Scalability)](/scalability/) là yếu tố quan trọng quyết định năng lực cạnh tranh, hiệu suất, uy tín và chất lượng. + +## Cách giải quyết + +Mở rộng theo chiều dọc cho phép bạn tăng kích thước máy chủ mà không cần thay đổi mã nguồn của ứng dụng. +Điều này khác với mở rộng theo chiều ngang, vốn yêu cầu ứng dụng phải có khả năng nhân bản – có thể cần cập nhật mã nguồn. +Mở rộng theo chiều dọc giúp tăng năng lực xử lý của ứng dụng hiện có +bằng cách bổ sung tài nguyên tính toán, từ đó cho phép ứng dụng xử lý nhiều yêu cầu hơn và thực thi đồng thời hiệu quả hơn. + +## Thuật ngữ liên quan + +* [Mở rộng theo chiều ngang](/horizontal-scaling/) +* [Tự động mở rộng](/auto-scaling/) \ No newline at end of file