Khi điện toán đám mây trở thành đám ma
Bạn có ý tưởng tuyệt vời cho một phi vụ khởi nghiệp (startup). Bạn lên kế hoạch kỹ lưỡng, tính toán từng chi tiết nhỏ nhất để mọi thứ diễn ra suông sẻ. Bạn thuê một server, và dự tính sẽ thuê thêm trong thời gian tới vì bạn nghĩ lưu lượng truy cập sẽ tăng cao khi tung ra sản phẩm. Ngày trọng đại đã đến, bạn hào hứng khai trương đứa con tinh thần. Nhìn thấy lượng khách truy cập có xu hướng tăng cao, bạn chuẩn bị thêm một server thứ hai. Một tuần sau, lưu lượng vượt giới hạn cả hai server. Bạn hí hửng thêm server thứ ba. Nhưng rồi mọi chuyện không theo dự tính, lượng khách suy giảm từ tuần thứ tư. Server trở nên dư thừa, phần lớn thời gian chúng chỉ ngồi không.
Cảnh tượng ở trên tuy hơi cường điệu nhưng nó nói lên thực tế là ta chẳng bao giờ biết chính xác mình cần bao nhiêu tài nguyên. Dự đoán lượng truy cập là bài toán khó, khả năng đoán sai là rất cao, dẫn đến tình trạng thiếu hụt hoặc dư thừa tài nguyên. Giá như có cách nào đó linh hoạt hơn, khi cần thì lấy thêm, không cần thì trả lại. Với cách hoạt động kiểu mới này, ứng dụng sẽ tự động “co giãn” cho phù hợp với nhu cầu mà không làm server bốc khói hay túi tiền bốc hơi. Nếu bạn nghĩ rằng đây là cách hoạt động của “điện toán đám mây” thì đã đúng rồi đấy.
Điện toán đám mây (cloud computing) là cụm từ mơ hồ nếu ta nghe lần đầu. Khi giở bất kì quyển tạp chí IT, ta không khỏi bắt gặp cụm từ này xuất hiện đâu đó. Nào là “điện toán đám mây sẽ thay đổi tất cả”, hay “các doanh nghiệp đang lên mây” và “điện toán đám mây là xu hướng của tương lai”. Vậy nó thực sự là gì? “Lên mây” có gì thú vị so với dưới đất? Thực ra, đám mây là để ám chỉ Internet. Ứng dụng đám mây là ứng dụng phụ thuộc hoàn toàn hoặc một phần vào Internet. Nếu theo định nghĩa này thì tất cả mọi người dùng Internet đều đã dùng qua ứng dụng đám mây. Gmail chính là nó, Youtube cũng chính là nó, và Facebook cũng là nó luôn.
Thế chẳng phải các ứng dụng này đã có từ rất lâu rồi sao? Sao giờ đám mây mới trở nên đình đám như thế? Câu trả lời nằm ở sự phát triển của Internet. Vào cái thời Internet quay số (dial-up), ứng dụng đám mây khá mờ nhạt. Người ta lên mạng chủ yếu là chia sẻ thông tin dạng text như lướt web, gửi email, tán gẫu. Với kết nối dial-up thì coi phim online là điều không tưởng, và lưu trữ trực tuyến như Dropbox hay Google Drive cũng xa vời. Tốc độ Internet quá chậm, chép dữ liệu vào USB còn nhanh hơn. Nhưng rồi tốc độ Internet được cải tiến đáng kể: từ 50 Kb/s của dial-up đến 500 Kb/s của ADSL, rồi giờ đến 20,000 Kb/s của mạng cáp quang. Nếu không nhờ tốc độ Internet được cải tiến trong vòng 10 năm qua, chắc chắn Youtube không thể nào ngốc đầu nổi. Nghĩ đến cảnh coi phim HD bằng đường truyền dial-up là tôi nổi da gà.
Nhờ Internet được cải thiện, ứng dụng đang chuyển dần từ mua bản quyền sang đăng ký thuê bao. Phần mềm từ một loại sản phẩm đang trở thành một loại dịch vụ. Nhờ điện toán đám mây, rất nhiều công ty phầm mềm đã chuyển từ hình thức bán bản quyền sản phẩm sang thu phí thuê bao. Với cách này, khách hàng khi nào cần dùng thì thuê, còn không dùng nữa thì cắt. Dưới con mắt người dùng bình thường, điều này chẳng có gì nổi bật. Nhưng đối với doanh nghiệp, hình thức thuê bao luôn hấp dẫn hơn. Dùng tới đâu trả tiền tới đó, chứ không bỏ ra một khoản đầu tư lớn ban đầu. Doanh nghiệp ghét tình trạng vốn bị “chôn chết” vì tiền chỉ phát huy sức mạnh khi “di chuyển”, còn dính cứng một chỗ thì quá phung phí. Adobe hiểu quá rõ điều này nên chuyển từ hình thức bán bản quyền sản phẩm Creative Suite sang hình thức thuê bao tháng với dịch vụ Creative Cloud. Microsoft cũng hiểu nên đang chuyển dần từ bán sản phẩm Office sang bán dịch vụ Office 365. Ứng dụng hiện đại ít nhiều đều phụ thuộc vào Internet. Nhờ đám mây phát triển, các dịch vụ trên mây cũng phát triển theo. Từ đó, người ta nghĩ ra thuật ngữ chứa cụm từ “as a service” để chỉ các dịch vụ này: Software as a service (SaaS), Platform as a service (PaaS), Infrastructure as a service (IaaS), và còn nhiều loại service khác nữa.
Chi phí mua thiết bị phần cứng thường rất đắt, đặc biệt là những thiết bị có tên tuổi, tiếng tăm. Như đã trình bày ở đầu bài, mua dư thì phí tiền, mua thiếu thì không đáp ứng được nhu cầu công việc. Cái khó là ta chẳng biết khi nào là đủ. Nhớ lại thời đại học, tôi thường phát điên mỗi khi đến cái ngày gọi là “đăng kí môn học”. Vào ngày này, một lượng lớn sinh viên ồ ạt truy cập vào server, gây tắc nghẽn không hề nhẹ. Tình trạng này chẳng khác gì tấn công DDOS. Giai đoạn đăng kí môn học kéo dài chừng một hay hai tuần. Qua thời điểm này, server coi như ngồi chơi xơi nước.
Nếu là admin của trường, tôi chẳng dại gì mua server để phục vụ nhu cầu đăng kí môn học. Thay vào đó, tôi dùng dịch vụ đám mây để tạo server ảo. Vì là ảo nên tôi thoải mái thay đổi cấu hình tùy theo nhu cầu, và khi không còn nhu cầu nữa thì tôi dẹp nó qua một bên. Điều hấp dẫn nhất là tôi chỉ trả tiền cho những gì mình dùng, chứ không phải chi một khoản lớn để đầu tư phần cứng để rồi vốn bị chôn chết trong đó. Chắc chắn nhà trường sẽ hài lòng, sinh viên không bị nghẽn mạng nên chắc cũng sẽ hài lòng, và tôi với vai trò admin cũng hài lòng vì không phải chứng kiến con server yêu dấu bị hành hạ đến chết đi sống lại cả chục lần. Tất nhiên, di chuyển từ server truyền thống lên đám mây không phải dễ vì còn phải chờ “duyệt” từ cấp trên. Nếu nhà trường biết dùng các dịch vụ như Amazon Web Services hay Azure thì tình trạng thừa, thiếu chẳng bao giờ xảy ra, và chi phí giảm đáng kể.
Còn đối với lập trình viên, đám mây cho phép họ tập trung vào viết code hơn là bù đầu cấu hình phần cứng và quản lý chúng. Giờ đây, họ có thể thử nghiệm những ý tưởng điên rồ mà trước kia chỉ cần nghĩ đến là đổ mồ hôi hột vì chi phí vận hành quá tốn kém. Cần một máy chủ cấu hình khủng để test một ứng dụng web? Hãy nhảy ngay vào DigitalOcean, một dịch vụ cloud hosting, và tạo ngay một server cấu hình như mong muốn trong 55 giây. Cần nhiều hơn một server? Bấm nút và tạo thêm bao nhiêu tùy thích. Tất cả server có một cái giá rẻ bèo (vài đô-la một tháng) so với việc phải mua máy chủ (vài ngàn đô-la một máy). Nếu cần nâng cấp cấu hình thì sao? Chỉ việc chọn cấu hình mới và trong tích tắc, ta sẽ có ngay server theo yêu cầu.
Lên mây nghe có vẻ thời thượng, và những tiện ích nó đem lại rất ấn tượng. Tuy nhiên, cái gì cũng có hai mặt, và mặt kia của đám mây cũng chính là lý do khiến nhiều người e ngại, đó là tính phụ thuộc vào internet. Với bối cảnh internet ở Việt Nam hiện nay thì viễn cảnh “mọi thứ lên mây” có vẻ như xa vời. Để đám mây vận hành trơn tru, nó đòi hỏi một đường truyền tốc độ cao và ổn định. Điều này rất khó đạt khi tình trạng đứt cáp quang biển xảy ra thường xuyên và có tần số ngày càng cao. Hãy tưởng tượng bạn để mọi thứ trên mây, và tới khi cần chúng thì Chrome thông báo “Rất tiếc, trang web không thể truy cập”. Đám mây đã trở thành đám ma, ảm đạm và đau đớn. Chưa hết, nguy cơ dịch vụ bị ngủm cũng gây nhiều lo ngại. Những đám mây đình đám của Microsoft và Amazon đã từng gặp sự cố và ngưng trệ khiến không ít doanh nghiệp phụ thuộc những dịch vụ này đứng ngồi không yên. Chưa kể có nhiều dịch vụ đám mây đến rồi đi, cuốn theo cả dữ liệu khách hàng vào dĩ vãng. Những rắc rối này sẽ kéo theo một loạt các vấn đề khó xử: chậm trễ giao dịch, mất liên lạc với đối tác, dự án đình trệ. Tệ hơn nữa, cái uy tín bạn tốn công gầy dựng bấy lâu nay cũng bắt đầu lung lay, đặc biệt với khách hàng nước ngoài, nơi người ta không biết khái niệm “đứt cáp do cá mập cắn”.
Như vậy, đám mây có rủi ro chứ không phải thiên đường. Trước khi đâm đầu vào điện toán đám mây, ta cần suy xét nhiều khía cạnh, cân đo đong đếm cái lợi, cái hại sao cho phù hợp với nhu cầu. Chắc chắn đám mây sẽ giúp cải thiện hiệu suất làm việc, giảm chi phí bảo trì và vận hành, đặc biệt khi xử lý dữ liệu khổng lồ, trên nhiều thiết bị và nền tảng khác nhau. Tuy vậy, không phải cái gì lên mây cũng hay. Có những lúc đám mây không phải chìa khóa vạn năng cho vấn đề đang gặp phải, và có nguy cơ nó sẽ trở thành đám ma. Là người nắm quyền quyết định, bạn phải tính toán để cái gì lên mây và cái gì dưới đất. Tránh theo phong trào “mọi thứ lên mây”, tới lúc mây biến thành ma thì bạn mệt.