Tổng quan về điện toán đám mây. Các vấn đề liên quan đến điện toán đám mây. Hệ thống OpenStack và bảo mật trên điện toán đám mây. An toàn trong điện toán đám mây. Các dịch vụ trên điện toán đám mây.
Trang 1computing
Thực hiện : PV
Nội dung
Phần 1: Cloud computing xu thế của tương lai 5
I Cloud computing 5
Trang 21 Giới thiệu về Cloud computing 5
2 Những lợi ích của Cloud computing 8
3 Ảo hoá 9
3.1 Lợi ích của ảo hóa 9
3.2 Kernel mode và User mode 9
3.3 Các công nghệ ảo hóa9
II Các dịch vụ Cloud computing 12
1 Cung cấp Infrastructure as a Service (IaaS) 12
2 Cung cấp Storage 13
3 Cung cấp Desktop-as-a-Service (DAAS) 15
4 Cung cấp Software-as-a-Service (SaaS) 16
5 Cung cấp Platform-as-a-Service (PaaS) 17
1 NOVA - Compute service 22
2 NEUTRON - Networking Service 23
3 SWIFT - Object Storage Service 24
4 CINDER - Block Storage Service 25
5 KEYSTONE - Identity Service 26
6 GLANCE - Image Service 27
7 HORIZON - Dashboard Service 28
Trang 38 CEILOMETER - Telemetry Service 29
9 HEAT - Orchestration Service 30
10 Các project khác 31
II Cài đặt OpenStack 32
Phần 3 : An toàn trong “ Cloud computing” 33
I Triển khai Cloud computing 33
1 Quản lí trong Cloud computing 33
2 Hoạt động trong Cloud computing 33
II Các nguy cơ tiềm ẩn trong mạng Cloud 34
1 Vi phạm dữ liệu (Data breaches) 34
2 Chứng chỉ và xác thực bị hỏng (Compromised credentials and broken
authentication)34
3 Lỗ hổng bảo mật trong APIs 34
4 Lỗ hổng hệ thống (System vulnerabilities) 34
5 Chiếm đoạt tài khoản người dùng (Account hijacking) 35
6 Đe dọa từ nội bộ (Malicious insiders) 35
7 Ký sinh trùng APT (The APT parasite) 35
8 Mất dữ liệu vĩnh viễn (Permanent data loss) 35
9 Lạm dụng Cloud computing (Cloud service abuses) 35
10 Tấn công từ chối dịch vụ (Dos) 35
III Một số giải pháp 36
1 Điều khiển truy cập và quản lý (Access control and management) 36
2 Các biện pháp đối phó khi xảy ra các vấn đề về security 37
Trang 4Phần 1: Cloud computing – xu thế của tương lai
I Cloud computing
1 Giới thiệu về Cloud computing
Trang 5Cloud computing, còn gọi là điện toán máy chủ ảo, là mô hình điện toán sửdụng các công nghệ máy tính và phát triển dựa vào mạng Internet Ở mô hìnhđiện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cungcấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ côngnghệ như mạng máy tính, servers, lưu trữ, các ứng dụng … từ một nhà cung cấpnào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm vềcông nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ côngnghệ đó.
Người dùng cuối truy cập và sử dụng các ứng dụng đám mây thông qua cácứng dụng như trình duyệt web, các ứng dụng mobile, hoặc máy tính cá nhânthông thường Hiệu năng sử dụng phía người dùng cuối được cải thiện khi cácphần mềm chuyên dụng, các cơ sở dữ liệu được lưu trữ và cài đặt trên hệ thốngmáy chủ ảo trong môi trường Cloud computing trên nền của “Cloud Datacenter”
Cloud Datacenter là hệ thống cơ sở hạ tầng dựa trên công nghệ Cloudcomputing, huy động các nguồn lực công nghệ thông tin và tập trung tạimột hạ tầng có khả năng sẵn sàng và độ ổn định cao
Hình bên dưới mô tả một định nghĩa về Cloud computing bao gồm 5 tínhnăng chính, với 4 mô hình triển khai, và 3 mô hình dịch vụ
Trang 6o 5 tính năng
On-demand self-service : Cho phép khách hàng tùy chỉnh tài nguyên sử
dụng như thời gian phục vụ và mạng lưu trữ (servers time and networkstorage), chủ động khởi tạo, tạm dừng dịch vụ mà không cần phải thôngbáo, phụ thuộc vào nhà cung cấp dịch vụ
Broad network access : Khả năng hỗ trợ nhiều chuẩn mạng, hỗ trợ truy
cập dịch vụ từ nhiều nền tảng thiết bị, nhiều hạ tầng vật lý (như: điệnthoại di động, máy tính bảng, laptop, máy trạm, )
Resource pooling : Các tài nguyên tính toán của nhà cung cấp được gộp
lại để cấp phát, chia sẻ tự động cho nhiều người dùng dựa theo nhucầu
Trang 7 Rapid elasticity : Khả năng thu hồi và cấp phát tài nguyên nhanh chóng
dựa theo nhu cầu người dùng
Measured service: Hệ thống cloud tự động hóa việc điều khiển và tối ưu
tài nguyên được sử dụng bằng việc tận dụng khả năng đo lường, tínhtoán mức độ sử dụng dịch vụ, kiểm soát thời gian phục vụ, giám sát,điều khiển, báo cáo, Từ đó có thể tính toán được chi phí của người
sử dụng Mô hình hướng đến là “pay as you go”
o 4 mô hình triển khai
Public cloud : là hệ thống cloud cung cấp dịch vụ cho khách hàng sử
dụng qua internet, có tính chất thương mại Ví dụ: AWS của Amazon,Azue của Microsoft, Bluemix của IBM,
Private cloud : Nền tảng cloud được cung cấp cho nội bộ một tổ chức.
Nó được sở hữu, quản lý và điều hành bởi tổ chức, là bên thứ ba
Hybrid cloud : là nền tảng kết hợp giữa hai hay nhiều kiến trúc cloud
(public, private hoặc community cloud)
Community cloud : Nền tảng cloud cung cấp cho một nhóm các tổ chức
có cùng chung mục đích, nhiệm vụ, chính sách, Nó có thể được quản
lý, vận hành bởi một hoặc nhiều tổ chức trong cộng đồng kết hợp quản
lý với nhau
o 3 mô hình dịch vụ
Infrastructure as a Service (IaaS) : Cung cấp các dịch vụ về hạ tầng, các
máy chủ, tài nguyên tính toán (RAM, CPU), lưu trữ Trên đó người dùng
sẽ tạo các máy ảo với hệ điều hành, triển khai ứng dụng theo nhu cầucủa mình
Platform as a Service (PaaS): cung cấp các dịch vụ về nền tảng, môi
trường lập trình, database, để khách hàng phát triển các ứng dụngcủa mình (thông thường nền tảng này cung cấp cho các developer) Vídụ: AWS, GAE, Azue, Bluemix, OpenShift,
Trang 8 Software as a Service (SaaS): Mô hình cung cấp các dịch vụ về phần
mềm, bán hoặc cho thuê Nhà cung cấp sẽ quản lý toàn bộ về hạ tầng,
hệ điều hành, lưu trữ, do đó hạn chế người dùng về việc cấu hìnhđặc biệt cho các ứng dụng Người dùng không phải quan tâm ứng dụngtriển khai thế nào, chỉ việc thuê và sử dụng dịch vụ thông qua các phầnmềm client (trình duyệt, mail client, )
2 Những lợi ích của Cloud computing
Có thể kể ra một số lợi ích cơ bản và đặc trưng của hệ thống “Cloudcomputing” như sau
Tiết kiệm chi phí : mô hình truyền thống trong nhiều trường hợp cần
một hệ thống riêng biệt cho mỗi tác vụ, dịch vụ Điều này gây ra lãngphí, trong mô hình “Cloud computing”, các tài nguyên IT được quản lý
để đảm bảo sự không lãng phí này Giảm được chi phí đầu tư hạ tầngban đầu, chi phí mua phần cứng, phần mềm và bảo dưỡng chúng, chiphí để lắp đặt, tìm chỗ đặt server và vận hành thường ngày, chi phí thuêngười để trông coi và nhiều thứ khác
Tăng sự linh hoạt của hệ thống : Khi cần thêm hay bớt một vài thiết bị
(storaged devices, servers, computers,…) chỉ mất một chút thời gian Cóthể nhanh chóng sử dụng một thứ gì đó mà không cần phải cài đặt, cóthể nhanh chóng truy cập chúng mọi lúc mọi nơi, gần như không bị phụthuộc vào phần mềm hay phần cứng đang xài là gì
An toàn và tính liên tục : Dữ liệu backup luôn được duy trì liên tục
Trang 9 Tính bảo mật của dữ liệu : Dữ liệu luôn được mã hóa để bảo vệ quyền
riêng tư Dữ liệu được truy cập qua qua internet bằng tài khoản củangười dùng và nếu không có mật khẩu thì không thể vào
3 Ảo hóa (Virtualization-Công nghệ cốt lõi của Cloud Computing)
3.1 Lợi ích của ảo hóa
Giảm vốn và chi phí vận hành
Giảm thiểu hoặc loại bỏ thời gian chết (downtime)
Tăng năng suất, hiệu quả, linh hoạt và phản ứng nhanh
Cung cấp ứng dụng và tài nguyên nhanh hơn
Đơn giản hóa việc quản lý
…
3.2 Kernel mode và User mode
Trước khi đi vào chi tiết các công nghệ ảo hóa xin được sơ lược một số kháiniệm liên quan đến việc xử lý trên tài nguyên phần cứng của một hệ điều hành.Thông thường một HĐH khi được cài đặt sẽ có 2 modes hoạt động chính:
Kernel mode: đây là không gian được bảo vệ nơi mà “nhân” của HĐH xử lý và
tương tác trực tiếp với phần cứng Một ví dụ điển hình cho Kernel mode là cácdrivers của thiết bị Khi có sự cố thì hệ thống ngưng hoạt động và thông báolỗi như ở windows sẽ hiển thị màn hình xanh khi có lỗi giao tiếp phần cứng
User mode: đây là không gian nơi các ứng dụng chạy, ví dụ Office, MySQL, hay
Exchange server Khi có sự cố ở các ứng dụng thì chỉ có các ứng dụng ngưnghoạt động mà không ảnh hưởng gì đến server
Khi một ứng dụng cần truy cập vào tài nguyên phần cứng, ví dụ đĩa cứng haynetwork interface, ứng dụng đó cần giao tiếp với driver thích hợp chạy trongkernel mode Sự chuyển đổi qua lại giữa User mode và Kernel mode cũng lànhững “tiến trình-process” và cũng chiếm dụng tài nguyên hệ thống (CPU, RAM,
…)
3.3 Các công nghệ ảo hóa
Application Virtualization
Trang 10Các ứng dụng trên thiết bị của người dùng cuối như laptops, smartphone, tablets
Monolithic hypervisor: hypervisor có driver riêng biệt để truy cập tài nguyên
phần cứng bên dưới Các VMs truy cập tài nguyên hệ thống thông qua driverscủa hypervisor Điều này mang lại hiệu suất cao, tuy nhiên khi driver trênhypervisor bị sự cố thì cả hệ thống ngưng hoạt động, hoặc phải đối mặt vớivấn đề an ninh khi drivers có thể bị giả dạng bởi malware, một rủi ro trong môitrường ảo hóa
Micro-kernelized hypervisor: loại hypervisor này không có driver bên trong
hypervisor mà chạy trực tiếp trên mỗi partition Một VM sẽ đóng vai tròpartition cha quản lý và khởi tạo các partition con (VM con) VM cha cũng baogồm nhiều tính năng khác như quản lý memory, lưu trữ drivers, … Điều nàymang lại sự an toàn và tin cậy Tuy nhiên nó cũng gặp phải vấn đề về độ sẵnsàng (availability) khi partition cha gặp sự cố, hệ thống cũng bị ngưng trệ
Các kiểu ảo hóa phần cứng (Hardware Virtualization)
a) Full-virtualization
Full-virtualization là công nghệ ảo hóa để
cung cấp 1 loại hình máy ảo dưới dạng mô
phỏng của 1 máy chủ thật với đầy đủ tất cả các
tính năng bao gồm input/output operations,
interrupts, memory access, … Hình bên miêu
tả mô hình ảo hóa FullVirtualization với layer
Virtualization để thực hiện chức năng ảo hóa,
Trang 11cung cấp các máy chủ ảo (Guest OS) Tuy nhiên mô hình ảo hóa này không thểkhai thác tốt hiệu năng khi phải thông qua một trình quản lý máy ảo (VirtualMachines monitor hay hypervisor) để tương tác đến tài nguyên hệ thống (modeswitching) Vì vậy sẽ bị hạn chế bớt 1 số tính năng khi cần thực hiện trực tiếp từCPU
b) Para-virtualization
Para-virtualization hay còn gọi là ảo hóa “một phần” là kỹ thuật ảo hóa được
hỗ trợ và điều khiển bởi 1 hypervisor nhưng các OS của guest thực thi các lệnhkhông phải thông qua Hypervisor (hay bất kỳ 1 trình quản lý máy ảo nào) nênkhông bị hạn chế về quyền hạn Tuy nhiên nhược điểm của loại ảo hóa này là các
OS biết đang chạy trên 1 nền tảng phần cứng ảo và khó cấu hình cài đặt
c) OS-level virtualization
OS level virtualization, còn gọi là containers Virtualization hay Isolation: làphương pháp ảo hóa mới cho phép nhân của hệ điều hành hỗ trợ nhiều instancesđược cách ly dựa trên một HĐH có sẵn cho nhiều users khác nhau, hay nói cáchkhác là tạo và chạy được nhiều máy ảo cách ly và an toàn (secure) dùng chung 1HĐH.Ưu điểm của ảo hóa này là bảo trì nhanh chóng nên được ứng dụng rộng rãitrong các linh vực hosting
Trang 12II Các dịch vụ Cloud computing
1 Cung cấp Infrastructure as a Service (IaaS)
Cung cấp nhiều nguồn tài nguyên như là firewalls, load balancers, các địachỉ IP, nhưng hệ điều hành và các ứng dụng sẽ do bạn cài đặt và cập nhật Điềunày giúp bạn linh hoạt hơn trong việc sử dụng tài nguyên vào mục đích gì
Amazon Web services
Amazon Web service hiện đang là nhà cung cấp dịch vụ cloud IaaS giàu tiềmnăng nhất, tuy nhiện hiện nay họ đang phải cạnh tranh về thị phần với 2 ông lớncông nghệ là Microsoft và Google
Amazon Web Services là tập hợp các dịch vụ cung cấp cho người lập trình
có khả năng truy cập tới hạ tầng kiến trúc tính toán kiểu sẵn sàng-để-sử dụng(ready-to-use) của Amazon Các máy tính có nền tảng vững chắc đã được xâydựng và tinh chế qua nhiều năm của Amazon bây giờ là có thể cho phép bất cứ aicũng có quyền cập tới Internet Amazon cung cấp một số dịch vụ Web nhưng chủyếu tập trung vào các dịch vụ khối hợp nhất (building-block) cơ bản, cái mà đápứng được một số yêu cầu cốt lõi của hầu hết các hệ thống như: lưu trữ, tính toán,truyền thông điệp và tập dữ liệu
Bạn có thể xây dựng các ứng dụng phức tạp và gồm nhiều phần khác nhaubằng cách sử dụng các chức năng phân tầng với các dịch vụ đáng tin cậy, hiệu quảkhối hợp nhất được cung cấp bởi Amazon Các dịch vụ Web mà tồn tại bên trongđám mây phía bên ngoài môi trường của bạn và có khả năng thực hiện là rất cao.Bạn sẽ trả chỉ dựa trên những cái bạn sử dụng mà không cần phải trả trước các
Trang 13chi phí và vốn đầu tư ban đầu Bạn không cần phải mất chi phí cho bảo trì bởi vìphần cứng được duy trì và phục vụ bởi Amazon.
Microsoft Azure
Trong ngành dịch vụ IaaS này Microsoft Azure thật sự là một một đối thủnặng kí của AWS Với thế mạnh về phân tích, lưu trữ cá nhân và đặc biệt là giảiquyết được các thảm họa như phục hồi dữ liệu, khắc phục lỗi ứng dụng với cácgói dịch vụ mở rộng của họ
Microsoft Azure là nền tảng Cloud computing mở và linh hoạt cho phép bạnnhanh chóng xây dựng, triển khai và quản lý các ứng dụng thông qua mạng lướitoàn cầu của trung tâm dữ liệu Microsoft
Microsoft Azure luôn đảm bảo tính sẵn sàng và có thiết kế tải cân bằng và
có khả năng tự phục hồi khi phần cứng có sự cố Bạn có thể sử dụng bất kỳ ngônngữ, công cụ hay nền tảng nào để xây dựng các ứng dụng Và bạn có thể tích hợpcác ứng dụng trên đám mây công cộng của bạn với môi trường IT có sẵn
2 Cung cấp Storage
Với công nghệ lưu trữ cloud storage chúng ta có thể xử lí dữ liệu dưới dạngcấu trúc và phi cấu trúc, tài liệu đến hình ảnh từ nhiều nguồn khác nhau
Google Drive
Trang 14Dịch vụ lưu trữ của google cung cấp một không gian lưu trữ trên nền tảngcloud Miễn phí lưu lượng lên đến 15GB cho phép người dùng lưu trữ nhiều dạng
dữ liệu như văn bản, video, âm thanh, PDF… trên nền tảng “đám mây” GoogleDrive với khả năng hỗ trợ Google Docs và Google+ cao cấp giúp người dùng dễdàng truy cập và chỉnh sửa tài liệu ở bất cứ đâu hay chia sẻ tập tin chung với bạn
bè Với Google Drive, bạn có thể truy cập đến tài liệu của mình bất cứ đâu và bất
cứ thiết bị iPhone, iPad, SmartPhone Android, Laptop hay máy để bàn
Box
Trang 15Box là dịch vụ sao lưu, lưu trữ dữ liệu trực tuyến với khả năng đồng bộ theothời gian thực và tự động thực hiện sao lưu, hỗ trợ miễn phí có thể lên đến 10GBdung lượng lưu trữ trực tuyến trên máy chủ của họ.
Để phân biệt với các nhà cung cấp khác, Box cho biết vế quy trình làm việc,một công cụ tự động hóa việc định tuyến các tài liệu và tập tin cũng như các hànhđộng của người cần phải thực hiện trên chúng
Các tập tin dữ liệu trên Box cho phép người dùng có thể chia sẽ và làm việccùng nhau trên cùng một tập tin
3 Cung cấp Desktop-as-a-Service (DAAS)
DAAS là một dịch vụ đám mây, Các cloud computing provider cung cấp chongười dùng một máy tính ảo phát triển trên công nghệ VDI (Virtual DesktopInfrastructure)
VmWare
Trang 16VMware chuyên nghiên cứu về hệ thống để phát triển về công nghệ ảo hóa.Giúp người sử dụng có thể khai thác tối đa chiếc máy của mình với việc chạy songsong nhiều hệ điều hành với việc quản lí phần cứng cho từng chiếc máy tính ảo.Cũng như bảo mật chúng
Bình Thường với 1 IT sẽ quản lý trung bình 100 máy vật lý, nhưng với giảipháp VDI 1 IT có khả năng qản lý lên tới 500 máy ảo, Giảm chi phi thuê IT và quảntrị bảo trì hệ thống
Ở Việt Nam hiện nay có rất ít nhà cung cấp dịch vụ này
Citrix
Citrix là một ông lớntrong ngành ảo hóa DAAS,nhằm vượt qua một tổ chứckhông gian làm việc đơn giản
Nó cũng cung cấp các ứngdụng lưu trữ, quản lý an toànthiết bị di động và dịch vụđồng bộ hóa tập tin và chia sẻ
an toàn
4 Cung cấp Service (SaaS)
Software-as-a-Software as a Service (SaaS) là sự lựa chọn phù hợp nhất khi bạn muốn tậptrung vào người dùng cuối Giúp cho bạn truy cập đến các phần mềm trên nềntảng đám mây mà không cần quản lý cơ sở hạ tầng và nền tảng nó đang chạy
Salesforce.com
Trang 17Salesforce một nhà cung cấp giải pháp SaaS CRM, với các Gartner nêu rõrằng công ty đang chiếm lĩnh thị trường này.
Insightly
Insightly cung cấp SaaS CRM tích hợp với Gmail và Google Apps của Google,
cũng như Outlook 2013 và Office
365 Với các ứng dụng dịch vụ củaInsightly giúp khách hàng theo dõi
và nghiên cứu được các kháchhàng tiềm năng của họ Tất cả cácứng dụng có thể truy cập từ iOS vaAndroid
5 Cung cấp Platform-as-a-Service (PaaS)
Platform as a Service (PaaS) hỗ trợ người sử dụng cloud computer bằng các
hệ điều hành, cơ sở dữ liệu, máy chủ web và môi trường thực thi lập trình Hơnnữa, nó cho phép bạn tập trung vào các ứng dụng cụ thể, cho phép các nhà cungcấp đám mây quản lý và đo đạc tài nguyên 1 cách tự động
Vậy PaaS có thể cho phép bạn tập trung hơn vào ứng dụng và dịch vụ đầucuối hơn là phí thời gian cho hệ điều hành Các nhà cung cấp IaaS cũng cung cấpPaaS, giúp bạn giảm tải công việc
Red Hat OpenShift
Trang 18Phần mềm chạy dịch vụ là mã nguồn mở và có sẵn trên GitHub với tên
“OpenShift Origin” Người phát triển phần mềm có thể sử dụng Git để triển khaiứng dụng bằng các ngôn ngữ khác nhau trên nền tảng
Đặc biệt, OpenShift cũng hỗ trợ các ứng dụng web dạng phần mềm mã nhịphân, miễn là nó có thể chạy trên RHEL Linux Điều này làm tăng tính tùy biến của
hệ thống, hỗ trợ nhiều ngôn ngữ và frameworks OpenShift bảo trì dịch vụ bêndưới ứng dụng và thống kê ứng dụng nếu cần thiết
Heroku
Nền tảng này hỗ trợ rất nhiều các ngôn ngữ lập trình từ Java tới Ruby,Python, Người phát triển phần mềm có thể sử dụng Git để triển khai ứng dụngbằng các ngôn ngữ khác nhau trên nền tảng
Đặc biệt, OpenShift cũng hỗ trợ các ứng dụng web dạng phần mềm mã nhịphân, miễn là nó có thể chạy trên RHEL Linux Điều này làm tăng tính tùy biến của
hệ thống, hỗ trợ nhiều ngôn ngữ và frameworks
Trang 19Hiện tại đang được phát triển bởi cộng đồng với sự tham gia của nhiều
"ông lớn": AT&T, Ubuntu, IBM, RedHat, SUSE, Mirantis,
2 Tổng quan về OpenStack
Openstack có chu kỳ phát triển khoảng 6 tháng, đi cùng với sự phát triểncủa CC, với mỗi phiên bản Openstack lại bổ sung thêm thành phần mới tươngứng với những chức năng mới Các thành phần của nó được viết trên Python.OpenStack là một dự án mã nguồn mở dùng để triển khai private cloud và publiccloud, nó bao gồm nhiều thành phần (tài liệu tiếng anh gọi là project con) do cáccông ty, tổ chức ,lập trình viên tự nguyện xây dựng và phát triển Có 3 nhóm chínhtham gia: Nhóm điều hành, nhóm phát triển và nhóm người dùng
Phía dưới là phần cứng, đã được ảo hóa để chia sẻ cho ứng dụng, ngườidùng Trên cùng là các ứng dụng của bạn, tức là các phần mềm mà bạn sử dụng.OpenStack là phần ở giữa 2 phần trên, trong OpenStack có các thành phần,module khác nhau các thành phần cơ bản: Dashboard, Compute, Networking, API,Storage …
2.1 Các phiên bản của OpenStack
Cactus 15/4/2011 Nova, Glance, Swift
Diablo 22/9/2011 Nova, Glance, Swift