Sự tiến hóa của kiến trúc phần mềm và sự ra đời của kiến trúc Microservice

Posted in Experience Projects, Architecture, Microservices

Bài viết trước mình đã so sánh kiến trúc xây dựng và kiến trúc phần mềm, đến hẹn lại lên, với bài viết này mình sẽ đi sâu hơn về quá trình hình thành của các kiến trúc phần mềm dẫn tới sự ra đời của kiến trúc Microservice

Sự tiến hóa của kiến trúc phần mềm

Chắc hẳn bạn đã từng nghe đến những thông tin những cỗ máy tính đời đầu, nó chẳng có màn hình mà chỉ có những mảnh đục lỗ tượng trưng cho 0 và 1. Rồi nó phát triển lên một chút là những hệ điều hành đen sì mà bạn chỉ có thể gõ và giao tiếp với nó bằng câu lệnh. Khi này những phần mềm ứng dụng trên Terminal ra đời đánh dấu thời điểm khởi nguyên cho sự phát triển của phần mềm sau này.

Continue reading

Lột tả bản chất của kiến trúc Microservice so với kiến trúc xây dựng

Posted in Experience Projects, Architecture, Microservices

Microservice, một thuật ngữ mà bạn đi đâu cũng gặp dạo gần đây. Nếu bạn không phải dân IT, thì đây là bài viết dành cho bạn để có thể hiểu được microservice theo cách đời thường nhất.

Đặt vấn đề chút nhé!

Kiến trúc phần mềm từ xưa đến nay chẳng khác gì một kiến trúc sư một công trình nhà cửa xây dựng cả. Sự phát triển của nó qua các loại kiến trúc cho thấy sự phát triển của xã hội con người nói chung và phát triển phần mềm nói riêng. Chúng sinh ra để giải quyết những vấn đề trong cuộc sống, và chúng cũng có một mối liên hệ tương quan vô cùng chặt chẽ.

Continue reading

Client Server Architecture – Kiến trúc client-server

Posted in Architecture, Experience Projects

Mô hình Client server là một mô hình nổi tiếng trên mạng máy tính, phổ biến và được áp dụng rộng rãi ở trên các trang Web hiện nay.

Ý tưởng của mô hình này như sau: Client (máy khách) sẽ gửi yêu cầu (request) đến Server (máy chủ, cung ứng các dịch vụ cho các máy khách). Server sẽ xử lý dữ liệu và gửi kết quả về cho Client.

BD212A94 F5A2 48B7 9311 BE74930D5B8C
Continue reading

Microservices Architecture – Kiến trúc Microservices

Posted in Architecture, Experience Projects

Microservice là một loại kiến trúc phần mềm hướng dịch vụ, tập trung vào việc xây dựng một loạt các thành phần tự quản lý tạo nên ứng dụng. Không giống như các ứng dụng nguyên khối được xây dựng dưới dạng một đơn vị không thể chia tách, các ứng dụng microservice bao gồm nhiều thành phần độc lập output ra các API.

Continue reading

Serverless Architecture – Kiến trúc không có máy chủ

Posted in Architecture, Experience Projects

Serverless architecture là một cách tiếp cận điện toán đám mây để xây dựng và chạy các ứng dụng và dịch vụ mà không cần quản lý cơ sở hạ tầng. Trong các ứng dụng không có máy chủ, việc thực thi code được quản lý bởi một máy chủ, cho phép các lập trình viên triển khai code mà không phải lo lắng về việc bảo trì và cung cấp máy chủ. Trên thực tế, serverless không có nghĩa là không có máy chủ. Không có ứng dụng trên máy chủ, nhưng một dịch vụ đám mây của bên thứ ba như AWS chịu trách nhiệm hoàn toàn cho các máy chủ này. Một kiến trúc không có máy chủ giúp loại bỏ sự cần thiết của các tài nguyên bổ sung, mở rộng ứng dụng, bảo trì máy chủ và cơ sở dữ liệu và hệ thống lưu trữ.

Continue reading

Service-oriented Architecture (SOA) – Kiến trúc hướng dịch vụ

Posted in Architecture, Experience Projects

Kiến trúc hướng dịch vụ (SOA) là một kiểu kiến trúc phần mềm dùng để chỉ ứng dụng bao gồm các tác nhân phần mềm rời rạc và lỏng lẻo thực hiện một chức năng cần thiết. SOA có hai vai trò chính: nhà cung cấp dịch vụ và người tiêu dùng dịch vụ. Cả hai vai trò này có thể được tham gia trong cùng một phần mềm. Khái niệm về SOA nằm ở chỗ: ứng dụng có thể được thiết kế và xây dựng theo kiểu mô-đun hóa, tích hợp dễ dàng và có thể tái sử dụng lại.

Continue reading