Các yếu tố khác nhau
Cho đến bây giờ chúng ta đã tìm hiểu Microservice là gì và những nhu cầu cơ bản của nó bên trên kiến trúc MVC hiện đại. Trong chương này, chúng ta sẽ tìm hiểu các yếu tố khác nhau của kiến trúc này quan trọng như nhau đối với một dịch vụ.
Các hạng mục dịch vụ
Với tên gọi Microservice, chúng tôi giả định rằng nó sẽ là một dịch vụ có thể được sử dụng qua các giao thức HTTP, tuy nhiên chúng tôi cần biết loại dịch vụ nào có thể được xây dựng bằng kiến trúc này. Sau đây là danh sách các dịch vụ có thể được thực hiện bằng kiến trúc Microservice.
Platform as a Service [PaaS]- Trong kiến trúc hướng dịch vụ này, nền tảng được cung cấp như một công cụ có thể được tùy chỉnh theo nhu cầu kinh doanh. PaaS đóng một vai trò quan trọng trong việc phát triển ứng dụng di động. Ví dụ tuyệt vời nhất về PaaS là Google App engine, nơi Google cung cấp nền tảng hữu ích khác nhau để xây dựng ứng dụng của bạn. PaaS ban đầu phát triển để cung cấp kiến trúc hoặc cơ sở hạ tầng tích hợp sẵn cho các nhà phát triển. Nó làm giảm độ phức tạp của lập trình cấp cao hơn trong thời gian giảm đáng kể. Sau đây là ảnh chụp nhanh về PaaS do Google cung cấp.
Software as a Service [SaaS]- Phần mềm như một Dịch vụ là một doanh nghiệp cấp phép phần mềm, nơi phần mềm được lưu trữ tập trung và được cấp phép trên cơ sở đăng ký. SaaS có thể được truy cập chủ yếu thông qua trình duyệt và nó là một mẫu kiến trúc rất phổ biến trong nhiều ngành dọc kinh doanh như Quản lý Nguồn nhân lực (HRM), Hoạch định Nguồn lực Doanh nghiệp (ERP), Quản lý Quan hệ Khách hàng (CRM), v.v. Ảnh chụp màn hình sau đây cho thấy các ví dụ về các SaaS khác nhau do Oracle cung cấp.
Infrastructure as a Service [IaaS]- Cơ sở hạ tầng đóng vai trò quan trọng trong các ngành CNTT. Sử dụng điện toán đám mây, một số tổ chức cung cấp cơ sở hạ tầng ảo làm dịch vụ của họ. IaaS rất hữu ích để mang lại sự nhanh nhẹn, hiệu quả về chi phí, bảo mật, hiệu suất, năng suất, v.v. trong phát triển phần mềm. Amazon EC2 và Microsoft Azure là những ví dụ lớn nhất về IaaS. Hình ảnh sau đây mô tả một ví dụ về AWS, nơi trung tâm dữ liệu được cung cấp dưới dạng IaaS.
Data as a Service [DaaS]- Công nghệ thông tin xử lý dữ liệu và một số nhà lãnh đạo hàng đầu trong ngành tin rằng dữ liệu sẽ là nguồn lực mới của xã hội. DaaS là một loại dịch vụ nơi dữ liệu được chia sẻ với các tập đoàn kinh doanh để nghiên cứu và phân tích. DaaS mang lại sự đơn giản, nhanh nhẹn và bảo mật trong lớp truy cập dữ liệu. Sau đây là một ví dụ về đám mây Dữ liệu Oracle, có thể được truy cập hoặc cấp phép cho nhu cầu kinh doanh của riêng bạn.
Back End as a Service [BaaS]- BaaS còn được gọi là MBaaS, có nghĩa là dịch vụ back-end di động. Trong loại dịch vụ này, phần phụ trợ của ứng dụng sẽ được cung cấp cho các đơn vị kinh doanh cho các dự án kinh doanh của riêng họ. Tất cả các thông báo đẩy, dịch vụ mạng xã hội đều thuộc loại dịch vụ này. Facebook và Twitter là những ví dụ về nhà cung cấp dịch vụ BaaS nổi tiếng.
Bảo vệ
Khi nói đến việc xử lý hàng tấn dữ liệu khách hàng, bảo mật đóng một vai trò quan trọng. Vấn đề bảo mật liên quan đến tất cả các loại dịch vụ hiện có trên thị trường. Dù bạn đang sử dụng đám mây nào - riêng tư, công khai, kết hợp, v.v., bảo mật nên được duy trì ở tất cả các cấp. Toàn bộ vấn đề bảo mật có thể được chia nhỏ thành các phần sau:
Security issue faced by service providers - Đây là loại vấn đề bảo mật mà các nhà cung cấp dịch vụ như Google, Amazon, ... phải đối mặt. Để đảm bảo bảo vệ an ninh, việc kiểm tra lý lịch của máy khách là cần thiết, đặc biệt là những người có quyền truy cập trực tiếp vào phần lõi của đám mây.
Security issue faced by consumers- Đám mây thân thiện với chi phí, do đó nó được sử dụng rộng rãi trong các ngành công nghiệp. Một số tổ chức lưu trữ chi tiết người dùng trong trung tâm dữ liệu của bên thứ ba và lấy dữ liệu bất cứ khi nào được yêu cầu. Do đó, bắt buộc phải duy trì các mức bảo mật sao cho mọi dữ liệu riêng tư của một khách hàng không được hiển thị cho bất kỳ người dùng nào khác.
Để ngăn chặn các vấn đề bảo mật nêu trên, sau đây là một số cơ chế phòng thủ được các tổ chức sử dụng.
Deterrent Control - Biết bạn có mối đe dọa tiềm ẩn để giảm tấn công mạng.
Preventive Control - Duy trì chính sách xác thực cấp cao để truy cập vào đám mây của bạn.
Detective Control - Giám sát người dùng của bạn và phát hiện bất kỳ rủi ro tiềm ẩn nào.
Corrective Control - Làm việc chặt chẽ với các đội khác nhau và khắc phục các vấn đề phát sinh trong giai đoạn kiểm soát thám tử.