CodeGym /Các khóa học /C# SELF /Mô hình Sản phẩm IT

Mô hình Sản phẩm IT

C# SELF
Mức độ , Bài học
Có sẵn

1. Sản phẩm hiện đại

Các sản phẩm hiện đại giờ đây không còn gọi là phần mềm nữa. Một sản phẩm hiện đại có thể bao gồm hàng chục phần mềm, hàng trăm dịch vụ internet và nhiều API, được cung cấp bởi cloud data center (còn gọi là trung tâm xử lý dữ liệu), nơi mà nó được triển khai.

Nhiều sản phẩm hiện đại (nếu không phải tất cả) hoạt động theo paradigm Client-Server. Đó là khi trên thiết bị của bạn (điện thoại, laptop, máy tính) có một chương trình chịu trách nhiệm giao tiếp với người dùng (bạn), còn các chức năng quan trọng thì nằm trên server dành riêng, nơi diễn ra tất cả các hoạt động quan trọng ➡️🖥️

Đôi khi, client của bạn có thể giao tiếp với nhiều server độc lập, hoặc một server của sản phẩm này có thể liên lạc với server của sản phẩm khác. Tạo thành một mạng lưới toàn cầu gồm các client và server, tất cả đều tương tác với nhau.

Vì vậy, mô hình ứng dụng hiện đại có lẽ nên được mô tả tốt hơn bằng paradigm Client-Internet-Server. Quá nhiều giao tiếp phức tạp đã xuất hiện. Thậm chí còn có các “kênh liên lạc thông minh” tự quyết định ai và khi nào gửi yêu cầu của bạn 🛰️📡.

2. Khách hàng

Chương trình khách hàng có thể chia thành 4 loại:

  • 🖥️ Desktop-клиент — chương trình chạy trên máy tính.
  • 📲 Mobile-клиент — ứng dụng trên iOS hoặc Android.
  • 🌐 Web-клиент — trang web/ứng dụng web chạy trong trình duyệt.
  • 🌍 Server-клиент — ứng dụng chạy trên server khác.

Và mỗi loại này lại có thể chia nhỏ thành các phần khác nữa. Ví dụ, web-клиент — là trang web hoặc ứng dụng web, tức là nó gồm Trình duyệt và Trang web tải vào trình duyệt đó. Trình duyệt cũng không giống nhau và hoạt động theo nhiều cách khác nhau.

Nhưng ngay cả khi lấy trình duyệt phổ biến nhất, vẫn còn trang web tải trong đó. Trang web thường gồm ba phần:

  • 📄 HTML
  • 🎨 CSS
  • ⚡ JavaScript

"Chẳng có gì phức tạp hơn," bạn nói. Nhưng ngày nay, chẳng ai viết trang web chỉ bằng HTML và JavaScript nữa. Thay vào đó, người ta dùng các thư viện, framework đầy đủ như React, Angular hoặc Vue ⚛️. Thậm chí, giờ không còn gọi là trang web nữa, mà là các web application hoàn chỉnh với build, testing và paradigms riêng.

CSS thuần túy cũng không còn phổ biến nữa. Đã xuất hiện CSS preprocessors giúp tạo ra CSS dễ dàng hơn, cùng các framework CSS. Thậm chí, còn có framework CSS riêng cho email để email của bạn trông đẹp trong trình duyệt và các client mail 💌.

JavaScript thuần cũng ít được dùng, các ứng dụng web lớn đều viết bằng TypeScript, rồi compile sang JavaScript. Hiểu chưa nào...

3. Internet và infrastructure

Giao tiếp client-server thì dễ rồi, nhưng giờ mọi thứ đã phức tạp hơn nhiều.

Sản phẩm của bạn có thể sẽ được đặt trong một data center hiện đại. Nhiều công ty trên thế giới cung cấp dịch vụ hosting cho sản phẩm của bạn, dù là trên server của họ hay server vật lý của bạn. Tất cả đều có thể, chỉ cần trả tiền.

img

Server vật lý giờ không còn là vật lý nữa . Tất cả các data center hiện đại đều cho thuê virtual server. Virtual server là một máy tính ảo, và trên một server vật lý có thể có hàng chục virtual server. Tiện lợi cho việc nâng cấp server. Nếu cần nhiều RAM hơn, chỉ cần thêm vào virtual server của bạn trong vài phút ⏱️.

Nhưng cách này cũng dần lỗi thời, giờ đang thịnh hành chuyển sang cloud — nơi sản phẩm của bạn không chỉ chạy trên một virtual server trong data center, mà còn tận dụng nhiều infrastructure và dịch vụ của data center đó.

Bạn cần server để lưu backups — có sẵn infrastructure trong cloud cho việc này. Cần database với độ tin cậy 99.9999999%? Cũng có luôn. Kafka, RabbitMQ, NoSQL? Tất cả đều có thể dễ dàng cấu hình. Chỉ cần trả tiền thôi.

Và các data center, cloud bắt đầu trở thành một phần của sản phẩm của bạn. Ví dụ, Amazon có hàng trăm data center toàn cầu, họ cung cấp dịch vụ CDN: nội dung công khai của bạn sẽ được cache trên tất cả các data center của Amazon, giúp người dùng toàn thế giới truy cập nhanh hơn 🛰️.

Hoặc, API của ứng dụng bạn có thể đi qua Amazon Gateway API, cho phép cấu hình linh hoạt các dịch vụ của bạn. Phân phối tải, chống DDoS, tự động tải file, cache thông minh — đủ thứ 🛡️.

Vì vậy, giữa ứng dụng client và các dịch vụ của bạn xuất hiện nhiều “giao tiếp thông minh” mà bạn cần cấu hình. Dù không làm trực tiếp, bạn cần biết chúng tồn tại và có thể ảnh hưởng lớn đến hoạt động của chương trình.

Chưa kể đến các chủ đề như router, ăng-ten 5G, vệ tinh, cáp quang dưới đại dương. Bạn gửi video stream từ server đến client, rồi client bị lag, vì kết nối kém. Đoán xem ai sẽ giải quyết vấn đề này? Chính bạn đó 😅

4. Server

Dưới từ "server" có thể hiểu nhiều khái niệm khác nhau. Bạn sẽ thấy hữu ích khi biết về các loại phổ biến nhất.

  • 🖥️ Physical server
    Server vật lý là thiết bị phần cứng, gồm một máy tính riêng biệt với CPU, RAM, storage, dùng để xử lý dữ liệu và chạy các phần mềm. Các server này thường đặt trong data center, cung cấp sức mạnh để hosting website, ứng dụng, database và dịch vụ khác.
  • 🪐 Virtual server
    Virtual server là một server ảo, chạy trong môi trường của server vật lý qua công nghệ ảo hóa. Một server vật lý có thể chia thành nhiều virtual server riêng biệt, mỗi cái có hệ điều hành riêng và có thể khởi động lại, cấu hình độc lập.
  • 🕹️ Program-server (ví dụ, Nginx)
    Program-server như Nginx là phần mềm server dùng để xử lý các yêu cầu tới tài nguyên web. Nginx nổi tiếng là web server, còn có thể làm proxy mail, reverse proxy, cân bằng tải trong kiến trúc microservices.
  • 💾 Database server
    Database server là server chuyên biệt để quản lý database và xử lý các truy vấn. Nó lưu trữ dữ liệu tập trung, cung cấp truy cập qua mạng, hỗ trợ transaction, tìm kiếm, chỉnh sửa dữ liệu, đảm bảo độ tin cậy và bảo mật. Ví dụ: MySQL, PostgreSQL, Oracle, SQL Server.

Và trong data center, trên một virtual server, dự án C# và ASP.NET Core của bạn sẽ chạy. Nó sẽ kết nối với database, nhận yêu cầu qua Nginx hoặc Azure Application Gateway, gửi logs về hệ thống monitoring như Azure Monitor hoặc Splunk 📈.

Chính nhờ code của bạn, hàng triệu người dùng hài lòng. Họ dùng dịch vụ, trả tiền, và chủ sản phẩm cũng vui vẻ. Cổ phiếu tăng, bạn nhận thưởng bằng cổ phiếu — và hạnh phúc 💸. Một vòng tròn hạnh phúc thật sự trong ngành!

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION