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ữ Githubgiữ 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ệncho 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ến​​trú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