Fundamental of Cloud Computing - Nguyen Thanh Phuoc - 19110436
Thời đại 4.0 nên dường như mọi hoạt động của con người
ở hiện tại đều được mô phỏng, ảo hoá trên internet. Sử dụng các trang mạng xã hội
Facebook, Tiktok, Instagram, ... để kết nối, theo dõi cuộc sống mọi người mà
không ngại khoảng cách, thời gian; các ứng dụng liên lạc Messenger, Zalo,
Telegram, ... để trò chuyện, làm việc một cách tức thời; giải trí qua các trò
chơi online có thể kết nối đến bạn bè, người khác; đặc biệt trong khoảng thời gian
COVID-19, các ứng dụng họp, học online như Google Meet, Zoom, Microsoft Teams,
... giải quyết được vấn đề làm việc tại nhà; ...
Thế nên mình lưu mọi thông tin trên internet: thông
tin cá nhân qua các trang mạng xã hội, các tệp dữ liệu cần thiết cho môn học,
cho sở thích cá nhân qua các dịch vụ lưu trữ đám mây, ... gần như là một bản
sao hoàn hảo trên không gian mạng.
Nhưng bỗng một ngày bạn là nạn nhân trong một vụ lộ
thông tin của một tài khoản mạng xã hội
hay nhìn thấy thông tin của mình được rao bán trên chợ đen
hay vừa mua hàng trên các sàn thương mại điện tử, các
cửa hàng điện thoại, thiết bị gia dụng, ... thì hôm sau đã có người gọi đến để
hỏi mua nhà đất, thông báo bạn đang vướng vào một vụ án rất nghiêm trọng, ....
Bạn cảm thấy thế nào? Chắc hẳn là rất bất ngờ, hoang
mang, phẫn nộ phải không? Mình cũng thế. Vì khi lộ thông tin sẽ tổn hại đến sự
riêng tư, lợi ích của bản thân bị lợi dụng cho các mục đích xấu khác.
"Con người đang từng ngày thay đổi công nghệ
nhưng chính công nghệ cũng đang thay đổi cuộc sống con người".
Thật vậy, sức hấp dẫn của internet làm con người dễ
"nghiện", chẳng hạn lướt Facebook, Tiktok hàng giờ đồng hồ chỉ để giết
thời gian. Dễ dàng tiếp cận cũng đồng nghĩa dễ dàng lừa đảo nếu người sử dụng
không có kỹ năng sử dụng internet: nhấn vào đường link để nhận quà trúng thưởng,
chuyển khoản ngân hàng, đăng nhập để nhận voucher, ... . Chỉ với một chiếc điện
thoại chúng ta đã có thể nhìn ra thế giới càng làm cho con người thích tương
tác qua điện thoại hơn tương tác trực tiếp. Mạng ảo đã trở thành lớp vỏ bọc
hoàn hảo vì không ai biết mình là ai, thế nên việc chỉ trích, phán xét người
khác, nói những điều mà ngoài đời họ không dám nói ra; bắt nạt trên không gian
mạng qua sự vu khống, chia sẻ thông tin nhạy cảm, ... dẫn đến nhiều vụ tự tử
thương tâm.
Đáp ứng được mối lo ngại đó, trong những thập
niên gần đây, pháp luật ở nhiều quốc gia trên thế giới đã thiết lập
các chuẩn mực về việc tiếp cận, sử dụng thông tin cá nhân trong các
giao dịch giữa cá nhân với doanh nghiệp hoặc giữa cá nhân với các cơ
quan công quyền. Việt Nam cũng không phải là ngoại lệ: Luật Công nghệ
thông tin, Luật bảo vệ quyền lợi người tiêu dùng, Bộ luật dân sự, Luật
an toàn thông tin mạng, ...
Điều mong muốn làm online nhưng công nghệ chưa hỗ trợ chính là "sống online", có thể vì một lý do nào đó mà một người mất đi, chúng ta có thể sao lưu trí não của họ và lưu vào trên cloud, sau đó sử dụng AI để "sống tiếp" cuộc sống của họ.
Cloud (Điện toán đám mây) 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. 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ức tạ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ăng liên quan đến công nghệ thông tin đều được cung cấ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ô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ệ đó.
Cloud Computing có 4 mô hình dịch vụ (mô hình sản phẩm ):
+ Public Cloud: Đám mây công cộng (là các dịch vụ trên
nền tảng Cloud Computing để cho các cá nhân và tổ chức thuê, họ dùng chung tài
nguyên).
+ Private Cloud: Đám mây riêng (dùng trong một doanh
nghiệp và không chia sẻ với người dùng ngoài doanh nghiệp đó)
+ Hybrid Cloud: Là mô hình kết hợp (lai) giữa các mô
hình Public Cloud và Private Cloud.
+ Community Cloud: Đám mây cộng đồng (là các dịch vụ
trên nền tảng Cloud computing do các công ty cùng hợp tác xây dựng và cung cấp
các dịch vụ cho cộng đồng).
Cloud giúp sử dụng các tài nguyên tính toán động,
giảm chi phí, giảm độ phức tạp trong cơ cấu của doanh nghiệp, tăng khả năng sử
dụng tài nguyên tính toán, mở rộng quy mô toàn cầu, ...
Ngày nay, dịch vụ cloud đang dần trở nên phổ biến. Có thể kể đến một số dịch vụ như dịch vụ e-mail: Gmail, Outlook, ...; chatbots: Siri, Alexa, Google Assistant; công cụ văn phòng: Office 365, Google Documents, ...; CRM, ERP: Salesforce, Hubspot, Marketo, ...; dịch vụ lưu trữ: Google Drive, One Drive, Dropbox, MEGA, Fshare, ... cho phép người sử dụng có thể truy cập file ở bất cứ nơi nào có internet cũng như chia sẻ file một cách dễ dàng. Với nhiều gói khác nhau hỗ trợ từ người dùng cá nhân đến các doanh nghiệp, các dịch vụ ngày càng được phổ cập, tiếp cận nhiều hơn vì mức giá ngày càng rẻ.
Tuy nhiên việc đưa dữ liệu cá nhân lên các dịch vụ đám mây nói riêng hay internet nói chung tồn tại ít nhiều nguy cơ về vấn đề bảo mật dữ liệu. Vì chúng ta không đảm bảo rằng các nhà cung cấp sẽ không thể nhìn thấy file của chúng ta, hay có thể bị tin tặc tấn công và đánh cắp, ...
Thực tế, đã có nhiều công ty áp dụng điện toán đám mây
để phát triển doanh nghiệp, như Airbnb sử dụng Amazon EFS căn chỉnh CI/CD
pipeline để mở rộng thị trường trực tuyến với các lợi ích như: sử dụng hệ thống tệp duy nhất để đồng bộ hóa kho lưu trữ
Github, giữ cho các bản sao Git được đồng bộ bằng cách sử dụng hệ
thống tệp được chia sẻ cho phép mở rộng quy trình CI/ CD, đảm bảo không có thay đổi nào về kho lưu trữ bị mất trong
quá trình đồng bộ hóa bằng cách sử dụng phương pháp xếp hàng theo hướng sự kiện, cho phép các kỹ sư tập trung vào việc xây dựng các tính
năng của hệ thống thay vì lo lắng về việc mở rộng quy mô.
Airbnb là mô hình kết nối người cần thuê nhà, thuê
phòng nghỉ với những người có phòng cho thuê. Sứ mệnh của Airbnb là tạo ra một
thế giới mà bất cứ ai cũng có thể thuộc về ở bất cứ đâu. Thị trường của công ty
cung cấp quyền truy cập vào hơn 7 triệu chỗ ở độc đáo trên toàn thế giới.
Ra đời từ năm 2008, trải qua 14 năm chuyển mình, đến
nay Airbnb đã có hàng trăm dịch vụ trên nền tảng của mình, thế nên việc quản lý
source code để dễ dàng phát triển và bảo trì trở thành vấn đề hệ trọng và tất yếu
cho sự tồn tại của công ty. Công ty sử dụng Github Enterprise cho cả việc quản
lý source code và quản lý quy trình CI/CD. Airbnb có hơn 1 nghìn kĩ sư với
trung bình hơn 1 trăm nghìn việc thực hiện CI/CD mỗi ngày. Tuy nhiên, kiến trúc
quản lý source code đã trở thành vấn đề nan giải do các vấn đề liên quan đến mở
rộng quy mô của hệ thống. Trước đây, các bản sao lưu (Git mirror) lấy các thay
đổi mới nhất từ GitHub Enterprise. Chính điều này đã gây ra một “bug” để duy
trì vì các Git mirror này có thể không đồng bộ với nhau do nhiều nguyên nhân
khách quan và chủ quan. Dẫn đến việc hệ thống không mở rộng quy mô kịp với lưu
lượng Git ngày càng tăng của Airbnb, từ đó cản trở các dev tập trung vào việc
giải quyết vấn đề cấp cao hơn hay triển khai các tính năng mới.
Lúc này, Airbnb rất cần một giải pháp để tái kiếntrúc
source code với một lớp lưu trữ đơn giản hơn, chỉ mất vài giây để cập nhật toàn
hệ thống khi có thay đổi và đọc lưu lượng cần thiết để mở rộng quy mô.
Airbnb đã chuyển sang Amazon Wev Services (AWS) để giải
quyết vấn đề của mình. Joel Snyder, kĩ sư phần mềm cảu Airbnb cho biết:
“Chúng tôi đã làm việc với AWS trong nhiều tháng để
xem xét nhiều lựa chọn khác nhau để có thể giải quyết bài toán về hạ tầng quản
lý source code. Họ đã dành thời gian để lắng nghe những gì chúng tôi yêu cầu và
cho lời khuyên về cách có thể tích hợp tốt nhất với các dịch vụ của họ”.
Với rất nhiều đề xuất khác nhau, Airbnb nhận thấy
Amazon Elastic File System (Amazon EFS) - một hệ thống đơn giản và có khả năng
mở rộng sau này chạy trên Linux với các dịch vụ đám mây AWS và tài nguyên tại
chỗ.
Thông qua nghiên cứu của mình, Airbnb đã khám phá ra
Amazon EFS, nơi chúng tôi chia sẻ một tệp hệ thống duy nhất cho các Git mirror
có thể liên kết vào.
Khi có sự thay đổi ở một Git mirror nào đó, mọi Git
mirror khác đều có được thay đổi đó.”
Bằng cách này, Airbnb đã sử dụng Amazon EFS để sao lưu
theo thời gian thực (real-time) các repo Github. Các Git Mirror liên tục được đồng
bộ với production repo ở quy mô cần thiết cho việc tự động CI pipeline.
Tuy nhiên việc đồng bộ hoá liên tục như vậy tốn rất
nhiều tài nguyên và rủi ro. Sau đó Airbnb cần một giải pháp để có thể đồng bộ
các tệp hệ thống của Github Enterprise với các Git mirorr. Công ty đã chọn cách
tiếp cận theo hướng sự kiện, nghĩa là chỉ những thay đổi code đối với một repo
mới thực hiện việc đồng hộ.
Airbnb đã chuyển sang Amazon Simple Queue Service
(Amazon SQS), một dịch vụ hàng đợi tin nhắn (message) được toàn quyền quản
lý, để tránh các message không đúng định dạng hoặc không hợp lệ được commit vào
repo production. Daniel Low, kĩ sư phần mềm cảu Airbnb cho biết:
"Chúng tôi đã sử dụng Amazon SQS làm nơi chứa đệm
theo cơ chế hàng đợi các sự kiện từ Github chính đến dịch vụ đồng bộ hoá"
Hầu hết thời gian,
kho lưu trữ được tự động đồng bộ hóa thành công. Tuy nhiên, nếu thư không thể
được xử lý tự động, Amazon SQS đảm bảo không có dữ liệu nào bị mất bằng cách gửi
lại thư cho đến khi hệ thống lưu trữ được đồng bộ hóa thành công. Mỗi ngày, hệ
thống xử lý khoảng 10.000 thông báo về các thay đổi mã và đồng bộ hóa kho lưu
trữ với tỷ lệ thành công 99,5%.
Low giải thích: “Khi
một thông báo xấu xâm nhập vào hệ thống của chúng tôi, chúng tôi không liên tục
thử lại. “Sau năm lần thử, chúng tôi chuyển các thư không thể xử lý thành công
vào hàng đợi chữ cái chết.” Airbnb đặt cảnh báo cho hàng đợi chữ cái chết, vì vậy
nó có thể nhanh chóng phát hiện ra lý do của thông báo không thành công và tìm
ra giải pháp. Ông nói: “Sau khi sự cố được khắc phục, chúng tôi sẽ phát lại nội
dung của hàng đợi chữ cái chết trên Amazon SQS. “Chúng tôi sử dụng quy trình đó
để xác minh rằng vấn đề đã được giải quyết.”
Kỹ sư tập trung vào xây
dựng các tính năng
Low nói: “Trước
khi sự tích hợp này, chúng tôi đã có những cuộc trò chuyện nghiêm túc về cách thiết kế và mở rộng
quy mô cơ sở hạ tầng kiểm soát nguồn của chúng tôi. “Giờ đây, sử dụng Amazon
EFS và Amazon SQS, chúng tôi không còn lo lắng về điều đó nữa. Chúng tôi biết
chúng tôi có thể mở rộng quy mô để phù hợp với sự phát triển của chúng tôi. ”
Bằng cách sử dụng các dịch vụ được quản lý như Amazon EFS và Amazon SQS, Airbnb đã giảm đáng kể tải hoạt động cần thiết để duy trì cơ sở hạ tầng kiểm soát nguồn khi khối lượng công việc của nó tăng lên hàng chục nghìn cam kết mỗi ngày. Snyder cho biết: “Nhóm của chúng tôi hiện có thể tập trung vào việc xây dựng các tính năng mới và mang lại giá trị cho khách hàng nội bộ của chúng tôi, các kỹ sư khác tại Airbnb. “Kiểm soát nguồn đáng tin cậy là nền tảng quan trọng để hỗ trợ cơ sở hạ tầng của Airbnb và cho phép các kỹ sư của Airbnb làm việc hiệu quả”.
Comments
Post a Comment