1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và phát triển scada dựa trên điện toán đám mây

83 41 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhiệm vụ và nội dung: - Nghiên cứu điện toán đám mây và kiến trúc chương trình SCADA - Thiết kế kiến trúc và phát triển các thành phần trong chương trình SCADA dựa trên điện toán đám mấ

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

MAI KHẮC HIỆP

NGHIÊN CỨU VÀ PHÁT TRIỂN SCADA DỰA

TRÊN ĐIỆN TOÁN ĐÁM MÂY

Chuyên ngành: Tự Động Hóa

Mã số: 60.52.60

LUẬN VĂN THẠC SĨ

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG –HCM

Cán bộ hướng dẫn khoa học: TS TRƯƠNG ĐÌNH CHÂU

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

1 PGS.TS DƯƠNG HOÀI NGHĨA

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: MAI KHẮC HIỆP Phái : Nam

Ngày, tháng, năm sinh: 20/8/1989 Nơi sinh: Tây Ninh Chuyên ngành: Tự động hóa MSHV: 12153173

I Tên đề tài:

NGHIÊN CỨU VÀ PHÁT TRIỂN SCADA DỰA TRÊN ĐIỆN TOÁN ĐÁM MÂY

II Nhiệm vụ và nội dung:

- Nghiên cứu điện toán đám mây và kiến trúc chương trình SCADA

- Thiết kế kiến trúc và phát triển các thành phần trong chương trình SCADA dựa trên điện toán đám mấy, triển khai lên cloud Window Azure

- Xây dựng hệ thống giám sát tín hiệu giao thông bằng cloud-based SCADA

III Ngày giao nhiệm vụ : 18/08/2014

IV Ngày hoàn thành nhiệm vụ: 10/05/2015

V Cán bộ hướng dẫn : Tiến Sĩ Trương Đình Châu

CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN QL CHUYÊN NGÀNH

KHOA ĐIỆN ĐIỆN TỬ TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 4

Tôi xin gửi đến thầy TS Trương Đình Châu lời biết ơn sâu sắc vì đã dành thời gian quý báu để hướng dẫn, tạo điều kiện thuận lợi cũng như cho tôi những lời khuyên bổ ích để hoàn thành luận văn này

Trong suốt thời gian học tập tại trường đại học Bách Khoa – ĐHQG Tp HCM, tôi đã được các Thầy Cô khoa Điện – Điện tử, và đặc biệt là các Thầy Cô bộ môn Điều khiển tự động giảng dạy tận tình, cho tôi nhiều kiến thức mới bổ ích Xin gửi đến các Thầy, Cô và các bạn lời cảm ơn chân thành nhất

Cuối cùng, tôi xin cám ơn Cha Mẹ, các anh chị em trong gia đình đã động viên và tạo điều kiện giúp tôi vượt qua những khó khăn trong suốt quá trình học tập và nghiên cứu vừa qua

Tp Hồ Chí Minh, ngày 1 tháng 7 năm 2015

Mai Khắc Hiệp

Trang 5

Điện toán đám mây (cloud computing) phát triển ngày càng mạnh mẽ, phổ biến và rộng rãi Nhu cầu giám sát, quản lý các thông tin quan trọng thông qua internet của con người ngày càng cao Đặc biệt là trong lĩnh vực công nghiệp, khi mà các cơ sở sản xuất nằm ở các vị trí địa lý rất xa nhau, người quản lý vận hành mong muốn có thể giám sát, điều khiển hệ thống từ xa thông qua internet bằng các thiết bị hiện đại như tablet, smart phone Các thế hệ SCADA trước đây rất cồng kềnh về phần cứng lẫn phần mềm, gây nhiều khó khăn trong việc bảo trì, nâng cấp, mở rộng hệ thống, khả năng kết nối, truy cập từ xa để giám sát và điều khiển hệ thống cũng rất giới hạn Việc tích hợp hệ thống SCADA lên cloud sẽ giải quyết các vấn đề trên

Luận văn tập trung nghiên cứu vào các kỹ thuật trong cloud computing, các đặc tính kỹ thuật của hệ thống SCADA, các phương pháp, mô hình để tích hợp SCADA lên cloud và đưa ra một kiến trúc tổng quan cho cloud-based SCADA

Luận văn sử dụng nên tảng điện toán đám mây Window Azure (do Microsoft cung cấp)

và ASP.Net WebForm để thực hiện hệ thống cloud-based SCADA giám sát hoạt động của các chốt tín hiệu giao thông trên địa bàn Thành phố Hồ Chí Minh

Cloud computing (cloud computing) grows increasingly and widely The need to monitor and manage critical information via the Internet is increasing Especially in the industrial zone, where the location of plants is very far from each other, the operator or manager can monitor and control the system remotely via the Internet using the modern devices like tablet, smart phone

Previous SCADA generations are very cumbersome in both hardware and software It’s hard to maintain, upgrade and expand the system The connectivity and the capable of remote access to monitoring and control system are also very limited The integration of SCADA systems on the cloud will solve these problems

This thesis use Azure Window (provided by Microsoft) as the cloud platform and ASP.Net WebForm to implement the cloud-based SCADA system to monitor key activities of traffic signals in Ho Chi Minh City

Trang 6

Tôi xin cam kết các nội dung lý thuyết trình bày trong luận văn này là do tôi tham khảo các tài liệu và biên soạn lại, tất cả các kết quả đều do chính bản thân tôi tự làm ra, hoàn toàn không phải sao chép của từ bất kỳ một tài liệu hoặc công trình nghiên cứu nào khác Nếu tôi không thực hiện đúng các cam kết nêu trên, tôi xin chịu hoàn toàn trách nhiệm trước kỷ luật của nhà trường cũng như pháp luật Nhà nước

Mai Khắc Hiệp

Trang 7

MỤC LỤC

CHƯƠNG 1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 12

1.1 Tổng quan về tình hình nghiên cứu 12

1.2 Phạm vi nghiên cứu của luận văn 14

1.3 Sản phẩm của luận văn 14

CHƯƠNG 2 ĐIỆN TOÁN ĐÁM MÂY 15

2.1 Ảo hóa (Virtualization) 15

2.2 Điện toán đám mây 20

2.3 Window Azure 29

2.3.1 Các mô hình điện toán trên Window Azure 30

2.3.2 Virual Machine: 30

2.3.3 Website: 32

2.3.4 Cloud service: 32

2.3.5 Lưu trữ trong Azure (Blob, table, queue, SQL Azure) 34

2.3.6 Network: 37

2.3.7 Message 41

CHƯƠNG 3 SCADA 45

3.1 Kiến trúc hệ thống quản lý giám sát sản xuất: 45

3.2 Tổng quan các chức năng chính của SCADA: 45

3.3 Các mô hình kết nối trong SCADA: 46

3.4 Các thành phần chính trong phần mềm SCADA: 52

CHƯƠNG 4 THIẾT KẾ SCADA DỰA TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY WINDOW AZURE 53

4.1 Xây dựng SCADA dựa trên nền tảng điện toán đám mây Window Azure 53

4.2 Thiết kế Front-End Server 54

4.3 Thiết kế Scheduler 62

4.4 Thiết kế Realtime Database 67

4.5 Thiết kế Runtime Manager 71

4.6 Thiết kế Web HMI Server/Client 72

CHƯƠNG 5 XÂY DỰNG HỆ THỐNG SCADA TÍN HIỆU GIAO THÔNG DỰA TRÊN NỀN TẢNG ĐIỆN TOÁN ĐÁM MÂY 78

5.1 Tổng quan hệ thống 78

Trang 8

5.3 Kết luận và đánh giá 81

5.4 Hướng phát triển đề tài 81

TÀI LIỆU THAM KHẢO 82

PHẦN LÝ LỊCH TRÍCH NGANG 83

QUÁ TRÌNH ĐÀO TẠO 83

QUÁ TRÌNH CÔNG TÁC 83

Trang 9

DANH MỤC HÌNH ẢNH

Hình 2.1 Hệ thống máy chủ khi chưa có ảo hóa Hình 2.2 Hệ thống máy chủ khi sử dụng ảo hóa Hình 2.3 Giải pháp cho hệ thống dự phòng bằng công nghệ ảo hóa Hình 2.4 Các mô hình dịch vụ

Hình 2.5 Mô hình các thành phần hệ thống trong cloud Hình 2.6 Mô hình và các dịch vụ của Cloud Computing Hình 2.7 Mô hình triển khai cho Cloud-based SCADA Hình 2.8 Kết nối local với public cloud

Hình 2.9 Mô hình của VM Hình 2.10 Mô hình điện toán website Hình 2.11 Mô hình cloud service Hình 2.12 Mô hình blob

Hình 2.13 Mô hình table service Hình 2.14 Mô hình của queue Hình 2.15 SQL Azure

Hình 2.16 Mở rộng network bằng virtual network Hình 2.17 Cách lựa chọn virtual network

Hình 2.18 Sử dụng Express Route để mở rộng network Hình 2.19 Traffic Manager

Hình 2.20 Queue Hình 2.21 Service bus relay Hình 2.22 Survice bus topics/subcriptions Hình 3.1 Kiến trúc hệ thống

Hình 3.2 Hệ thống Stand-alone Hình 3.3 Mô hình phân tán Hình 3.4 Mô hình remote web HMI client Hình 3.5 Mô hình host to host

Trang 10

Hình 3.6 Mô hình phân tán Hình 3.7 Các thành phần trong phần mềm SCADA Hình 4.1 Kiến trúc cloud-based SCADA

Hình 4.1 Triển khai front-end server tại local Hình 4.2 Triển khai front-end server trên cloud Hình 4.3 Mô hình kết nối từ cloud đến on-premise Hình 4.4 Các module phần mềm trong Front-End Server Hình 4.5 OPC Item

Hình 4.6 OPC Group Hình 4.7 OPC Client Hình 4.8 OPC Client Hình 4.9 ITLCDriver Interface Hình 4.10 Proxy cho OPC Lib

Hình 4.11 Proxy dành cho VDK Driver Hình 4.12 Kiến trúc scheduler

Hình 4.13 Kiến trúc ghi dữ liệu xuống cho tag Hình 4.14 IOTag

Hình 4.15 Sub Task Hình 4.16 Task Hình 4.17 Quản lý front-end server Hình 4.18 Scheduler quản lý Task Collection, Front-End, và Service Bus Hình 4.19 Xây dựng blob access service, nằm trong BlobAccess.cs Hình 4.20 Giao tiếp với SQL Azure thông qua service

Hình 4.21 Cơ sở dữ liệu Hình 4.22 Tạo/chỉnh sửa/xóa/lấy các đối tượng device từ database trong file DBAccess.cs Hình 4.23 TableAccess.cs

Hình 4.24 Sơ đồ vận hành của runtime manager Hình 4.25 Nguyên lý của signalR

Hình 4.26 Thiết kế Hub

Trang 11

Hình 4.27 Hub Class Hình 4.28 Broadcaster Hình 4.29 Giải quyết vấn đề 1 bằng service bus Hình 4.30 Giải quyết vấn đề 2 bằng service bus Hình 5.1 Mô hình kết nối của hệ thống

Hình 5.2 Giao diện quản lý tổng quát Hình 5.3 Giao diện giám sát thông tin tủ Hình 5.4 Giao diện giám sát thông tin tủ

Trang 12

CHƯƠNG 1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Nhu cầu về sản phẩm phục vụ đời sống hàng ngày của con người trong thời kỳ hiện đại ngày càng tăng về số lượng lẫn chất lượng, đa dạng và phong phú Các đơn vị sản xuất một mặt cải tiến hệ thống sản xuất trong nội bộ để tăng chất lượng sản phẩm, mặt khác

mở rộng sản xuất thành nhiều cơ sở khác nhau nhằm tăng sản lượng Các hệ thống công nghiệp phát triển ngày càng phức tạp và biến đổi hàng ngày nhằm đáp ứng nhu cầu người dùng Các thế hệ SCADA hiện tại gặp nhiều khó khăn trong việc bảo trì nâng cấp

và mở rộng hệ thống Nó đòi hỏi phải chỉnh sửa cả phần cứng lẫn phần mềm, cài đặt phức tạp và chi phí cao

Với sự phát triển như vũ bão của công nghệ, các thiết bị di động như laptop, tablet, smart phone đóng một vài trò quan trọng trong đời sống hàng ngày Con người có thể truy cập quan sát các thông tin quan trọng thông qua internet với các thiết bị này Thế hệ SCADA hiện tại (hệ thống phân tán) cho phép giám sát và điều khiển các trạm khác nhau, không phụ thuộc ví trị địa lý Tuy nhiên, nó chưa đưa ra các dịch vụ chuẩn chung để các thiết

bị di động có thể truy cập vào hệ thống Mỗi hãng có một tiêu chuẩn cho riêng mình, gây khó khăn trong việc tích hợp hệ thống của nhiều hãng lại với nhau

Điện toán đám mây ra đời nhằm giải quyết các vấn đề về phần cứng, phần mềm và đa nền tảng khi có nhu cầu về bảo trì, nâng cấp với chi phí thấp, cài đặt nhanh chóng và dễ dàng mở rộng Việc tích hợp SCADA lên điện toán đám mây là điều cần thiết và quan trọng Cloud-based SCADA là bước phát triển tiếp theo của các thế hệ SCADA

Luận văn tập trung nghiên cứu vào các kỹ thuật trong cloud computing, các đặc tính kỹ thuật của hệ thống SCADA, các phương pháp, mô hình để tích hợp SCADA lên cloud và đưa ra một kiến trúc tổng quan cho cloud-based SCADA

Luận văn sử dụng nên tảng điện toán đám mây Window Azure (do Microsoft cung cấp)

và ASP.Net WebForm để thực hiện hệ thống cloud-based SCADA giám sát hoạt động của các chốt tín hiệu giao thông trên địa bàn Thành phố Hồ Chí Minh

1.1.Tổng quan về tình hình nghiên cứu

Cloud computing là thuật ngữ được ra đời từ giữa năm 2007, nó bắt nguồn từ ứng dụng điện toán lưới (grid computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing) và phần mềm dịch vụ [1] Điện toán đám mây được nhiều nhà phát triển và cung cấp lớn, trong đó có Amazon, Google, Microsoft

Trang 13

Cloud computing dựa trên ý tưởng các khối lượng công việc của người dùng sẽ được chuyển đến các tài nguyên điện toán xử lý (người dùng hoàn toàn không biết thông tin

gì về các tài nguyên này như vị trí địa lý, thiết bị vật lý, v.v ) và chuyển kết quả lại cho người dùng Cloud computing có các đặc trưng sau: [2]

 Ba mô hình dịch vụ: Cơ sở hạ tầng như một dịch vụ (IaaS - Infacstructure as a

Service), nền tảng như một dịch vụ (PaaS - Platfrom as a Service), phần mềm như một dịch vụ (SaaS - Software as a Service);

 Bốn mô hình triển khai: Private Cloud, Public Cloud, Community Cloud và

Hybrid Cloud

 Năm đặc tính kỹ thuật: khả năng co giãn (rapid elasticity), dịch vụ theo nhu

cầu (on-demand self-service), truy xuất diện rộng (broad network access), dịch

vụ được đo lường (measured service), dùng chung tài nguyên và điều tiết dịch

vụ (resource pooling)

SCADA (Supervisory Control and Data Acquisition) là một hệ thống điều khiển giám sát

và thu thập dữ liệu, nhằm hỗ trợ con người trong quá trình giám sát và điều khiển từ xa

hệ thống tự động hóa SCADA đã trải qua ba thế hệ (monolithic, distributed, networked)

và đang phát triển ở thế hệ thứ tư (Internet of things) dựa trên nền tảng điện toán đám mây [3]

Hệ thống SCADA gồm các hệ thống con [4] được chia thành nhiều lớp như lớp thiết bị trường (bao gồm cảm biến, thiết bị chấp hành), lớp thiết bị điều khiển (gồm các bộ điều khiển), lớp giám sát điều khiển (phần mềm thu thập dữ liệu, phần mềm điều khiển quá trình) Lớp giám sát điều khiển cần phải có các tính năng cơ bản sau:

 Hỗ trợ kết nối, giao tiếp với nhiều loại bộ điều khiển khác nhau

 Hỗ trợ các tiêu chuẩn, giao thức kết nối phổ biến như Modbus, Profibus, CAN, v.v

 Thu thập dữ liệu

 Lưu trữ cơ sở dữ liệu các cài đặt người dùng và các trạng thái của hệ thống khi chạy runtime

 Các cảnh báo

 Các biểu đồ, trạng thái của hệ thống

 Các báo cáo về tình trạng hoạt động, lịch sử hoạt động

 Giao diện người dùng cho phép cài đặt và hiển thị các trạng thái hoạt động của

hệ thống khi chạy runtime

Trang 14

Các vấn đề cần quan tâm khi triển khai SCADA lên điện toán đám mây đó là tính bảo mật, hiệu suất hoạt động, độ tin cậy dữ liệu [5][6][7] Có rất nhiều giải pháp đã được đưa

ra nhằm giải quyết ba vấn đề trên Tuy nhiên, các nguyên nhân dẫn đến các vấn đề trên phần lớn nằm ở cơ sở hạ tầng mạng Khi kết nối mạng chậm (ngẽn mạng hay băng thông thấp) sẽ dẫn đến việc xử lý dữ liệu bị trễ, dẫn đến sự mất thống nhất trong hệ thống (giá trị của các biến dữ liệu khác nhau giữa máy chủ và máy khách), hiệu suất hoạt động giảm

và dữ liệu không còn tin cậy Về phương pháp bảo mật dữ liệu trên cloud, [9] đưa ra một phương pháp bảo mật theo nhiều lớp khác nhau

Trong khuôn khổ luận văn trình bày kiến trúc tổng quan cloud-based SCADA dưới dạng SaaS và được triển khai theo mô hình public cloud, đồng thời đưa ra các thiết kế chi tiết của các thành phần trong dịch vụ

1.2.Phạm vi nghiên cứu của luận văn

Nghiên cứu điện toán đám mây và kiến trúc chương trình SCADA

Thiết kế kiến trúc và phát triển các thành phần trong chương trình SCADA dựa trên điện toán đám mây, triển khai lên cloud Window Azure

Xây dựng hệ thống giám sát tín hiệu giao thông bằng Cloud-Based SCADA

1.3.Sản phẩm của luận văn

Giải thuật, mô hình và chương trình Cloud-Based SCADA dựa trên Window Azure

Hệ thống giám sát và điều khiển tín hiệu giao thông trên địa bàn Thành phố Hồ Chí Minh

Trang 15

CHƯƠNG 2 ĐIỆN TOÁN ĐÁM MÂY

Để xây dựng hệ thống SCADA dựa trên điện toán đám mây, trước hết ta cần hiểu rõ bản chất của điện toán đám mây là gì, giá trị cốt lõi cùng với các chức năng mà nó hỗ trợ

Điện toán đám mây gồm nhiều thành phần chức năng khác nhau, bỗ trợ cho nhau để trở thành một hệ thống hoàn chỉnh Trong đó, ảo hóa là thành phần cốt lõi Ảo hóa giúp hệ điều hành không còn phụ thuộc vào kiến trúc phần cứng mà nó chạy trên đó

Ví dụ, hệ điều hành window có thể chạy trên các kiến trúc x86, x64, Arm mà không gặp bất cứ vấn đề gì Trong khi đó, điện toán đám mây giúp các ứng dụng, phần mềm không còn phụ thuộc vào hệ hành mà nó chạy trên đó Ví dụ, một ứng dụng có thể chạy trên nhiều hệ điều hành khác nhau như Window, Linux, Mac OS, Android, IOS

mà không cần phải thay đổi gì cả

2.1 Ảo hóa (Virtualization)

Để nắm rõ ảo hóa là gì, các ưu điểm nhược điểm của nó, trước hết ta cần phân biệt và hiểu rõ các khái niệm sau:

 Phần cứng (Hardware): là các thiết bị, linh kiện điện tử, vật lý hiện hữu phục

vụ cho nhu cầu tính toán, ví dụ như CPU, RAM, ổ cứng, mainboard, v.v

 Hệ điều hành (OS - Operating System): là phần mềm chạy trên phần cứng, dùng để điều hành, quản lý các thiết bị phần cứng và các tài nguyên trên máy tính Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa người dùng

và phần cứng máy tính, cung cấp một môi trường cho phép người dùng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng

 Nền tảng (Platform): bao gồm hệ điều hành và phần cứng mà nó chạy trên đó

Ảo hóa là sự trừu tượng hóa phần cứng thành phần mềm, tách hệ điều hành (OS) ra khỏi phần cứng (hardware), làm nó không còn phụ thuộc vào phần cứng Trong khi

đó, điện toán đám mây tách là nhằm tách ứng dụng phần mềm ra khỏi platform Ảo hóa là một thành phần nằm trong điện toán đám mây

Phương pháp ảo hóa cho các máy chủ

Các trung tâm dữ liệu bao gồm nhiều máy chủ (server) hoạt động Mỗi server sẽ được cài đặt ban đầu hệ điều hành, phần mềm trên một phần cứng cố định Khi các server gặp sự cố, không hoạt động được thì hệ thống tê liệt, làm gián đoạn hoạt động sản xuất Để giải quyết vấn đề này, các server thường được lắp đặt thêm các server dự phòng Khi server chính gặp sự cố, các server dự phòng sẽ đảm nhiệm tiếp tục công

Trang 16

việc trong khi chờ đợi server chính khắc phục sự cố Đối với những hệ thống quan trọng, một server chính sẽ có thêm hai đến ba (hoặc nhiều hơn) các server dự phòng Phương pháp này chi phí cao, hệ thống cồng kềnh, cài đặt, bảo trì, nâng cấp, mở rộng cực kỳ khó khăn, gần như phải thao tác cài đặt trên cả phần cứng, hệ điều hành, phần mềm lại từ đầu

Hình 2.1 Hệ thống máy chủ khi chưa có ảo hóa

Trang 17

Với phương pháp ảo hóa, nhiều server có thể chạy song song trên cùng một hardware Khi server gặp sự cố về phần cứng, ta chỉ việc đơn giản thay thế phần cứng mà không cần phải cài đặt gì lại cho server Khi hệ điều hành server gặp sự cố, chỉ đơn giản cho chạy một ảnh khác của server này Việc bảo trì nâng cấp mở rộng cực kỳ đơn giản, nhanh chóng, tiện lợi và chi phí thấp

Hình 2.2 Hệ thống máy chủ khi sử dụng ảo hóa

Hypervisor là thành phần chính của ảo hóa Nó dùng để ảo hóa các thành phần phần

cứng vật lý thành giao diện phần mềm Nó đóng vai trò trung gian giữa phần cứng

và hệ điều hành Mọi yêu cầu từ hệ điều hành xuống phần cứng phải thông qua hypervisor Ngược lại, các phản hồi từ phần cứng phải đi qua hypervisor rồi mới đến các hệ điều hành Dựa trên nền tảng của hypervisor, nhiều loại hệ điều hành với môi

Trang 18

trường của nó có thể chạy song song với nhau Có hai loại hypervisor: native hypervisor và hosted hypervisor

 Native hypervisor: Là loại hypervisor được cài đặt trực tiếp lên máy chủ vật lý (không thông qua hệ điều hành) Tuy nhiên, ta cần thêm một máy trạm khác

để cài đặt và quản lý các OS chạy trên hypervisor này thông qua Hypervisor Management Console (HMC)

 Hosted Hypervisor: đây là loại hypervisor phổ biến hơn, nó được cài đặt lên máy chủ vật lý thông qua hệ điều hành của máy đó Do đó, hosted hypervisor

có thể được sử dụng để chạy các hệ điều hành khác với hệ điều hành của máy chủ

Các hypervisor phổ biến hiện nay dùng để ảo hóa đó là Hyper-V của Microsoft và vSphere của VMWare Các phần mềm này được sử dụng rất đơn giản để có thể ảo hóa phần cứng, nó đưa ra các máy ảo (virtual machine), ta tiến hành cài đặt hệ điều hành và phần mềm cho server Các VM này được lưu trữ thành dạng các tập tin trên

ổ cứng

Giải pháp dự phòng cho máy chủ bằng công nghệ ảo hóa

Sử dụng hai máy chủ đã ảo hóa trên hai máy chủ vật lý khác nhau và chạy song song đồng thời:

Active server: máy chủ ảo hóa chạy chính các server ảo

Shadow server: máy chủ ảo hóa dự phòng

Shadow server được đồng bộ với active server theo thời gian thực Khi active server gặp sự cố, shadow server sẽ đảm nhận tiếp tục công việc của nó Khi active server khắc phục được sự cố, nó sẽ đồng bộ lại từ shadow server và đảm nhận lại việc xử lý

dữ liệu hệ thống Bởi vì hai máy chủ ảo hóa được đồng bộ theo thời gian thực nên sẽ đảm bảo được hệ thống hoạt động liên tục và thông suốt

Dựa trên ưu điểm này của ảo hóa, điện toán đám mây phát triển nó thành một trong những tính năng quan trọng của mình Trên điện toán đám mây, người dùng chỉ đơn giản cài đặt là sẽ có bao nhiêu hệ thống dự phòng cho hệ thống chính, việc cài đặt còn

lại sẽ được hệ thống cài đặt và vận hành một cách tự động

Trang 19

Hình 2.3 Giải pháp cho hệ thống dự phòng bằng công nghệ ảo hóa

Các vấn đề cần quan tâm và giải pháp khi sử dụng ảo hóa cho các máy chủ

 Hiệu năng: khi phân bổ tài nguyên để các chạy các server ảo song song, lượng tài nguyên vật lý sẽ cạn kiệt dần, làm giảm hiệu năng hoạt động của các server

ảo, làm chậm toàn bộ hệ thống Cần thiết phải lên kế hoạch từ đầu lượng tài nguyên và số lượng máy ảo cung cấp tối đa, nhằm tránh tình trạng trên xảy ra

 Xung đột phần cứng: khi nhiều server ảo cùng truy cập vào một tài nguyên duy nhất (ví dụ card mạng) sẽ dễ gây ra tình trạng xung đột trên bus hệ thống,

có khả năng gây treo hệ thống Cần thiết phải ảo hóa các thành phần này một cách chặt chẽ, nhằm tránh xung đột

Trang 20

 Tính real-time: Hệ thống chạy trên nền tảng ảo hóa sẽ thực thi chậm hơn so với chạy trên phần cứng thực sự Bởi vì nó được chạy thông qua phần mềm, rồi mới đến phần cứng Một giải pháp cho vấn đề này đó là sử dụng ảo hóa dưới

sự hổ trợ trực tiếp của phần cứng VT-x của Intel hoặc AMD-V của AMD Các công nghệ này đã được tích hợp vào các chipset của họ Các chức năng của hypervisor sẽ được tích hợp trực tiếp vào phần cứng, các mô phỏng giả lập phần cứng cũng do các chipset này thực thi Do đó, các lệnh được yêu cầu từ các máy ảo sẽ được thực thi nhanh hơn

Ảo hóa trong SCADA

 Ảo hóa môi trường SCADA nhằm mục đích giảm bớt về chi phí cho phần cứng, kiến trúc và hạ tầng hệ thống, cho phép tích hợp hệ thống SCADA vào nền tảng, kiến trúc, hạ tầng hiện tại

 Các hệ thống công nghiệp có thể sẽ thay đổi bất kỳ lúc nào tùy theo nhu cầu sản xuất, kinh doanh Các thay đổi này có thể là các thay đổi về vật lý như thêm motor, valve, hệ thống ống, hướng dòng chảy,… Hoặc các thay đổi về phần mềm như thêm các chức năng của SCADA: data historian, MES, ERP,… Ảo hóa cho phép thêm bớt các thành phần mà không tốn quá nhiều nổ lực, chi phí

và là giải pháp có thể đáp ứng nhanh nhất đối với các yêu cầu thay đổi này Một ví dụ khác, khi phát triển một hệ thống mới, đòi hỏi cần phải kiểm tra hệ thống trước khi vận hành Việc xây dựng môi trường phần cứng cho kiểm tra tốn nhiều chi phí, nổ lực để thực hiện và bị bỏ đi khi kiểm tra xong hệ thống

Ảo hóa cho phép xây dựng một môi trường kiểm tra tương tự trên mà không tốn nhiều chi phí và nổ lực Trong khi đó, sau khi kiểm tra, nó sẽ trả tài nguyên lại cho hệ thống sử dụng

2.2 Điện toán đám mây

Điện toán đám mây là một mô hình cho phép truy cập một cách thuận tiện từ mọi nơi đến những tài nguyên cho điện toán như mạng, máy chủ, lữu trữ, ứng dụng và dịch

vụ Nó có thể được cung cấp cho người dùng hoặc lấy lại một cách dễ dàng mà không mất nhiều thời gian công sức cho quản trị Mô hình điện toán đám mây đưa ra năm đặc tính, ba mô hình dịch vụ và bốn cách để triển khai

Đối với ảo hóa, việc cấp phát hiệu năng, tài nguyên, lưu trữ, ứng dụng, nền tảng cho các server được người dùng cài đặt và giám sát local tại máy chủ đó Điện toán đám mây nâng cao khả năng của ảo hóa, bằng cách cho phép cài đặt và giám sát từ xa thông qua internet Người dùng hoàn toàn không biết thông tin về các thành phần vật

Trang 21

lý này như đặt ở đâu, ai quản lý, của hãng sản xuất nào, v.v Mặt khác, nó cung cấp việc tự động hóa các cài đặt chi tiết kỹ thuật bên trong hệ thống, người dùng chỉ đơn giản cài đặt những gì mình mong muốn

Ba thành phần chính để cấu tạo nên 1 cloud đó là computing, storage và network

 Computing: bao gồm tất cả nhân xử lý tín hiệu CPU và RAM tại datacenter

 Storage: bao gồm toàn bộ bộ nhớ để chứa dữ liệu tại datacenter

 Network: kết nối mạng thực giữa các máy chủ thực tại datacenter

Tại một trung tâm dữ liệu, tập hợp tất cả các thành phần vật lý computing, storage, network sẽ được ảo hóa hoàn toàn Sau đó chia nhỏ nó ra thành nhiều cloud khác nhau

Điện toán đám mây cung cấp ba loại hình dịch vụ:

 Software as a Service (SaaS): Cung cấp người dùng các dịch vụ về phần mềm (application) thông qua web như google docs, google excels, v.v

 Platform as a Service (PaaS): Cung cấp cho người dùng các dịch vụ nền tảng (hardware và OS) để họ cài đặt ứng dụng trên đó

 Infrastructure as a Service (IaaS): Cung cấp cho người dùng các dịch vụ về phần cứng (CPU, RAM, storage, network)

Hình 2.4 Các mô hình dịch vụ

Trang 22

Để hiểu rõ các mô hình dịch vụ này, ta có thể chia các thành phần phần mềm, phần cứng thành hai nhóm: nhóm thành phần do nhà cung cấp quản trị, nhóm thành phần

do người dùng quản trị Các thành phần phần cứng bao gồm servers (computing), storage, networking Các thành phần phần mềm bao gồm virtualization, OS, middleware, runtime, data, application

 On premises: người dùng quản trị tất cả các thành phần (mô hình được sử dụng hiện tại vì chi phí đầu tư nhỏ đối với các hệ thống nhỏ)

 IaaS: nhà cung cấp quản lý các thành phần phần cứng và virtualization, người dùng quản lý các thành phần phần mềm còn lại

 PaaS: nhà cung cấp quản lý các thành phần phần cứng, virtualization, OS, middleware, runtime Người dùng quản lý data và application

 SaaS: nhà cung cấp quản lý tất cả các thành phần phần cứng lẫn phần mềm Người dùng đơn giản sử dụng các phần mềm mà nhà cung cấp cung cấp

Hình 2.5 Mô hình các thành phần hệ thống trong cloud Luận văn hướng tới xây dựng một dịch vụ SCADA dựa trên PaaS của nhà cung cấp

và đưa đến người dùng SCADA như là một SaaS

Điện toán đám mây có năm đặc tính sau:

 Dịch vụ theo yêu cầu (Ondemand Seft-Service): Người dùng gửi yêu cầu thông qua trang web cung cấp dịch vụ, hệ thống của nhà cung cấp sẽ đáp ứng để người dùng có thể tự phục vụ như: tăng – giảm thời gian sử dụng server và

Trang 23

dung lượng lưu trữ, … mà không cần phải trực tiếp yêu cầu nhà cung cấp dịch

vụ, tức là mọi nhu cầu khách hàng đều được xử lý trên internet

 Truy xuất diện rộng (Broad network access): Cloud Computing Service là tập hợp các dịch vụ công nghệ thông tin được cung cấp thông qua môi trường internet, ở đó người dùng thích dịch vụ gì thì dùng dịch vụ ấy, dùng bao nhiêu trả bấy nhiêu, được lựa chọn những dịch vụ tốt nhất ở bất cứ đâu vào bất cứ lúc nào Như vậy người dùng có kết nối internet là có thể sử dụng dịch vụ, Cloud Computing Service không yêu cầu người dùng phải có khả năng xử lý cao, người dùng có thể truy xuất bằng các thiết bị di dộng như điện thoại, PDA, laptop

 Dùng chung tài nguyên và điều tiết dịch vụ (Resource pooling): Nhà cung cấp dịch vụ cho phép người dùng dùng chung tài nguyên do họ cung cấp dựa trên

mô hình “multi-tenant”, tài nguyên được phân phát rất linh hoạt tùy theo nhu cầu của người dùng Khi nhu cầu của một người dùng nào đó giảm xuống, lập tức phần tài nguyên dư thừa sẽ được phục vụ cho người dùng khác Nếu một người dùng 4 CPU từ 7 – đến 11 giờ hàng ngày, một người dùng khác thuê 4 CPU tương tự 13 giờ đến 17 giờ hàng ngày thì họ có thể dùng chung 4 CPU đó

 Khả năng co giãn (Rapid elasticity): tự động mở rộng hoặc thu nhỏ hệ thống theo yêu cầu người dùng Ví dụ, một người dùng ký hợp đồng thuê một Server gồm 4 CPU Nếu lượng truy cập thấp chỉ cần 1 CPU là đủ, khi đó hệ thống quản lý của nhà cung cấp dịch vụ sẽ tự ngắt bớt 3 CPU, người dùng không phải trả phí cho 3 CPU nói trên và chúng được đưa sang phục vụ người dùng khác Đến khi nhu cầu tăng tức là lượng truy cập tăng, hệ thống ngay lập tức

sẽ tự động thêm CPU vào, nếu nhu cầu vượt quá 4 CPU thì người dùng trả phí theo hợp đồng đã ký với nhà cung cấp

 Dịch vụ đo lường được (Measured service): hệ thống điện toán đám mây tự động điều khiển và tối ưu tài nguyên sử dụng nhờ vào khả năng đo lường được (như thời gian sử dụng bộ nhớ, CPU xử lý, băng thông, số lượng tài khoản truy cập vào hệ thống,…) Độ sử dụng tài nguyên có thể giám sát, điều khiển, báo cáo cho nhà cung cấp lẫn người sử dụng

Điện toán đám mây được triển khai trên các mô hình sau:

 Private cloud: là mô hình trong đó hạ tầng đám mây được sở hữu bởi một tổ chức và phục vụ cho người dùng của tổ chức đó Private Cloud có thể được vận hành bởi một bên thứ ba và hạ tầng đám mây có thể được đặt bên trong hoặc bên ngoài tổ chức sở hữu (tại bên thứ ba kiêm vận hành hoặc thậm chí là một bên thứ tư) Private Cloud được các tổ chức, doanh nghiệp lớn xây dựng

Trang 24

cho mình nhằm khai thác ưu điểm về công nghệ và khả năng quản trị của điện toán đám mây Với Private Cloud, các doanh nghiệp tối ưu được hạ tầng IT của mình, nâng cao hiệu quả sử dụng, quản lý trong cấp phát và thu hồi tài nguyên, qua đó giảm thời gian đưa sản phẩm sản xuất, kinh doanh ra thị trường

 Public Cloud: được một tổ chức sở hữu và cung cấp dịch vụ rộng rãi cho tất cả các khách hàng thông qua hạ tầng internet hoặc các mạng công cộng diện rộng Các ứng dụng khác nhau chia sẻ chung tài nguyên tính toán, mạng và lưu trữ

Do vậy, hạ tầng Cloud Computing được thiết kế để đảm bảo cô lập dữ liệu giữa các khách hàng và tách biệt về truy cập Các dịch vụ Public Cloud hướng tới số lượng khách hàng lớn nên thường có năng lực về hạ tầng cao, đáp ứng nhu cầu tính toán linh hoạt, đem lại chi phí thấp cho khách hàng Cho nên khách hàng của dịch vụ trên Public Cloud sẽ bao gồm tất cả các tầng lớp mà khách hàng cá nhân và doanh nghiệp nhỏ sẽ được lợi thế trong việc dễ dàng tiếp cận các ứng dụng công nghệ cao, chất lượng mà không phải đầu tư ban đầu, chi phí sử dụng thấp, linh hoạt

 Community Cloud: Với mô hình đám mây chung, hạ tầng đám mây được chia

sẻ bởi một số tổ chức cho cộng đồng người dùng trong các tổ chức đó Các tổ chức này do đặc thù không tiếp cận với các dịch vụ đám mây công cộng (Public Cloud) và chia sẻ chung một hạ tầng Cloud Computing để nâng cao hiệu quả đầu tư và sử dụng.

 Hybrid Cloud: Mô hình bao gồm hai hoặc nhiều hơn các đám mây trên tích hợp với nhau Mô hình này cho phép chia sẻ hạ tầng hoặc đáp ứng nhu cầu trao đổi dữ liệu Mô hình điện toán đám mây là mô hình mới, mô hình ứng dụng và khai thác điện toán mới, được đánh giá mang lại hiệu quả cao Trong tương lai, khách hàng và doanh nghiệp sẽ quen với việc sử dụng các phần mềm

và lưu trữ dữ liệu ở trên “mây’

Trang 25

Hình 2.6 Mô hình và các dịch vụ của Cloud Computing

Ưu điểm của cloud computing cho hệ thống SCADA

Lợi ích lớn nhất của điện toán đám mây đó là khả năng mở rộng Sự xuất hiện một cách đột ngột lượng dữ liệu lớn đòi hỏi phải xử lý trong hệ thống SCADA xuất hiện rất thường xuyên Do đó, trong hệ thống công nghiệp thường có các thiết bị đi kèm nhằm có thể xử lý được các tình huống như vậy Cloud computing giúp giảm bớt các thiết bị đi kèm này, làm giảm chi phí cho hệ thống

Bên cạnh đó, điện toán đám mây nâng cao những tính năng kỹ thuật và tính khả dụng cho các thiết bị di động Các thiết bị di động thông minh đang phát triển một cách mạnh mẽ Việc tích hợp SCADA lên cloud là một bước quan trọng cho hệ thống SCADA mới trong tương lai

Các vấn đề cần quan tâm khi triển khai SCADA lên cloud

 Tính bảo mật: các nhà cung cấp dịch vụ cloud computing đưa ra rất nhiều phương pháp giải thuật nhằm đảm bảo bảo mật thông tin của người dùng Tuy nhiên vẫn có trường hợp các nhà cung cấp này bị hacker xâm nhập Một khi hệ thống SCADA đưa lên pubic cloud, không gì có thể đảm bảo rằng các thông tin quan trọng của chúng ta là an toàn Do đó, ta cần cân nhắc kỹ những thông tin nào sẽ được đưa lên public cloud, những thông tin gì sẽ chỉ được phép nằm

ở private cloud

 Hiêu năng: vấn đề lớn đáng quan tâm là hiệu năng hoạt động của cloud computing, nó có tốt bằng các hế thống hiện tại không Cloud computing rất

Trang 26

phụ thuộc vào băng thông kết nối mạng (bởi vì mọi yêu cầu tính toán đều phải

đi qua đường truyền mạng), khi băng thông quá tải hoặc gặp sự cố, nó sẽ dẫn đến tình trạng trễ của hệ thống Dẫn đến thông tin giám sát điều khiển từ trung tâm và tại local không đồng nhất, dẫn đến điều khiển sai mục đích (rất nguy hiểm) Cloud-based SCADA hoàn toàn đáp ứng được các ứng dụng giám sát điều khiển mà không cần theo thời gian thực Đối với các hệ thống thời gian thực, thì đòi hỏi kết nối mạng phải nhanh và thông suốt

 Độ tin cậy: đối với các hệ thống điều khiển quá trình, việc mất kết nối từ thiết

bị điều khiển đến Cloud-based SCADA (do cloud gặp sự cố, hoặc đường truyền có vấn đề) ảnh hưởng rất to lớn, có thể gây hậu quả nghiêm trọng cho sản xuất Vì thế, cần cân nhắc kỹ sẽ triển khai SCADA lên mô hình cloud nào (public cloud hay private cloud)

Thiết kế mô hình Cloud-based SCADA

Từ những nghiên cứu, phân tích điểm mạnh điểm yếu, các mô hình dịch vụ, các mô hình triển khia trong cloud computing, luận văn đưa ra mô hình SCADA sẽ phát triển như sau:

 Mô hình dịch vụ: IaaS nhằm xây dựng một máy tính ảo (để cài đặt hệ điều hành, network nhằm kết nối được đến các bộ điều khiển), PaaS nhằm kết nối đến máy ảo và triển khai phần mềm cloud-based SCADA

 Mô hình triển khai: sử dụng hybrid cloud Hệ thống vận hàng sẽ kết nối đến private cloud Các thông tin quan trọng sẽ do người dùng cài đặt có đưa lên public cloud hay không

Trang 27

Hình 2.7 Mô hình triển khai cho Cloud-based SCADA

Có 2 giải pháp để xây dựng private cloud:

 Sử dụng Window Server và các kỹ thuật chi tiết do Microsoft cung cấp để xây dựng private cloud tại nhà máy

 Xây dựng private cloud dựa trên các tính năng hỗ trợ của Azure

Tuy nhiên, hai mô hình này đòi hỏi phải thực hiện rất chi tiết các kỹ thuật về IT nhằm xây dựng private cloud Do đó, luận văn sẽ không hướng tới phương án này Thay vào đó, phương án sử dụng sẽ là mở rộng mạng kết nối từ local lên cloud Một VM trên cloud chịu trách nhiệm giao tiếp với các bộ điều khiển Từ đó, Cloud-based SCADA cloud service sẽ thu thập dữ liệu của các bộ điều khiển tại local thông qua

VM này

Trang 28

Hình 2.8 Kết nối local với public cloud

Ưu điểm của kiến trúc trên

 Mô hình trên đưa ra những lợi ích của cả hai cách triển khai cloud Private cloud chịu trách nhiệm cho việc quản lý toàn bộ các thành phần lõi trong hệ thống, xử lý các yêu cầu cấp bách, tương tự như kiến trúc hệ thống SCADA hiện tại Máy chủ SCADA trong private cloud đảm bảo cho các điều khiển bên trong và bảo mật Bên cạnh đó, việc đặt hệ thống trong nội bộ, chạy trên nền LAN sẽ giúp cho dữ liệu truyền tải với tốc độ nhanh hơn, làm giảm bớt tính trễ của hệ thống

 Public cloud sẽ chuyển các dữ liệu yêu cầu đến người dùng từ private cloud Thông qua public cloud, một phần dữ liệu được chia sẽ đến người dùng Việc này làm giảm bớt tải cho private cloud, đồng thời tăng tính co giãn và chi phí thấp Khi chọn mô hình hybrid cloud, kiến trúc xây dựng hệ thống sẽ được chia thành từng bước Trước tiên, ta xây dựng private cloud, vận hành đảm bảo hệ thống hoạt động trơn tru và giúp đơn vị sử dụng quen với cloud SCADA Khi họ đã yên tâm về hoạt động của hệ thống, ta chuyển sang bước thứ hai, xây dựng public cloud

 Để giảm bớt khối lượng cần xử lý và băng thông, giải thuật sử dụng cho việc cập nhật dữ liệu thay đổi theo phương pháp publish/subcribe (pub/sub) thay

vì quét dữ liệu theo chu kỳ Phương pháp thu thập dữ liệu này giúp cho giảm nhẹ việc tải dữ liệu trên băng thông của mạng và tải cần xử lý cho máy chủ Hơn thế nữa, publish dữ liệu ra từ phía server sẽ đảm bảo bảo mật cho hệ thống

Trang 29

Ở phần tiếp theo, luận văn sẽ giới thiệu về Window Azure cũng như cách triển khai

hệ thống trên lên Window Azure

2.3 Window Azure

Window Azure (sản phẩm của Microsoft, được chạy trên nền tảng của Window Server) là hệ điều hành dành cho điện toán đám mây (được cài đặt trên cloud), ảo hóa toàn bộ các thành phần vật lý của hệ thống điện toán Người dùng lựa chọn các tính năng, tiện ích, thành phần mà không cần phải cài đặt phần cứng hay phần mềm đối với máy ảo mà họ sẽ được cấp từ dịch vụ Để đảm bảo cho khả năng mở rộng và khả năng chịu lỗi, dữ liệu chứa trên Window Azure sẽ được lưu trữ trên ba máy trạm khác nhau Bộ load balancer (một thành phần phần mềm trong Window Azure) sẽ chia tải cho các trạm, việc phân tải hoàn toàn trong suốt đối với người dùng, họ sẽ không biết

gì về các hoạt động này Window Azure cung cấp các lựa chọn về phần cứng như sau:

 CPU: từ 1 core đến 8 core, xung nhịp hoạt động từ 1 GHz trở lên

 RAM: từ 768MB đến 8GB

 Bộ nhớ: từ 20 GB đến 2TB

 Hiệu suất IO: thấp, trung bình, cao

Tùy theo chi phí mình bỏ ra (subcription fee), hệ thống còn cung cấp thêm nhiều tính năng khác nữa Bên cạnh đó, các tài nguyên, thành phần phần cứng có thể được thay đổi bất cứ lúc nào Ví dụ, khi lượng dữ liệu cần xử lý tăng lên, ta có thể tăng thêm CPU và RAM cho máy ảo, hoặc tăng thêm lượng máy ảo Việc tăng giảm này được thay đổi rất nhanh chóng, đáp ứng tốt nhu cầu sử dụng tính toán của người dùng Vấn đề bảo trì và bảo mật, các bản vá bảo mật cũng như bảo trì hệ thống được Microsoft team thực hiện nhanh nhất và tự động, đảm bảo hệ thống hoạt động trơn tru, cập nhật với xu thế mà người dùng hoàn toàn không cần phải quan tâm đến các vấn đề này

Window Azure ẩn đi các chi tiết kỹ thuật bên trong, nó chỉ đưa ra cho người dùng các dịch vụ và các giao thực chuẩn để họ sử dụng dịch vụ Các tài nguyên vật lý được cung cấp cho người dùng theo mô hình IaaS (Infrastructure as a Service) Người dùng không cần thiết phải viết các đoạn mã để quản lý phần cứng như: địa chỉ vật lý, loại

ổ cứng, tên máy chủ, đường dẫn mạng, IIS virtual directory, địa chỉ IP,… Để thao tác với các tài nguyên, ứng dụng phải gọi các dịch vụ tương ứng của các tài nguyên này

Ví dụ, người dùng có thể URI của dịch vụ để chèn thêm, cập nhật hoặc xóa tài nguyên

và sử dụng ODATA Rest để lấy được lấy được các dịch vụ của tài nguyên

Trang 30

Các ứng dụng đã được chạy tốt trên nền tảng Window thì hoàn toàn có thể hoạt động tốt trên nền tảng của Azure Tùy theo code lập trình của các developer và các đòi hỏi

về tính năng phần mềm, các ứng dụng có thể sẽ phải chỉnh sửa lại để đáp ứng tốt hơn trên nền tảng Azure

2.3.1 Các mô hình điện toán trên Window Azure

Một trong những tính năng cơ bản của nền tảng điện toán đám mây đó là các ứng dụng thực thi Azure cung cấp những lựa chọn sau:

gồm cả hệ điều hành Đây là dịch vụ thuộc IaaS

dùng triển khai một cách nhanh chóng các ứng dụng web lớn, dễ dàng mở rộng và quản lý các công đoạn phát triển, kiểm thử, vận hành một cách hiệu

quả Đây là một dịch vụ thuộc mô hình SaaS

thể tạo ra một ứng dụng có tính mở rộng, tính chịu lỗi cao và linh động hơn cả

website

2.3.2 Virual Machine:

Khả năng tạo ra một máy ảo (người dùng tự tạo cho riêng mình rồi tải lên cloud hoặc

do nhà cung cấp dịch vụ tự tạo cho người dùng) theo nhu cầu rất là hữu ích Đây là một dịch IaaS mà Azure cung cấp Có thể sử dụng VM trong các trường hợp sau:

Trang 31

Hình 2.9 Mô hình của VM

 Dev/test: dùng để xây dựng 1 nền tảng môi trường phục vụ cho phát triển hay kiểm thử phần mềm với chi phí thấp Ta có thể thực thi bất kỳ dạng ứng dụng nào, bất kỳ nền tảng ngôn ngữ hay thư viện nào, bất kỳ loại cơ sở dữ liệu nào

 Chuyển ứng dụng lên cloud (lift and shift): khi có nhu cầu đòi hỏi các ứng dụng

ở máy tính local phải được triển khai lên cloud, nhằm có thể được sử dụng ở mức rộng rãi hơn, ta có thể tạo ảnh cho máy tính đó (VHD Image), sau đó upload ảnh này lên cloud Do đó, ứng dụng local sẽ được triển khai lên cloud một cách nhanh chóng

Mở rộng datacenter: tạo máy ảo trên cloud, sau đó dùng Azure Virtual Network

để tạo kết nối giữa máy ảo trên cloud và datacenter ở local network Khi đó, datacenter sẽ được mở rộng lên cloud

Trang 32

2.3.3 Website:

Một trong những điều phổ biến mà người dùng thườn thực hiện đó là thực thi các website và web application Azure cung cấp một môi trường quản lý web bằng Azure Management Portal và APIs, nhằm giúp người dùng có thể tạo và quản lý website, web application một cách nhanh chóng, mà không cần tốn công sức trong việc cài đặt, bảo trì hệ thống nền tảng Người dùng có thể upload website của mình lên cloud để hoạt động bình thường mà không hề có bất cứ thay đổi gì, hoặc họ có thể tạo ngay website trên cloud mà không hề có bất cứ khó khăn gì Website thường được sử dụng bởi các tập đoàn, người phát triển và các công ty thiết kế Đối với tập đoàn, đây là giải pháp dễ dàng quản lý, mở rộng, bảo mật cao khi họ muốn đưa webiste hiện tại của mình lên cloud

Hình 2.10 Mô hình điện toán website

2.3.4 Cloud service:

Trường hợp ta muốn xây dựng một ứng dụng trên cloud cho phép nhiều người dùng truy cập cùng lúc Đều này hoàn toàn có thể bằng cách sử dụng mô hình Website hoặc

VM Tuy nhiên, đối với Website, nó có nhiều giới hạn truy cập hệ thống Nó chỉ cho

ta cài đặt, thiết kế logic liên quan đến web mà không thể thực thi các process chạy

Trang 33

ngầm bên trong (theo mục đích của riêng mình) Đối với VM, ta có thể toàn quyền đối với hệ thống, chạy bất cứ ứng dụng nào ta muốn Tuy nhiên việc quản trị VM đòi hỏi mất nhiều công sức, chi phí, và kỹ thuật cho nó Như vậy, cầu nối giữa Webiste và

VM đó chính là Cloud service Cloud service thuộc mô hình PaaS (Platform as a Service) Việc cập nhật các bản vá lỗi hệ điều hành, phần cứng sẽ do nhà cung cấp dịch vụ đảm nhiệm, giảm bớt việc bảo trì hệ thống về phía người dùng, đồng thời cho phép nhiều loại ứng dụng khác nhau thực thi trên đó Có hai lựa chọn khi xây dựng ứng dụng trên cloud service đó là web role và worker role Sự khác biệt giữa hai instance này đó là web role thì được chạy trên IIS, còn worker role thì không Một ứng dụng cloud service thì thường dùng cả hai role này Ví dụ, web role sẽ nhận yêu cầu

từ phía người dùng, và chuyển nó sang cho worker role xử lý (worker role là process chạy ngầm để xử lý dữ liệu)

Hình 2.11 Mô hình cloud service Cloud-based SCADA sẽ được phát triển theo mô hình của Cloud Service vì những ưu điểm của nó so với VM và Website

Trang 34

2.3.5 Lưu trữ trong Azure (Blob, table, queue, SQL Azure)

Blob service: là dịch vụ nhằm để chứa những dữ liệu lớn và không có cấu trúc, như file

text hay file binary và có thể được truy cập từ bất kỳ đâu thông qua HTTP hay HTTPS

Dữ liệu trong blob có thể được public để những dịch vụ khác có thể truy cập hoặc private Dữ liệu được lưu trữ trên blob thường dùng để:

 Hình ảnh hoặc tài liệu cần để hiển thị trên web browser

 Chứa các file dữ liệu mà cần chia sẽ giữa nhiều ứng dụng khác nhau

 Truyền audio và video

 Thực hiện thao tác backup và recovery hệ thống

 Chứa những dữ liệu mà cần phải phân tích bởi on-premise hoặc Azure-hosted service

Mô hình của blob như sau:

Hình 2.12 Mô hình blob Trong đó,

 Storage Account: là tài khoản để truy cập tất cả các dịch vụ lưu trữ

 Container: là tập hợp một nhóm các blob Một storage account có thể chứa không giới hạn các container Một container có thể chứa không giới hạn các blob

 Blob: là một file dữ liệu, có thể là bất kỳ đuôi (extension) gì, bất kỳ kích cỡ nào

Trang 35

 Fortmat URL: để truy cập một blob nào đó, ta theo cú pháp URL như

sau: http://<storage account>.blob.core.windows.net/<container>/<blob>

Table service: chứa các dữ liệu có cấu trúc Azure table như là một cơ sở dữ liệu, nhưng

nó không chứa quan hệ giữa các table (NoSQL) Sử dụng table trong các trường hợp

sau:

Chứa dữ liệu có cấu trúc nhằm đáp ứng các dịch vụ của web

 Chứa những bảng dữ liệu mà không cần các thao tác như join, foreign keys,

stored procedures nhằm lấy dữ liệu nhanh hơn

 Truy cập dữ liệu nhanh chóng bằng clustered index (kỹ thuật trong NoSQL

database)

 Truy cập dữ liệu bằng qua giao thức Odata và LinQ queries thông qua WCF

data service

Mô hình của table như sau:

Hình 2.13 Mô hình table service Trong đó,

 Storage Account: tài khoản để truy cập vào bất kỳ dịch vụ lưu trữ nào

 Table: là tập hợp các entity, table không có cấu trúc nào định sẵn trước Do

đó, các entity trong cùng một table có thể có cấu trúc khác nhau Số lượng

Trang 36

table có thể chứa được trong storage account thì tùy thuộc vào account đó cho phép tối đa bao nhiêu

 Entity: là một tập hợp gồm nhiều thuộc tính khác nhau, tương tự như một row trong database Entity có kích thước tối đa là 1MB

 Fortmat URL: truy cập vào các table theo cú pháp URL như sau

http://<storage account>.table.core.windows.net/<table>

Queue service: là dịch vụ để lưu trữ các message mà có thể truy cập từ nhiều ứng dụng

khác nhau, từ bất kỳ đâu trên thế giới thông qua các phương pháp gọi chứng thực như HTTP hay HTTPS Một queue có thể chứa tối đa 64KB và có thể chứa hàng triệu message, giới hạn bởi storage account Một storage account có thể chứa đến 500TB

blob, table, queue Sử dụng queue trong các trường hợp sau:

Tạo ra một lượng công việc cần xử lý bên trong

Truyền thông tin, lệnh từ web role sang worker role

Mô hình của queue như sau:

Hình 2.14 Mô hình của queue Trong đó,

 Storage account: tài khoản để truy cập vào bất kỳ dịch vụ lưu trữ nào

 Queue: là tập hợp các message

 Message: có thể ở bất kỳ định dạng nào và tối đa là 64KB

 Format URL: truy cập vào các queue theo định dạng URL như sau

http://<storage account>.queue.core.windows.net/<queue>

Microsoft SQL Azure

Trang 37

Đối với cơ sở dữ liệu có quan hệ, Azure cung cấp những tính năng của SQL database, gọi là SQL Azure Nó cung cấp tất cả các tính năng chính của một

cơ sở dữ liệu quan hệ như atomic transactions, nhiều user cùng truy cập một lúc nhưng vẫn đảm bảo tính toàn vẹn dữ liệu, truy vấn ANSI SQL, và những

mô hình lập trình quen thuộc SQL Azure có thể truy cập bằng các mô hình như Entity Framework, ADO.Net, JBDC và những mô hình truy cập quen thuộc khác Nó cũng hỗ trợ ngôn ngữ T-SQL, và công cụ để quản lý server như SQL Management Studio

Azure SQL là một dịch vụ thuộc PaaS Ta vẫn có thể kiểm soát việc truy cập

dữ liệu và Azure SQL sẽ đảm nhận việc bảo trì hệ thống, hệ điều hành, phần cứng, đảm bảo database luôn hoạt động Azure SQL cung cấp khả năng high availability, automatic backups, point-in-time restores và có thể sao chép dữ liệu sang nơi khác, không phụ thuộc vào địa lý

Hình 2.15 SQL Azure Nếu ta xây dựng một ứng dụng cần đến cơ sở dữ liệu quan hệ, thì SQL Azure

là một sự lựa chọn tốt Những ứng dụng không chạy trên cloud vẫn có thể sử dụng các dịch vụ này Ví dụ, dữ liệu được lưu trữ SQL Azure có thể sẽ được truy cập từ rất nhiều ứng dụng trên các nền tảng khác nhau như máy tính bàn, máy tính xách tay, máy tính bảng, điện thoại

2.3.6 Network:

Azure được chạy trên rất nhiều trung tâm dữ liệu khác nhau ở khắp thế giới Khi triển khai một ứng dụng hoặc chứa dữ liệu lên cloud, ta lựa chọn một trong những trung tâm dữ liệu đó để sử dụng Có nhiều cách để kết nối đến các trung tâm dữ liệu đó thông qua dịch vụ như sau:

Trang 38

Virtual Network:

Virtual network là một mạng ảo mà có thể cài đặt được trên Azure VMs và các service trên cùng một mạng ảo có thể truy cập lẫn nhau Tuy nhiên, các dịch vụ không cùng nằm trong cùng một mạng ảo thì không có cách nào để truy cập lẫn nhau Để làm được điều này, ta phải sử dụng đến VNet và cài đặt chức năng VNet to VNet VNet là một lớp cách ly ở giữa giữa các dịch vụ với nhau Ngoài ra, virtual network còn được dùng để mở rộng network tại local lên cloud, bằng cách sử dụng VPN và

VM trên cloud (khi có nhu cầu mở rộng datacenter chẳng hạn)

Hình 2.16 Mở rộng network bằng virtual network Tùy theo yêu cầu của hệ thống, ta có thể sử dụng virtual network theo nhiều cách khác nhau

Trang 39

Hình 2.17 Cách lựa chọn virtual network Nếu ứng dụng của chúng ta là hybrid application, ta sử dụng VNet Cross-Premises connectivity Nếu ứng dụng chỉ đòi hỏi truy cập trực tiếp giữa các service và VM trên cloud thì ta sử dụng mạng ảo VNet Cloud-Only Nếu không đòi hỏi truy cập trực tiếp,

ta có thể sử dụng các phương pháp khác

Express Route:

Để có thể đạt được băng thông cao hơn và tăng tính bảo mật hơn trong việc mở rộng network từ local lên cloud, ta có thể sử dụng Express Route Nó cho phép mở rộng mạng từ local lên cloud mà không thông qua internet Để làm được điều này, ta cần liên hệ với các nhà cung cấp dịch vụ mạng, họ sẽ tiến hành cài đặt Do đó, việc cài đặt Express Route sẽ mất nhiều thời gian và công sức hơn

Trang 40

Hình 2.18 Sử dụng Express Route để mở rộng network

Traffic Manager:

Nếu ứng dụng được chạy trên nhiều datacenter khác nhau, traffic manager sẽ chuyển các yêu cầu của người dùng đến các datacenter một cách thông minh Ví dụ, khi có yêu cầu từ một người dùng, traffic manager sẽ chuyển yêu cầu này đến datacenter gần với người dùng đó nhất Trong trường hợp datacenter đó gặp trục trặc, sự cố, nó

sẽ tự động chuyển yêu cầu này một datacenter khác gần nhất có thể

Người phát triển ứng dụng sẽ cài đặt các qui tắc, qui luật cho traffic manager Sau đó traffic manager sẽ dựa theo các quy tắc này mà chuyển yêu cầu đến các datacenter Traffic manager sử dụng DNS để chuyển yêu cầu từ người dùng đến datacenter Một khi kết nối giữa người dùng và datacenter đó thành công, các yêu cầu tiếp theo sẽ

Ngày đăng: 27/01/2021, 09:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[8] Fayyaz, S. and M.M. Nazir, Handling Security Issues for Smart Grid Applications using Cloud Computing Framework. Journal of Emerging Trends in Computing and Information Sciences, 2012. 3(2) Sách, tạp chí
Tiêu đề: Handling Security Issues for Smart Grid Applications using Cloud Computing Framework. Journal of Emerging Trends in Computing and Information Sciences
[2] Qi Zhang, Lu Cheng, Raouf Boutaba, Cloud computing: state-of-the-art and research challenges Khác
[5] White Paper, Cloud-Based SCADA Systems: The Benefits &amp; Risks Is Moving Your SCADA System to the Cloud Right For Your Company Khác
[6] White Paper, Is Moving Your SCADA System to the Cloud Right For Your Company? Cloud- Based SCADA Systems: The Benefits &amp; Risks Khác
[9] Christophe Feltus, Moussa Ouedraogo, Djamel Khadraoui, Towards Cyber-Security Protection of Critical Infrastructures by Generating Security Policy for SCADA Systems Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm