Công nghệ và giải pháp trong lưu trữ đám mây trong tìm hiểu về điện toán đám mây Tìm hiểu công nghệ _ giải pháp Lưu trữ đám mâyTìm hiểu công nghệ _ giải pháp Lưu trữ đám mây Tìm hiểu công nghệ _ giải pháp Lưu trữ đám mây
Trang 1
MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 4
I Điện toán đám mây 4
1.1 Khái niệm về điện toán đám mây 4
1.2 Các đặc điểm chính của điện toán đám mây 5
1.3 Ưu nhược điểm của “ Điện toán đám mây” 5
II Các nhà cung cấp dịch vụ Cloud Coputing phổ biến hiện nay 7
2.1 Microsoft (Hay còn gọi là Microsoft Azure) 7
2.2 Google Cloud Platform (Hay còn gọi là GCP) 7
2.3 VMware Cloud 8
2.4 Oracle 8
2.5 Amazon Web Service (Hay còn gọi là AWS) 8
2.6 FPT Smart Cloud 9
III Mô hình dịch vụ trong điện toán đá mây 9
3.1 IaaS - Infrastructure as a Service – hạ tầng như một dịch vụ 9
3.2 PaaS - Platform as a Service – nền tảng như một dịch vụ 11
3.3 SaaS - Software as a service – phần mềm như một dịch vụ 12
3.4 MbaaS - Backend as a service 13
3.5 Severless computing là gì 14
3.6 FaaS – Funnction as a service 16
IV Các mô hình triển khai điện toán đám mây 17
V Những rủi ro về an toàn bảo mật ĐTĐM 18
VI Kiến trúc lưu trữ đám mây Hadoop- HDFS 21
CHƯƠNG 2: Tìm hiểu một số công nghệ và giải pháp lưu trữ đám mây 24
I Một số kiến trúc lưu trữ: AFS, NFS, GFS, HDFS 24
II Hệ thống lưu trữ mạng đám mây DAS, NAS, SAN 26
2.1 Direct Attached Storage ( DAS ): 26
2.2 Network Atteched Storage ( NAS ): 26
2.3 Storage Area Network ( SAN ): 26
III Ứng dụng lưu trữ đám mây với cá nhân 27
3.1 Google Drive 27
Trang 23.2 Dropbox.com 28
3.3 OneDrive 29
3.4 Mega 29
3.5 Box 30
3.6 Mediafire 31
3.7 iCloud 33
IV Ứng dụng lưu trữ đám mây với doanh nghiệp 33
V Đồng bộ tài khoản truy cập Synchronous – Account Cloud 39
VI Kho dữ liệu và an toàn dữ liệu đám mây Cloud Data Secure 40
CHƯƠNG 3: Demo ứng dụng lưu trữ đám mây Google Drive 42
KẾT LUẬN 48
Tài liệu tham khảo 48
Trang 3CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
I Điện toán đám mây
1.1 Khái niệm về điện toán đám mây
Điện toán đám mây (Cloud Computing, hay còn biết đến với tên gọi “Điện toánmáy chủ ảo”) là mô hình máy tính dựa trên nền tảng phát triển của Internet
Điện toán đám mây là sự nâng cấp từ mô hình máy chủ mainframe sang môhình cleint-server Cụ thể, người dùng sẽ không còn phải có các kiến thức vềchuyên mục để điều khiển các công nghệ, máy móc và cơ sở hạ tầng, mà cácchuyên gia trong “đám mây” của các hãng cung cấp sẽ giúp thực hiện điều đó Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cáchđược bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phứctạp của các cơ sở hạ tầng chứa trong nó Ở mô hình điện toán này, mọi khả năngliên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", chophép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nà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ông nghệ đó
Hình 1 Sơ đồ điện toán đám mây
Trang 4Tài nguyên, dữ liệu, phần mềm và các thông tin liên quan đều được chứa trêncác server (chính là các “đám mây”) Nói một cách đơn giản nhất “ứng dụng điệntoán đám mây” chính là những ứng dụng trực tuyến trên Internet Trình duyệt là nơiứng dụng hiện hữu và vận hành còn dữ liệu được lưu trữ và xử lý ở máy chủ củanhà cung cấp ứng dụng đó
1.2 Các đặc điểm chính của điện toán đám mây
+ Phân phối theo nhu cầu sử dụng
+ Quản lý được hiệu suất
+ Tin cậy
+ Khả năng mở rộng
+ Cải thiện tài nguyên
1.3 Ưu nhược điểm của “ Điện toán đám mây”
* Ưu điểm:
+ Tốc độ xử lý nhanh, cung cấp cho người dùng những dịch vụ nhanh chóng và giáthành rẻ dựa trên nền tảng cơ sở hạ tầng tập trung (đám mây)
+ Chi phí đầu tư ban đầu về cơ sở hạ tầng, máy móc và nguồn nhân lực của người
sử dụng điện toán đám mây được giảm đến mức thấp nhất
+ Không còn phụ thuộc vào thiết bị và vị trí địa lý, cho phép người dùng truy cập
và sử dụng hệ thống thông qua trình duyệt web ở bất kỳ đâu và trên bất kỳ thiết bịnào mà họ sử dụng (chẳng hạn là PC hoặc là điện thoại di động…)
+ Chia sẻ tài nguyên và chi phí trên một địa bàn rộng lớn, mang lại các lợi ích chongười dùng
+ Với độ tin cậy cao, không chỉ dành cho người dùng phổ thông, điện toán đámmây còn phù hợp với các yêu cầu cao và liên tục của các công ty kinh doanh và cácnghiên cứu khoa học Tuy nhiên, một vài dịch vụ lớn của điện toán đám mây đôi
Trang 5khi rơi vào trạng thái quá tải, khiến hoạt động bị ngưng trệ Khi rơi vào trạng tháinày, người dùng không có khả năng để xử lý các sự cố mà phải nhờ vào các chuyêngia từ “đám mây” tiến hành xử lý.
+ Khả năng mở rộng được, giúp cải thiện chất lượng các dịch vụ được cung cấptrên “đám mây”
+ Khả năng bảo mật được cải thiện do sự tập trung về dữ liệu
+ Các ứng dụng của điện toán đám mây dễ dàng để sửa chữa và cải thiện về tínhnăng bởi lẽ chúng không được cài đặt cố định trên một máy tính nào
+ Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và thống kê trêntừng khách hàng và ứng dụng, theo từng ngày, từng tuần, từng tháng Điều này đảmbảo cho việc định lượng giá cả của mỗi dịch vụ do điện toán đám mây cung cấp đểngười dùng có thể lựa chọn phù hợp
* Nhược điểm:
+ Tính riêng tư: Các thông tin người dùng và dữ liệu được chứa trên điện toán đámmây có đảm bảo được riêng tư, và liệu các thông tin đó có bị sử dụng vì một mụcđích nào khác
+ Tính sẵn dùng: Liệu các dịch vụ đám mây có bị “treo” bất ngờ, khiến cho ngườidùng không thể truy cập các dịch vụ và dữ liệu của mình trong những khoảng thờigian nào đó khiến ảnh hưởng đến công việc
+ Mất dữ liệu: Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờngừng hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng phảisao lưu dữ liệu của họ từ “đám mây” về máy tính cá nhân Điều này sẽ mất nhiềuthời gian Thậm chí một vài trường hợp, vì một lý do nào đó, dữ liệu người dùng bịmất và không thể phục hồi được
+ Tính di động của dữ liệu và quyền sở hữu: Một câu hỏi đặt ra, liệu người dùng cóthể chia sẻ dữ liệu từ dịch vụ đám mây này sang dịch vụ của đám mây khác? Hoặctrong trường hợp không muốn tiếp tục sử dụng dịch vụ cung cấp từ đám mây, liệungười dùng có thể sao lưu toàn bộ dữ liệu của họ từ đám mây? Và làm cách nào đểngười dùng có thể chắc chắn rằng các dịch vụ đám mây sẽ không hủy toàn bộ dữliệu của họ trong trường hợp dịch vụ ngừng hoạt động
+ Khả năng bảo mật: Vấn đề tập trung dữ liệu trên các “đám mây” là cách thứchiệu quả để tăng cường bảo mật, nhưng mặt khác cũng lại chính là mối lo của
Trang 6người sử dụng dịch vụ của điện toán đám mây Bởi lẽ một khi các đám mây bị tấncông hoặc đột nhập, toàn bộ dữ liệu sẽ bị chiếm dụng Tuy nhiên, đây không thựcsự là vấn đề của riêng “điện toán đám mây”, bởi lẽ tấn công đánh cắp dữ liệu là vấn
đề gặp phải trên bất kỳ môi trường nào, ngay cả trên các máy tính cá nhân
II Các nhà cung cấp dịch vụ Cloud Coputing phổ biến hiện nay
2.1 Microsoft (Hay còn gọi là Microsoft Azure)
Microsoft đã trở thành trung tâm của thế giới công nghệ trong nhiều nămnay Mặc dù Microsoft bước vào cuộc chiến đám mây tương đối muộn, nhưng sựtham gia sâu sắc của nó vào tất cả các tầng của đám mây đã đẩy công ty lên đỉnhcao Ngoài ra, cam kết vô song của nó là phát triển và hỗ trợ khách hàng triển khaiBlockchain, Machine Learning (ML) và Trí tuệ nhân tạo (AI) trong môi trường sảnxuất sáng tạo, cũng như doanh thu dẫn đầu thị trường, cho phép Microsoft giữ vị tríđứng đầu đống
Nền tảng Azure, dịch vụ đám mây công cộng của công ty, đã đóng một vaitrò quan trọng trong việc thiết lập thương Hoạt động kinh doanh của Microsoftđược tổ chức tốt thành ba phân khúc: đám mây thông minh (Windows Server OS,Azure và SQL Server), máy tính cá nhân (Xbox, Surface ) và các quy trình kinhdoanh bao gồm Microsoft Office và Dynamics
2.2 Google Cloud Platform (Hay còn gọi là GCP)
Khi Alphabet ra mắt Google Cloud Platform, gã khổng lồ công nghệ đã chọnnhắm mục tiêu vào các doanh nghiệp vừa và nhỏ hơn là theo đuổi những ngườichơi đã thành lập, nhưng giờ đây tự hào về các khách hàng lớn như eBay, Snap vàHSBC, mặc dù sau này cũng sử dụng Azure và AWS Sau khi Google công bố thunhập quý hai vào giữa năm nay, các nhà đầu tư hiện đang chú ý đáng kể đến tiếntrình đã đạt được trong kinh doanh điện toán đám mây của công ty
Mặc dù công ty đã bị Microsoft, IBM và Amazon khuất phục về thị phần,nền tảng Google Cloud gần đây đã thực hiện một số động thái để tăng toàn bộkhông gian địa chỉ của mình và cung cấp một sự khác biệt tiềm năng từ các dịch vụ
Cơ sở hạ tầng khác như Dịch vụ (IaaS) Điểm mấu chốt là Nền tảng đám mây của
Trang 7Google bị lôi kéo vào một trận chiến khốc liệt với các đối tác của nó, bao gồmAWS và Microsoft Azure.
2.3 VMware Cloud
Sau khi trở thành một công ty ảo hóa được thành lập, VMware bước vào khônggian đám mây với nền tảng đám mây sáng tạo của mình, cho phép khách hàng cungcấp quyền truy cập an toàn vào dữ liệu và ứng dụng cho người dùng cuối của họ từnhiều thiết bị VMware gần đây đã hợp tác với AWS, tập đoàn điện toán đám mâykhổng lồ trực tuyến, để cung cấp cho khách hàng một giải pháp tích hợp hơn
Oracle Corp đã tương đối muộn trong cuộc đua đám mây, cho phép nhữngngười mới nổi như Salesforce.com giành được thị phần đáng kể với phần mềmđược phân phối qua internet và kết quả là đã gặp khó khăn Tuy nhiên, bây giờ có
vẻ như Oracle cuối cùng đã tìm ra bức tranh lớn hơn, đang ở chế độ đổi mới tíchcực và là một sự đánh cược chắc chắn cho tương lai
2.5 Amazon Web Service (Hay còn gọi là AWS)
Amazon Inc là con chim đầu tiên bắt sâu với Amazon Web Service (AWS) vàđã tận dụng các doanh nghiệp lớn và nhỏ đang tìm cách chuyển hoạt động từ cáctrung tâm dữ liệu sang đám mây Dịch vụ web của Amazon luôn có lợi ích từ mộtkhởi đầu lớn trong thị trường điện toán đám mây Hơn một thập kỷ trước và rất lâutrước khi sự cạnh tranh trong thế giới đám mây bắt đầu, AWS bắt đầu cung cấp cácgiải pháp cơ sở hạ tầng đám mây như lưu trữ và tính toán
Rõ ràng, sự khởi đầu đó tiếp tục phục vụ họ tốt và giúp họ duy trì lợi thế thị phầnlớn, bất chấp sự hiện diện của các thương hiệu khác trong không gian này bao gồmMicrosoft và Google (và có, thậm chí cả Alibaba và Oracle) Sự tiến bộ đã tiếp tụckhông bị cản trở trong khi được hỗ trợ bởi những đổi mới nhất quán
Trang 82.6 FPT Smart Cloud
FPT Cloud là nền tảng Điện toán Đám mây thế hệ mới, được xây dựng trênnền tảng ảo hoá bản quyền VMWare và OpenStack, vận hành trong Trung tâm dữliệu Uptime Tier III với kết nối liền mạch và kiến trúc tiên tiến, kết nối trực tiếp đến
hệ thống Public Cloud từ các hãng lớn (Microsoft, AWS, Google), giúp cung cấp đadạng các sản phẩm, giải pháp, tiện ích, phục vụ mọi nhu cầu của khách hàng
Lợi thế bản địa là điều không thể không nhắc đến, việc sử dụng dịch vụ Cloudtừ một nhà cung cấp uy tín bản địa sẽ giúp doanh nghiệp luôn đảm bảo tuân thủ quyđịnh và pháp luật Nhà nước về lưu trữ dữ liệu, và được hỗ trợ kịp thời, liên tục bởiđội ngũ chuyên gia chuẩn quốc tế
III Mô hình dịch vụ trong điện toán đá mây
3.1 IaaS - Infrastructure as a Service – hạ tầng như một dịch vụ
IaaS là tầng dịch vụ thấp nhất trong mô hình dịch vụ của điện toán đám mây.Nhưng nó cũng chính là nền tảng để xây dựng lên hai mô hình dịch vụ lớp cao hơn.IaaS có khả năng cung cấp cho người dùng cuối các tài nguyên máy tính như: máychủ ảo, hệ thống mạng, hệ thống lưu trữ, và rất nhiều các chức năng khác nữa củatài nguyên máy tính, tại đó người dùng cuối có thể triển khai và chạy các phầnmềm tùy ý, nó bao gồm cả hệ điều hành và các ứng dụng Và người dùng cuối sẽkhông cần phải quan tâm hay quản lý hạ tầng bên dưới của điện toán đám mây (làcác máy chủ vật lý được xây dựng thành một khối tài nguyên khổng lồ), họ chỉquản lý phần bên trên đó là hệ điều hành, lưu trữ những gì trên máy chủ ảo đó vàtriển khai ứng dụng của họ ra sao Đây là mô hình dịch vụ cơ bản nhất và cũng phổbiến nhất với việc cung cấp hạ tầng tính toán: máy ảo, và các tài nguyên máy tínhkhác cho người dùng Các tài nguyên này được cung cấp dưới dạng các dịch vụtrực tuyến và nó cho người dùng trải nghiệm không khác gì so với việc sử dụng cácmáy chủ vật lý truyền thống
IaaS cung cấp các tài nguyên máy tính tương tự như những tài nguyên máytính vật lý thông qua công nghệ ảo hóa Các phần mềm quản lý ảo hóa (được gọi làcác hypervisor) như Xen, KVM, VMware thực hiện ảo hóa các tài nguyên vật lýnhư RAM, CPU, Disk … thành các tài nguyên ảo, tạo ra các máy chủ ảo cung cấpcho người dùng Ảo hóa chính là nền tảng căn bản để tạo nên đám mây IaaS.Nhưng chỉ riêng ảo hóa không thôi sẽ không thể tạo thành thứ được gọi là điện toánđám mây, còn rất nhiều các công nghệ khác nữa như: Linux namespace, Linux
Trang 9Cgroup, Linux Bridge, Openvswitch… cung cấp thêm các nguồn tài nguyên máytính khác như: đĩa cài hệ điều hành, ổ đĩa gắn thêm vào máy chủ ảo, tường lửa, cânbằng tải, Virtual Local area network (VLAN).
Ví dụ : Dịch vụ Web của Amazon
- Ở đâu có Đám mây, Amazon không còn xa nữa và công ty là đối thủ cạnh tranhhàng đầu cho Azure của Microsoft Thương hiệu có khả năng nhận dạng caovới Đám mây công cộng và IaaS nói riêng Các dịch vụ của nó bao gồm toàn bộquang phổ của Đám mây
Amazon Web Services (AWS) rất dễ sử dụng và đã được biết đến là bao gồm mộtloạt các công cụ Hơn hết, nó hầu như vô hạn nhưng mang lại cho khách hàng lợithế về tính linh hoạt và khả năng chi trả, những yếu tố rất quan trọng khi doanhnghiệp mở rộng quy mô
Tuy nhiên, nó có một vài nhược điểm và một nhược điểm đặc biệt lớn là liên quanđến giới hạn EC2 Điều này có thể cản trở hoạt động kinh doanh, tùy thuộc vàocách bạn sử dụng dịch vụ Nguồn lực có thể bị hạn chế theo khu vực, có thể dẫnđến tắc nghẽn ngoài ý muốn
Trang 103.2 PaaS - Platform as a Service – nền tảng như một dịch vụ
PaaS có khả năng cung cấp cho người dùng khả năng triển khai các ứng dụngtự tạo của họ hay những ứng dụng cần thiết lên hạ tầng điện toán đám mây sử dụngcác ngôn ngữ lập trình, các thư viện, dịch vụ và công cụ được hỗ trợ bởi nhà cungcấp PaaS Đến lớp này của điện toán đám mây, người dùng sẽ không cần phải quản
lý và điều khiển hạ tầng đám mây bao gồm: mạng, máy chủ ảo, hệ điều hành, lưutrữ mà chỉ cần kiểm soát việc triển khai ứng dụng của mình lên nền tảng đã có sẵn
Các nhà cung cấp PaaS đưa đến cho những người lập trình ứng dụng môitrường để chạy ứng dụng đó Nhà cung cấp sẽ phát triển các bộ công cụ và cácchuẩn cho phát triển các ứng dụng từ người dùng Trong mô hình dịch vụ PaaS, nhàcung cấp đám mây sẽ đưa đến một nền tảng đám mây, nó bao gồm hệ điều hành,môi trường để chạy các ngôn ngữ lập trình, cơ sở dữ liệu và cả các máy chủ web.Các nhà phát triền ứng dụng có thể phát triển và chạy các giải pháp phần mềm của
họ trên nền tảng đám mây đó mà không mất tiền và công sức cho việc mua và quản
lý lớp phần cứng vật lý và lớp hệ điều hành
Một số nhà cung cấp PaaS lớn như: Microsoft Azure và Google App Engine,giúp cho tài nguyên máy tính và lưu trữ bên dưới được mở rộng tự động và khônggiới hạn để phù hợp với nhu cầu của các ứng dụng đó, người dùng sẽ không phảinâng cấp hệ thống một cách thủ công
Ví dụ: Microsoft Azure
Trang 11Microsoft Azure là một môi trường triển khai và phát triển sử dụng khái niệm PaaS.
Do bản chất của nó, Azure có thể hỗ trợ toàn bộ vòng đời phát triển ứng dụng web,từ xây dựng đến triển khai và sau đó
Azure cũng hỗ trợ một loạt các công cụ, ngôn ngữ và khuôn khổ Các nhà phát triển
sử dụng nó có thể truy cập hơn một trăm dịch vụ liên quan đến dịch vụ điện toánđám mây của Microsoft Do kích thước tuyệt đối của Azure, nó bao gồm cả ba môhình Đám mây - SaaS, PaaS và IaaS
3.3 SaaS - Software as a service – phần mềm như một dịch vụ
SaaS có khả năng cung cấp cho người dùng các ứng dụng của nhà cung cấpđược xây dựng trên hạ tầng điện toán đám mây Các ứng dụng có thể được truy cậptừ nhiều các thiết bị người dùng khác nhau từ các giao diện đơn giản như giao diệnweb, điện thoại, laptop…Đây là lớp mô hình dịch vụ cao nhất trong điện toán đámmây Tại lớp này, người dùng sẽ không phải quản lý hầu như toàn bộ mọi thứ: từmạng, máy chủ ảo, hệ điều hành, lưu trữ, và cả môi trường để chạy ứng dụng.Người dùng chỉ cần biết họ cần ứng dụng gì và sử dụng nó
Trong mô hình SaaS, người dùng có quyền truy cập vào các phần mềm và cơsở dữ liệu Nhà cung cấp đám mây quản lý hạ tầng và nền tảng để chạy các phầnmềm đó SaaS đôi khi được nhắc đến như là mô hình “phần mềm theo nhu cầu”.Các phần mềm ứng dụng như: Email, virtual desktop… đều có thể được cung cấpdưới dạng dịch vụ, được xây dựng và cài đặt trên hạ tầng và nền tảng của điện toánđám mây Như vậy, về cơ bản điện toán đám mây đã cung cấp các dịch vụ đầy đủcho các nhu cầu của người dùng Điện toán đám mây đã thay đổi cơ bản cách conngười sử dụng công nghệ số Biến việc sử dụng riêng lẻ thành các dịch vụ tập trungcho phép giảm chi phí giá thành và nâng cao sự tiện dụng, an toàn khi giải phóngngười dùng khỏi việc đầu tư và bảo trì một hệ thống độc lập đầy đủ Chỉ với mộtthiết bị cơ bản với cấu hình không cao như: điện thoại, máy tính thông thường cókết nối mạng, người dùng hoàn toàn có thể tương tác và thực hiện các công việc ởmức độ phức tạp, đòi hỏi nhiều tài nguyên với chi phí hợp lí
WebEx thường được công nhận nhiều hơn trong việc sử dụng kinh doanh,mặc dù dường như không nhiều người biết rằng nó có một tùy chọn miễn phí tốtcho mục đích sử dụng cá nhân Là một công ty của Cisco, nó cung cấp một loạt cácứng dụng truyền thông được phân phối bằng mô hình SaaS
Trang 12Trong số các tính năng của WebEx là gọi điện video và hội nghị, quản lý đào tạotrực tuyến, quản lý hỗ trợ từ xa, v.v Trên thực tế, tôi đã sử dụng nó trước khi có thểchứng minh tính linh hoạt mà WebEx có thể mang lại cho các tổ chức ở hầu hếtmọi quy mô - nếu được sử dụng đúng cách.
3.4 MbaaS - Backend as a service
MbaaS còn được biết đến với cái tên Backend as a service (Baas), là một môhình hỗ trợ cho việc phát triển ứng dụng trên nền tảng di động hoặc web bằng cáchliên kết các ứng dụng với các đám mấy lưu trữ ở backend (backend cloud storage)
và các giao diện lập trình ứng dụng (APIs) được cung cấp bởi backend MBaascung cấp các dịch vụ nổi bật như: quản lý người dùng, push notification, tích hợpvới mạng xã hội, dịch vụ dựa trên vị trí Những dịch vụ này được cung cấp thôngqua việc sử dụng các bộ công cụ phát triển phần mềm (SDKs) và giao diện lập trìnhứng dụng (APIs) MBaas gần đây có mối quan hệ mật thiết với sự phát triển củalĩnh vực điện toán đám mây Mặc dù đây được xem như một lĩnh vực còn non trẻnhưng hứa hẹn sẽ có những bước phát triển vượt bậc nhất là đối với khối kháchhàng doanh nghiệp
Bằng cách sử dụng MBaas, các nhà sản xuất và phát triển ứng dụng có thểtiết kiệm được nhiều thời gian xây dựng hệ thống và các chi phí vận hành Thôngqua MBaas các dịch vụ ứng dụng như : push notify, tích hợp mạng xã hội, message
& chat function… được cung cấp sẵn bằng các bộ SDK và API đồng nhất, nhà pháttriển ứng dụng thay vì phải tự mình xây dựng các hệ thống này từ đầu cho ứngdụng của mình thì bây giờ có thể sự dụng các dịch vụ này thông qua các hệ thốngMBaas Nhờ đó quá trình phát triển ứng dụng có thể được tiết kiệm thời gian hơn,qua đó cũng tiết kiệm được chi phí sản xuất, nâng cao hiệu quả dự án Bên cạnh đóMBaas cũng cung cấp các phương tiện để quản lý dữ liệu ở backend cho các dịch
vụ sử dụng trong ứng dụng
Push notification: tính năng này hiện có mặt trong nhiều ứng dụng trên nềntảng di động hiện nay Khi nhà cung cấp dịch vụ cho ra đời một sản phẩm mớihoặc có một chương trình khuyến mãi mới áp dụng cho một nhóm khách hàng, cácthông tin quảng bá này có thể được chuyển tới khách hàng thông qua hình thứcpush notification
Dịch vụ quản lý người dùng: Cho phép chứng thực người dùng từ ứng dụngAndroid, iOS và JavaScript SDK Chứng thực người dùng có thể thực hiện thôngqua tài khoản: Email, Facebook, Twitter, GitHub, Google và hình thức chứng thựcnặc danh Nhà phát triển ứng dụng chỉ cần xử lý nghiệp vụ đăng nhập hệ thống ở
Trang 13phía client bằng cách tương tác với các API của MBaas, điều này giúp họ tiết kiệmthời gian và công sức với việc phát triển hệ thống backend.
3.5 Severless computing là gì
Serverless là môi trường, nền tảng thực thi ứng dụng và dịch vụ mà không
phải quan tâm đến máy chủ Ứng dụng serverless không cần phải quan tâm việcphân bổ, quản lý tài nguyên của hệ điều hành, và bỏ qua các vấn đề về nâng cấp vàbảo mật Với khái niệm là chỉ cần tập trung phát triển sản phẩm, việc còn lại về vậnhành sẽ để nền tảng này đảm nhiệm
Điều quan trọng và khác biệt nhất trong serverless là bạn chỉ trả tiền khi và
chỉ những phần bạn sử dụng Giả sử bạn có một máy chủ ảo, thì thường sẽ được
tính tiền trọn gói bao gồm thời gian chạy 24/7 trong 1 tháng, CPU và RAM, băngthông, lưu trữ Bạn vẫn sẽ phải trả tiền hàng tháng đều đặn cho dù cái máy chủ ảo
đó không chạy, hoặc chỉ sử dụng 5~10% công suất thì bạn vẫn phải trả trọn gói.
Hiểu một cách nôm na, thì serverless như gói cước điện thoại được tính theo blockgiây, gọi bao nhiêu tính tiền bấy nhiêu, còn máy chủ ảo thường thì phải trả tiền thuêbao hàng tháng dù có phải sử dụng hay không
+ Ưu điểm: Xây dụng ứng dụng serverless đồng nghĩa với việc bạn chỉ tập trung
vào sản phẩm cốt lõi thay vì phải lo lắng về việc quản lý và vận hành nhiều máychủ hoặc thời gian chạy, dù trên nền tảng đám mây hay tự xây dựng hệ thống máychủ Sự cắt giảm công sức tổng thể này sẽ giúp cho các nhà phát triển dành thờigian và năng lượng để tập trung vào việc xây dựng các sản phẩm tuyệt vời có quy
mô linh hoạt và ổn định cao
- Không cần quản lý máy chủ: Bạn sẽ không cần cung cấp hay duy trì bất kỳ
máy chủ nào Sẽ không cần phần mềm hoặc thời gian chạy để cài đặt, nâng cấp hoặc quản trị
- Thay đổi quy mô một cách linh hoạt: Ứng dụng của bạn sẽ có khả năng thay
đổi quy mô tự động hoặc bằng cách điều chỉnh dung lượng thông qua việc chuyển đổi đơn vị sử dụng (ví dụ: thông lượng, bộ nhớ) thay vì với máy chủ độc lập thì sẽ phức tạp hơn
- Độ sẵn sàng cao: Ứng dụng serverless có độ sẵn sàng tích hợp và dung sai cao.
Bạn sẽ không cần tạo kiến trúc cho các khả năng này do các dịch vụ chạy ứng dụng đã cung cấp cho ứng dụng theo mặc định Ngoài ra, có để chọn trung tâm
dữ liệu (một hoặc nhiều nơi) để triển khai sản phẩm một cách dễ dàng
Trang 14- Tiết kiệm chi phí: chi phí gần như bằng 0 sau khi triển khai nếu bạn không có
request nào (hoặc không có hành động gọi hàm), còn sử dụng bao nhiêu thì tínhtiền bấy nhiêu
+ Nhược điểm
- Độ trễ: Hiệu suất có thể là một vấn đề, chính bản thân mô hình này có thể gây
ra độ trễ lớn hơn trong quá trình các nguồn tài nguyên điện toán phản ứng lại với lệnh của các ứng dụng Nếu khách hàng yêu cầu hiệu suất cao thì việc sử dụng các máy chủ ảo được phân bổ sẽ là một lựa chọn ưu việt hơn
- Gỡ lỗi (Debug): Công việc giám sát và gỡ lỗi của serverless computing cũng
khá khó khăn Việc bạn không sử dụng một nguồn tài nguyên máy chủ thống nhất làm cho cả hai hoạt động này gặp nhiều trở ngại (Tin tốt là công cụ này sẽdần được để cải thiện xử lý giám sát và gỡ lỗi tốt hơn trong môi trường không máy chủ.)
- Giới hạn về bộ nhớ, thời gian: các nhà cung cấp đều giới hạn tài nguyên ở các
mức cố định về bộ nhớ và thời gian thực thi (timeout) Giả sử timeout tối đa là
5 phút, nếu bạn chạy quá 5 phút, quá trình thực thi sẽ bị ngắt Về bộ nhớ, thì sẽ thiết lập mỗi mức khác nhau tuỳ nhà cung cấp, AWS có memory là 3008MB (sẽđược cấp CPU cao tương ứng), nếu ứng dụng yêu cầu bộ nhớ lớn thì sẽ không đáp ứng được Liên quan đến vấn đề bộ nhớ này, thì cũng cần phải lưu tâm lúc lập trình nên tối ưu tốt, để tiết kiệm chi phí
- Phụ thuộc nhà cung cấp: bạn không thể muốn chạy phiên bản của phần mềm,
nền tảng chính xác như bạn muốn Ví dụ Nodejs bạn cần 10.x nhưng nhà cung cấp chỉ hỗ trợ đến 8.x, thì bạn sẽ không sử dụng được nền tảng này Như vậy, trước khi sử dụng, bạn cần cân nhắc các nền tảng được hỗ trợ
- Chi phí ngầm: tuỳ nhà cung cấp có tính hay không, nhưng cơ bản là sẽ phát
sinh chi phí lưu trữ mã nguồn, băng thông, và chi phí về lưu trữ dữ liệu (tuỳ ứng dụng có sử dụng hay không, ví dụ DynamoDB, RDMS … thì sẽ được tính riêng) Mặc dù, tuy không nhiều nhưng nếu không tối ưu, các phần chi phí ngầm sẽ còn cao hơn cả chi phí cho serverless
- Thời gian để nghiên cứu: trước đây bạn phải học cách sử dụng, quản lý máy
chủ thì giờ đây bạn cũng cần thời gian để học để quản lý các tài nguyên trong serverless, mặc dù ko phải quá khó như quản lý máy chủ, nhưng không thể không tính Ví dụ bạn sẽ mất thời gian để hiểu về cách sử
dụng CloudFormation, IAM policies, quản lý cấu hình về stage, region,
memory của Functions…
Trang 15 Ví dụ : AWS Lambda: nói về thị phần cung cấp hạ tầng cloud hiện nay thì
AWS vấn đang dẫn đầu và họ cũng đưa ra dịch Lambda để người dùng có thể
sử dụng và tạo ra các functions trên mô hình serverless Khi kết hợp với cácdịch vụ khác như API Gateway, S3, thì có thể tạo được một API server haymột hệ thống tự động xử lí khi có file upload lên S3 AWS Lambda hỗ trợ khánhiều ngôn ngữ như Node.js, Java, C#, Python,…
Azure Functions: hàng của Microsoft, hỗ trợ C#, JavaScript, F#, Python,
Batch, PHP, PowerShell
3.6 FaaS – Funnction as a service
- FaaS là một dịch vụ backend của Serverless, cho khả năng viết hoặc cập nhậtcode một cách nhanh chóng, mà sau có đó có thể chạy để phản hồi lại một sự kiệnnào đó Điều này giúp chúng ta dễ dàng mở rộng về quy mô code cũng như tối ưuhóa về chi phí để triển khai microservices
- Giải thích theo một cách cụ thể hơn: Thay vì triển khai theo mô hình client-server,chúng ta cần thuê server và deploy lên trên đó, ở đây với FaaS, chúng ta deploycode dưới dạng các Function (Function as a Service) và các function này có thể gọidưới dạng RestAPI -Ưu điểm khi sử dụng Faas
- Tốc độ – Improved developer velocity: Rõ ràng mà nói, thay vì ngồi lò mò locode, rồi build, rồi run Chưa hết, nếu lên server test thì còn deploy nữa Thật là quánhiều công đoạn, quá trình nhiêu khê
- Với Functions as a service, dev giờ chỉ lo code Nhanh hơn rất nhiều!
- Với FaaS, lập trình viên có thể có thểm thời gian để viết về logic của ứng dụng,bớt thời gian lo lắng về servers và deploys Điều đó cũng đồng nghĩa với việcdevelopment nhanh hơn
- Khả năng mở rộng – Scability: Thay vì phải lo lắng phía server handle ra sao chohàng triệu request Với Functions as a service, dev giờ chỉ focus vào thực thifunction, còn scale ra sao đã có phía server lo
Trang 16IV Các mô hình triển khai điện toán đám mây
Mô hình Private Cloud (Đám mây riêng)
Private Cloud (hay Đám mây riêng) là những dịch vụ được cung cấp qua mạng nội
bộ riêng biệt Các doanh nghiệp có thể trực tiếp quản lý “đám mây” này và sử dụngnội bộ thay vì công khai hoặc Internet Private Cloud cung cấp 2 loại hình dịch vụ
là Iaas và PaaS
Lợi ích của Private Cloud
Private Cloud có các lợi ích tương tự Public Cloud nhưng có chứa các đặc tính “tựphục vụ” riêng tư hơn Hỗ trợ tùy chỉnh và kiểm soát tài nguyên chuyên dùng trên
cơ sở hạ tầng máy tính được lưu trữ tại chỗ Cung cấp mức độ bảo mật và sự riêng
tư cao nhờ hệ thống tường lửa và lưu trữ nội bộ Hạn chế của Private Cloud là bộphận CNTT của công ty sẽ phải chịu trách nhiệm về chi phí vận hành và việc quản
lý Đám Mây
Mô hình Public Cloud (Đám mây công cộng)
Public Cloud hay Đám mây công cộng là các dịch vụ được bên thứ 3 cung cấp chongười dùng qua mạng Internet Public Cloud được xây dựng nhằm phục vụ côngcộng (public) Vì vậy mô hình này không bị giới hạn đối tượng sử dụng Có haihình thức sử dụng dịch vụ Public Cloud là miễn phí hoặc trả phí Các dịch vụ trảphí thường áp dụng mô hình pay-per-usage (trả phí theo lưu lượng sử dụng)
Lợi ích của Public Cloud
Khả năng mở rộng theo nhu cầu người dùng nhờ kho tài nguyên rộng lớn Số lượngmáy chủ và mạng tham gia vào quá trình tạo ra Public Cloud là vô hạn Vì thế, nếumột thành phần nào đó bị lỗi thì hoàn toàn không ảnh hưởng đến các thành phầnkhác.Nền tảng để tạo ra các dịch vụ đám mây công cộng là Internet Vì thế, PublicCloud không bị giới hạn về vị trí, địa điểm Bạn có thể kết nối với Public Cloud từbất kỳ đâu Mức chi phí tốt, người dùng chỉ phải trả tiền cho những gì họ thực sựdùng Phục vụ được nhiều người dùng hơn Tiết kiệm hệ thống máy chủ, điện năng
và nhân lực
Tuy nhiên, Public Cloud vẫn có một số hạn chế như doanh nghiệp sẽ cần phụ thuộcnhiều vào nhà cung cấp Việc lưu trữ các văn bản, thông tin nội bộ cũng gặp khókhăn hơn do tính mở của mô hình này
Trang 17Hybrid Cloud (Đám mây lai)
Đúng như tên gọi, Hybrid Cloud hay Đám mây kết hợp là sự kết hợp giữa PublicCloud và Private Cloud Điều này cho phép Hybrid Cloud khai thác lợi ích của cảhai mô hình này để tối ưu cho người dùng Doanh nghiệp sẽ tạo ra các HybridCloud và chia quyền quản lý với nhà cung cấp Public Cloud Người sử dụng có thể
sử dụng đồng thời các dịch vụ của nhà cung cấp và dịch vụ riêng của doanhnghiệp
Lợi ích của Hybrid Cloud
Doanh nghiệp có thể sử dụng đồng thời nhiều dịch vụ
Cho phép doanh nghiệp triển khai mô hình tại chỗ
Có lợi cho các công việc có tính đột biến
Sử dụng Hybrid Cloud để xử lý các dữ liệu lớn (Big Data)
Chỉ phải thanh toán cho thời gian sử dụng thêm
Tuy nhiên, mô hình này cũng vấp phải khó khăn trong việc quản lý và tiêu tốnnhiều chi phí cho việc triển khai và duy trì
V Những rủi ro về an toàn bảo mật ĐTĐM
- Tài sản trí tuệ bị mất hoặc bị đánh cắp:
Các công ty ngày càng có xu hướng lưu trữ nhiều thông tin và dữ liệu nhạy cảmtrong đám mây Một phân tích của Skyhigh cho thấy 21% tệp được tải lên dịch vụchia sẻ tệp dựa trên đám mây đều chứa dữ liệu nhạy cảm bao gồm cả những dữ liệucó quyền sở hữu trí tuệ Khi một dịch vụ đám mây bị vi phạm, tội phạm mạng sẽchiếm được quyền truy cập vào những dữ liệu nhạy cảm này Kể cả khi không có viphạm xảy ra, một số dịch vụ vẫn có thể gây ra rủi ro cho dữ liệu nếu quyền sở hữu
dữ liệu được tải lên
Trang 18đó và làm thế nào để bảo vệ các dữ liệu này BYOC (Bring Your Own Cloud)thường vi phạm mỗi một trong những quy định này, khiến doanh nghiệp rơi vàotình trạng không tuân thủ quy định về bảo mật, dẫn đến những hậu quả nghiêmtrọng.
Mất quyền kiểm soát hành động của người dùng cuối
Không kiểm soát chặt chẽ được việc sử dụng dịch vụ đám mây của nhân viên sẽgây ra những sự cố không đáng có cho doanh nghiệp Chẳng hạn, một nhân viênbán hàng sắp nghỉ việc có thể tải xuống tất cả các báo cáo về những thông tin quantrọng của khách hàng, sau đó lưu trữ những dữ liệu này tại đám mây cá nhân và sửdụng những thông tin đó bán cho đối thủ cạnh tranh hoặc sử dụng cho công ty mớichuyển tới Đây là một trong những mối đe dọa nội bộ phổ biến đang diễn ra ở hầuhết các doanh nghiệp hiện nay
Nhiễm phần mềm độc hại gây ra những cuộc tấn công có chủ đích
Các dịch vụ đám mây có thể được sử dụng như một vectơ cho việc lọc dữ liệu.Skyhigh đã phát hiện ra một kỹ thuật lọc dữ liệu mới, theo đó những kẻ tấn công đãmã hóa dữ liệu nhạy cảm vào các tệp video và tải chúng lên YouTube Bên cạnh đócòn có một phần mềm độc hại giúp lọc dữ liệu nhạy cảm thông qua tài khoảnTwitter 140 ký tự một lần Các biến thể phần mềm độc hại Dyre giúp tội phạmmạng sử dụng các dịch vụ chia sẻ tệp để phân phối phần mềm độc hại đến các mụctiêu nhằm tiến hành các cuộc tấn công lừa đảo (phishing attacks)
Vi phạm hợp đồng với khách hàng hoặc đối tác kinh doanh
Hợp đồng giữa các bên kinh doanh thường hạn chế cách sử dụng dữ liệu và ngườiđược phép truy cập Khi nhân viên di chuyển những dữ liệu vào đám mây màkhông được phép, hợp đồng kinh doanh có thể bị vi phạm dẫn đến các hành độngpháp lý sau đó
Giảm niềm tin của khách hàng
Vi phạm dữ liệu chắc chắn ảnh hưởng nghiêm trọng đến niềm tin của khách hàng.Trong một vụ vi phạm dữ liệu thẻ thanh toán lớn chưa từng thấy, tội phạm mạng đãđánh cắp hơn 40 triệu số thẻ tín dụng và thẻ ghi nợ của khách hàng từ Target Viphạm khiến khách hàng tránh xa các cửa hàng Target và dẫn đến việc kinh doanh
Trang 19của công ty xuống dốc không phanh gây nên sự tụt dốc thảm hại với doanh thu củacông ty.
Vi phạm dữ liệu yêu cầu phải được thông cáo và thông báo cho nạn nhân
Nếu dữ liệu nhạy cảm được đưa vào đám mây và vi phạm xảy ra, công ty có thểđược yêu cầu phải tiết lộ vi phạm và gửi thông báo cho các nạn nhân của mình nhưđối với quy định HIPAA và HITECH Công ty có thể đối mặt với các trừng phạtcủa cơ quan pháp lý và có nguy cơ bị khởi kiện bởi những nạn nhân bị ảnh hưởng.Nếu khách hàng nghi ngờ rằng dữ liệu của họ không được bảo vệ hoàn toàn bởi cáckiểm soát bảo mật cấp doanh nghiệp, họ có thể đưa doanh nghiệp của mình đi đếnmột công ty cung cấp dịch vụ đám mây khác mà họ có thể đặt niềm tin, có tráchnhiệm cao trong việc bảo vệ quyền riêng tư của khách hàng
Giảm doanh thu
Tin tức về vi phạm dữ liệu của Target đã khiến người tiêu dùng tránh xa các cửahàng Target trong các kỳ nghỉ lễ, dẫn đến việc sụt giảm 46% lợi nhuận hàng quýcủa công ty Công ty ước tính thiệt hại lên tới 148 triệu đô la CIO và CEO củaTarget đều đã phải từ chức và nhiều người hiện đang kêu gọi sự giám sát của bangiám đốc đối với các chương trình an ninh mạng
Theo nghiên cứu của Ponemon BYOC, 64% số người được hỏi nói rằng công tycủa họ không kiểm soát được việc nhân viên của họ sử dụng đám mây tại nơi làmviệc Để giảm thiểu rủi ro khi sử dụng đám mây không được quản lý (unmanagedcloud), trước tiên các công ty cần có khả năng hiển thị các dịch vụ đám mây được
sử dụng bởi nhân viên của mình Họ cần hiểu dữ liệu nào đang được tải lên dịch vụđám mây nào và của ai Với thông tin này, các nhóm CNTT có thể bắt đầu thực thicác chính sách bảo mật, tuân thủ và quản trị dữ liệu của công ty để bảo vệ dữ liệucủa công ty trên đám mây Đám mây vẫn ở đây và các công ty phải cân bằng rủi rocủa dịch vụ đám mây với những lợi ích rõ ràng mà chúng mang lại
VI Kiến trúc lưu trữ đám mây Hadoop- HDFS
Trang 20và phổ biến rộng rãi Chúng chủ yếu hữu ích để đạt được sức mạnh tính toán lớnhơn với chi phí thấp.
Tương tự như dữ liệu nằm trong hệ thống tệp cục bộ của hệ thống máy tính cánhân, trong Hadoop, dữ liệu nằm trong hệ thống tệp phân tán được gọi là hệ thốngtệp phân tán Hadoop Mô hình xử lý dựa trên khái niệm 'Vị trí dữ liệu' trong đólogic tính toán được gửi đến các nút cụm (máy chủ) chứa dữ liệu Logic tính toánnày không là gì, mà là một phiên bản đã biên dịch của một chương trình được viếtbằng ngôn ngữ cấp cao như Java Một chương trình như vậy, xử lý dữ liệu được lưutrữ trong Hadoop HDFS
HDFS sẽ chia nhỏ file của bạn thành các phần và lưu trữ chúng tại các máy trong
cụm, và việc lưu trữ file sẽ tuân theo cơ chế Master – Slave.
Cụ thể cơ chế master – slave được thể hiện trong HDFS bằng việc trong một cụm
máy, sẽ chỉ bao gồm một máy duy nhất được gọi là là Namenode (Master) và các
máy còn lại gọi là Datanode (Slave) Trong đó:
- Datanode sẽ là nơi lưu trữ các file dữ liệu mà bạn đưa vào
- Namenode là nơi lưu địa chỉ của file đó được chia và lưu trên các datanodenào
Ví dụ mình có một file 1TB, khi đưa vào HDFS để lưu trữ thì nó được chia thành 3mảnh:
- 3 mảnh này sẽ chỉ được lưu ở datanode, namenode không lưu dữ liệu này
- Namenode sẽ lưu địa chỉ có 3 mảnh được lưu trữ, ví dụ như mảnh 1 được lưutrữ ở datanode 1, mảnh 2 được lưu trữ ở datanode 2,…
Trang 21Namenode là đầu mối truy cập và thực hiện các thao tác với file từ phíaclient, có nhiệm vụ duy trì và quản lý các datanode, nơi lưu trữ và cập nhật cácmetadata, lắng nghe và theo dõi các datanode để đảm bảo là chúng vẫn “còn sống”,điều khiển sự cân bằng về dung lượng lưu trữ của các datanode, quản lý lượng truycập tới các datanode.
Datanode là nơi lưu trữ dữ liệu, khi dữ liệu được đưa vào HDFS, nơi chạycác tiến trình xử lý dữ liệu (các job), gửi dữ liệu định kỳ về tình trạng “sức khỏe”tới datanode, mặc định là cứ 3s nó sẽ gửi một lần
Dữ liệu được đưa vào trong HDFS sẽ được chia nhỏ thành nhiều mảnh và nằm rảirác khắp nơi trong các datanode, mỗi mảnh dữ liệu như vậy được gọi là một block.Việc dữ liệu được chia làm bao nhiêu block và mỗi block nằm ở datanode nào sẽđược lưu ở metadata namenode
Trang 22Giải thích hình ảnh trên Chúng ta có 4 datanode và 5 block, trong đó:
- Block 1 được lưu tại node 1, node 2, node 4
- Block 2 được lưu tại node 2, node 3, node 4
- Block 3 được lưu tại node 1, node 3, node 4
- Block 4 được lưu tại node 1, node 2, node 3
- Block 5 được lưu tại node 1, node 2, node 4
Giả sử node 1 gặp sự cố, thì các dữ liệu mà node đang lưu (block 1, 3, 4, 5) vẫn cólấy được từ các node khác Điều này tương tự các node khác
Bằng cơ chế “Quản lý các bản sao” mà HDFS có cách sắp xếp và nhân bản cácblock để hạn chế tối đa việc mất mát dữ liệu khi có datanode gặp sự cố
Mặc định HDFS sẽ tạo ra 3 bản sao cho mỗi block, nhưng bạn cũng có thể cấu hìnhlại thông tin này Việc nhân bản ra càng nhiều sẽ càng làm giảm rủi ro mất mát dữliệu, nhưng đừng quên rằng nó cũng sẽ chiếm nhiều bộ nhớ hơn
Trang 23CHƯƠNG 2: Tìm hiểu một số công nghệ và
giải pháp lưu trữ đám mây
I Một số kiến trúc lưu trữ: AFS, NFS, GFS, HDFS, NFS
NFS hay Network File System là kiến trúc hệ thống tập tin phân tán mà một máychủ trong hệ thống đóng vai trò là máy chủ lưu trữ, cung cấp năng lực lưu trữ củacác ổ đĩa cứng cục bộ, hệ thống RAID cho các máy tính khác qua giao thức mạng.NFS là kiến trúc hệ quản lý tập tin phân tán rất phổ biến, được hỗ trợ bởi hầu hếtcác nền tảng hệ điều hình như Windows, Unix
Ưu điểm của NFS là tính trong suốt cho người dùng cuối về cách thức truy cập tậptin hay vị trí nơi tập tin được lưu trữ Hệ thống tập tin NFS được ánh xạ như mộtthư mục trong hệ thống quản lý tập tin cục bộ và không có sự khác biệt Yếu điểmcủa NFS là tính khả mở thấp do mọi thao t|c đọc ghi dữ liệu đều thực hiện qua kếtnối mạng với máy chủ lưu trữ NFS Trong trường hợp nếu có truy cập tương tranhvào cùng một tệp, hiệu năng của NFS suy giảm rõ rệt
AFS
AFS cũng là một hệ thống tập tin phân tán nhằm mục đích chia sẻ tập tin cho mộtlượng lớn người dùng mạng So với NFS, AFS có tính khả mở cao hơn, đ|p ứngđược số lượng người dùng lớn hơn nhờ vào đặc trưng sau đây: Khi truy cập tập tin,toàn bộ tập tin sẽ được sao chép về phía máy người sử dụng và các thao tác đọc ghiđược thực hiện trên tập tin đó Khi tập tin được đóng, nội dung tập tin sẽ được cậpnhật về phía máy chủ lưu trữ Chính vì vậy, quá trình đọc ghi tương tranh là trongsuốt đối với từng người sử dụng nhưng tính nhất quán của tập tin không được đảmbảo
HDFS
HDFS (tên viết tắt của từ Hadoop Distributed File System” là một hệ thống lưu dữ
dữ dữ liệu được sử dụng bởi Hadoop Chức năng của hệ thống này là cung cấp khảnăng truy cập với hiệu suất cao đến với các dữ liệu nằm trên các cụm của Hadoop
Thông thường, HDFS sẽ sử dụng cũng như triển khai trên các phần cứng với chiphí vừa phải, bởi các máy chủ sẽ rất dễ phát sinh các lỗi phần cứng Đây là lý do
mà HDFS được lập trình và được xây dựng nhằm mục đích chịu lỗi cao để giảm rủi
ro cũng như giảm thiểu được quá trình phát sinh lỗi
Trang 24HDFS tạo ra các mảnh nhỏ hơn của dữ liệu lớn rồi phân tán chúng lên các nodeskhác nhau Từ đó, sao chép mỗi miếng dữ liệu nhỏ hơn trên nhiều nodes khác Dovậy, khi node bất kỳ có dữ liệu bị lỗi thì hệ thống sẽ tự động sử dụng dữ liệu từ 1node khác rồi tiếp tục xử lý Đây là một trong những tính năng đặc biệt quan trọngcủa HDFS
Ưu điểm nổi bật của HDFS là gì?
Hiện nay, HDFS là một trong những hệ thống được các lập trình viên sử dụng rấtphổ biến Lý do là vì?
HDFS cho phép dữ liệu có thể phân tán: Điều này có thể hiểu như sau: Nếunhư có một cụm Hadoop mà trong đó bao gồm 20 máy tính thì bạn chỉ cần đưamột file dữ liệu vào HDFS Khi đó, thì file sẽ tự động được chia nhỏ thành nhiềuphần rồi được lưu trữ ở 20 máy tính đó
HDFS cho phép tính toán và phân tán song song: Thay vì chỉ sử dụng mộtmáy để xử lý công việc, thì với HDFS thì bạn có thể để các máy hoạt động songsong để xử lý chung một công việc để tiết kiệm thời gian
HDFS cho phép nhân bản các file: Đặc điểm này sẽ giúp bạn đề phòng đượccác trường hợp một máy tính trong cụm Hadoop phát sinh sự cố thì dữ liệu sẽ đượcbackup lại mà không bị mất
HDFS có thể mở rộng theo chiều dọc: Lúc này, bạn sẽ có nhiệm vụ nâng cấpcho các hệ thống bằng cách tăng cấu hình cho máy tính lên Tính năng này cònđược gọi là Scale Up hay Vertical scaling
HDFS có khả năng giải quyết những vấn đề nào?
Có 3 vấn đề mà khi sử dụng HDFS bạn đều có thể giải quyết một cách triệt để là: Thứ 1: Lỗi phần cứng thường xuyên xảy ra HDFS được tích hợp với hệ thống pháthiện ra lỗi, tự động khôi phục lỗi và chống chịu lỗi Các tính năng này sẽ giúp bạngiảm rủi ro xuống mức thấp nhất khi một hệ thống phát sinh lỗi phần cứng quá bấtngờ
Thứ 2: Phân chia tập dữ liệu thành tập dữ liệu có dung lượng ít hơn Vấn đề tiếptheo mà HDFS có thể giúp các lập trình viên giải quyết được triệt để nhất đó chính
là phân chia dữ liệu Cụ thể:; HDFS sẽ hỗ trợ chia các tập dữ liệu hàng trămTerabyte thành những tập dữ liệu có dung lượng ít hơn Quá trình phân chia đều