Thiết kế của máy ảo

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát triển hệ thống quản lý tài sản tại trường đại học hải dương sử dụng IBM bluemix (Trang 34 - 38)

Ở mỗi máy ảo, người quản lý ứng dụng giao tiếp với phần còn lại của cơ sở hạ tầng Bluemix, và quản lý các ứng dụng được triển khai đến máy ảo này. Mỗi máy ảo có các container riêng biệt và các ứng dụng được bảo vệ. Trong mỗi container, Bluemix cài đặt framework và runtime phù hợp với yêu cầu của từng ứng dụng.

Khi ứng dụng được triển khai, nếu nó là giao diện web (chẳng hạn như một ứng dụng web Java), hoặc các dịch vụ dựa trên REST khác (chẳng hạn như dịch vụ điện thoại di động tiếp xúc công khai cho các ứng dụng điện thoại di động), người sử dụng các ứng dụng có thể giao tiếp với nó bằng cách sử dụng yêu cầu HTTP bình thường.

Mỗi ứng dụng có thể có một hoặc nhiều URL liên kết với nó, nhưng tất cả đều phải trỏ đến điểm cuối Bluemix. Khi một yêu cầu được gửi đến, Bluemix xem xét các yêu cầu này, xác định ứng dụng nào được ưu tiên, và sau đó chọn một trong các trường hợp của các ứng dụng để phản hồi.

2.4. Khả năng đàn hồi của Bluemix

Bluemix được thiết kế để mở rộng lưu trữ, linh hoạt trong ứng dụng và các thành phần ứng dụng có thể quy mô cả hai để đáp ứng nhu cầu chúng ta cần, tính sãn sàng cao và nhanh chóng phục hồi các sự cố. Bluemix phân chia các thành phần đó theo đường trạng thái của tương tác. Sự phân tách này cho phép Bluemix di chuyển ứng dụng linh động khi cần thiết để đạt được khả năng nâng cấp và khả năng ứng phó. Chúng ta có thể có một hoặc nhiều giải pháp chạy ứng dụng của mình, khi chúng ta có đa giải pháp cho một ứng dụng, ứng dụng chỉ được upload lên duy nhất một lần. Tuy nhiên, Bluemix triển khai số của giải pháp của ứng dụng đã yêu cầu, và phân phối chúng qua càng nhiều máy ảo càng tốt.

Chúng ta phải ghi lưu tất cả các dữ liệu bền vững trong kho trạng thái dữ liệu ở ngoài ứng dụng của mình, chẳng hạn một kho dữ liệu dịch vụ được cung cấp bởi Bluemix. Bởi vì bất kỳ thứ gì được lưu trữ trong bộ nhớ cache hoặc trên đĩa có thể không còn khi khởi động lại, vì thế chúng ta có thể sử dụng không gian bộ nhớ hoặc hệ thống tệp tin của Bluemix như là một bản tóm tắt, đơn giao dịch bộ nhớ cache. Với một giải pháp thiết lập, yêu cầu cho ứng dụng của chúng ta có thể là ngắt vì bản chất không trạng thái của Bluemix. Biện pháp tối ưu là sử dụng ít nhất ba giải pháp đối với mỗi ứng dụng để đảm bảo tính sẵn có cho ứng dụng.

2.5. Các thành phần trên màn hình làm việc của IBM Bluemix

2.5.1. Đăng ký tài khoản Free trên IBM Bluemix

- Bước 1: Trên thanh địa chỉ sử dụng liên kết https://console.ng.Bluemix.net/ - Bước 2: Đăng ký tài khoản sử dụng

2.5.2. Màn hình làm việc IBM Bluemix

2.5.2.1. Thẻ Drashboad Drashboad

Hình 2.4. Thẻ Drashboad

Cơ sở hạ tầng của Bluemix bao gồm: Cloud Foundry, IBM Containers, máy ảo (xem hình 2.7) [8]. Nhà phát triển ứng dụng có thể chọn các cơ sở hạ tầng phù hợp cho việc triển khai ứng dụng.

- Cloud Foundry: Xây dựng, triển khai các ứng dụng trên Bluemix bằng cách sử dụng công nghệ mã nguốn mở CF, nền tảng chính là dịch vụ cần thiết để chạy, không cần đến cơ sở hạ tầng. Được chạy trên cơ sở hạ tầng CF làm việc với các ứng dụng CF hiện hành và có thể liên kết với bắt kỳ dịch vụ có sẵn nào trên catalog Bluemix. Với cơ sở hạ tầng này, nhà phát triển ứng dụng có thể triển khai và quản lý code ứng dụng, Bluemix sẽ quản lý và bảo trì cơ sở hạ tầng cho các ứng dụng đó.

- IBM Containers (BETA):

IBM Containers giúp các nhà phát triển ứng dụng xây dựng và triển khai các container - nơi đóng gói các ứng dụng và dịch vụ.

Container là một đối tượng phần mềm ảo bao gồm tất cả các thành phần mà môt ứng dụng cần có để chạy. Mỗi container chỉ bao gồm ứng dụng và các yếu tố phụ thuộc đi kèm, hệ điều hành chạy độc lập trên host, vì vậy nó được hưởng tài nguyên độc lập.

Các Container cho phép nhà phát triển ứng dụng xây dựng các ứng dụng của mình bằng bất kỳ ngôn ngữ, với bất kỳ công cụ lập trình nào. Các container có thể được chạy, được bắt đầu, kết thúc hoặc di chuyển. Mỗi container có nền tảng ứng dụng riêng biệt và an toàn, các ứng dụng trên các container có thể chạy ở bất kỳ đâu: các trạm phát triển đang chạy OSX hoặc Windows, các server đang chạy Ubuntu hoặc trung tâm dữ liệu máy ảo đang chạy Red Hat. Thời gian chạy của các container cho phép co giãn khi có nhu cầu.

Container đơn giản hóa quản trị hệ thống bằng cách cung cấp các môi trường tiêu chuẩn cho các nhóm phát triển và sản xuất. Chúng giúp loại bỏ sự phức tạp trong

việc quản lý nền tảng hệ điều hành khác nhau và nền tảng cơ sở hạ tầng. Container giúp nhà phát triển triển khai và chạy bất kỳ ứng dụng trên bất kỳ cơ sở hạ tầng nào một cách nhanh chóng và đáng tin cậy.

- Vitual Machines (BETA):

Bằng cách sử dụng máy ảo của Bluemix, nhà phát triển ứng dụng có thể tạo ra các trường hợp từ các mẫu sẵn có hoặc sử dụng mẫu của cá nhân, sau đó triển khai chúng trên các mạng thông dụng. Thêm vào đó, nhà phát triển có thể cấu hình Load Balancing như là một Service (LBaaS) và cung cấp địa chỉ IP công cộng cho các trường hợp load - balanced.

Một máy ảo là phần mềm thực thi mà máy tính thực hiện các chương trình như một máy vật lý. Bên trong máy ảo (VM) là ứng dụng và hệ điều hành hoàn chỉnh, chạy trên phần cứng ảo hóa được cung cấp bởi một hypervisor. Các hypervisor ngăn cách các host, và phân bổ tài nguyên cần thiết. Nhiều máy ảo có thể chạy đồng thời trên một hệ thống host duy nhất.

Bluemix cung cấp cơ sở hạ tầng máy ảo (beta) có sẵn trong các phân vùng được lựa chọn. Cơ sở hạ tầng này cho phép chúng ta tạo ra các máy ảo chạy trên đám mây OpenStack công cộng và cá nhân (tại chỗ).

Với các máy ảo trên Bluemix, chúng ta có thể tạo các nhóm máy ảo cho các đám mây công cộng và đám mây riêng bằng cách sử dụng các mẫu có sẵn từ máy ảo. Thông tin chi tiết của mỗi máy ảo bao gồm: instance IP, địa chỉ IP, chỉ số CPU, tổng bộ nhớ, kích thước đĩa và trạng thái. Chúng ta có thể dừng hẳn, tạm dừng, hoặc xóa các instance. Chúng ta cũng có thể thực hiện các hoạt động nâng cao từ OpenStack Horizon Dashboard hoặc từ OpenStack CLI/API. Cơ sở hạ tầng này hỗ trợ triển khai dự án OpenStack, và quy mô.

2.5.2.2. Các dịch vụ do Bluemix cung cấp

Dịch vụ (Service): cung cấp các chức năng sẵn sàng sử dụng để chạy mã các

ứng dụng. Các dịch vụ được xác định trước đó được cung cấp bởi Bluemix bao gồm: dịch vụ cơ sở dữ liệu, dịch vụ tin nhắn, thông báo cho các ứng dụng di động, và bộ nhớ đệm đàn hồi cho các ứng dụng web.

Chúng ta có thể tạo ra các dịch vụ của mình trên Bluemix, những dịch vụ này có thể khác nhau về độ lớn, độ phức tạp. Chúng có thể là tiện ích đơn giản, chẳng hạn như các chức năng mà chúng ta có thể nhìn thấy trong một thư viện runtime, ngoài ra, chúng có thể là logic nghiệp vụ phức tạp mà chúng ta có thể thấy trong một mô hình dịch vụ quy trình nghiệp vụ hoặc một cơ sở dữ liệu.

Bluemix đơn giản hóa việc sử dụng các dịch vụ bằng cách cung cấp các trường hợp mới của dịch vụ, và ràng buộc những trường dịch vụ cho ứng dụng. Việc quản lý các dịch vụ được xử lý tự động bởi Bluemix. Đối với tất cả các dịch vụ có sẵn trong Bluemix chúng ta có thể xem catalog trong giao diện người dùng Bluemix.

Chúng ta có thể chọn những các loại dịch vụ được hiển thị trong danh mục. Bảng sau đây liệt kê các nhóm dịch vụ có sẵn mà chúng ta có thể chọn:

Loại Service Mô tả Khả năng hỗ trợ

IBM

Một dịch vụ được cung cấp bởi IBM và thường có sẵn.

IBM sẽ cung cấp các dịch vụ có sẵn để hỗ trợ. Sự hỗ trợ này sẽ được cung cấp dựa trên mức độ quan trọng mà chúng ta thiết lập.

Third Party Một dịch vụ được cung cấp bởi

IBM và thường có sẵn.

Do bên thứ ba cung cấp dịch vụ. IBM sẽ chia sẻ bản phân tích với nhà cung cấp bên thứ ba nếu cần thiết.

Community Một dịch vụ được cung cấp bởi

một cộng đồng mã nguồn mở.

Hỗ trợ cho các dịch vụ công cộng được cung cấp bởi các nhà phát triển cộng đồng Bluemix.

Experimental

Một dịch vụ không được cung cấp sẵn và có thể bị loại bỏ bất kỳ lúc nào, có thể gây ra bất ổn, thường xuyên thay đối và có thể bị ngừng lại sau một thời gian ngắn.

Được cung cấp thông qua diễn đàn các nhà phát triển Bluemix.

Beta Dịch vụ trong giai đoạn phát triển,

thử nghiệm.

Do IBM cung cấp sẽ được hỗ trợ, nhưng IBM không bắt buộc phải sửa chữa.

Private

Dịch vụ mà chỉ có các thành viên do Bluemix quy định mới nhìn thấy được.

Hỗ trợ cho một dịch vụ cá nhân được cung cấp bởi các chủ sở hữu của các dịch vụ.

Bảng 2.1. Bảng mô tả các nhóm dịch vụ 2.5.2.3. Một số thành phần khác

Runtimes: Mỗi Runtime bao gồm tập hợp các tài nguyên được sử dụng để chạy một ứng dụng (xem hình 2.5).

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát triển hệ thống quản lý tài sản tại trường đại học hải dương sử dụng IBM bluemix (Trang 34 - 38)

Tải bản đầy đủ (PDF)

(66 trang)