paint-brush
IaaS tuyệt vời cho đến khi không còn nữa: Sự trở lại của PaaStừ tác giả@aptible
264 lượt đọc

IaaS tuyệt vời cho đến khi không còn nữa: Sự trở lại của PaaS

từ tác giả Aptible10m2023/05/01
Read on Terminal Reader

dài quá đọc không nổi

Các nhà phát triển đang đặt câu hỏi về tương lai của nền tảng dưới dạng dịch vụ (PaaS) Các tính năng như lưu trữ liên tục, cân bằng tải có thể định cấu hình và tự động thay đổi quy mô đều không tồn tại hoặc quá hạn chế để sử dụng trong thế giới thực trên PaaS. Các nhà cung cấp IaaS đã khái quát hóa các sản phẩm của họ đủ để hỗ trợ thực tế mọi trường hợp sử dụng ở mọi quy mô.
featured image - IaaS tuyệt vời cho đến khi không còn nữa: Sự trở lại của PaaS
Aptible HackerNoon profile picture
0-item

Các nhà phát triển đang đặt câu hỏi về tương lai của nền tảng dưới dạng dịch vụ (PaaS) —và vì lý do chính đáng. Nhiều người trong số họ đã xây dựng các sản phẩm thành công trên PaaS, nhưng khi ứng dụng của họ đạt đến một quy mô nhất định, họ thấy mình cần nhiều hơn thế. Họ không thể dễ dàng gỡ lỗi các vấn đề về hiệu suất do thiếu minh bạch và các tính năng hộp đen cố chấp. Họ không thể triển khai các biện pháp kiểm soát tuân thủ và bảo mật có thể định cấu hình đầy đủ như tường lửa ứng dụng web. Họ bị mắc kẹt với bất kỳ tiện ích bổ sung hạn chế nào mà nền tảng cung cấp, nếu chúng thậm chí còn được cung cấp. Các tính năng như lưu trữ liên tục, cân bằng tải có thể định cấu hình và tự động thay đổi quy mô đều không tồn tại hoặc quá hạn chế để sử dụng trong thế giới thực trên PaaS.


Vậy lập trình viên làm gì? Họ chuyển ứng dụng của mình sang cơ sở hạ tầng dưới dạng dịch vụ (IaaS).


Không phải IaaS tốt hơn mà là nó không có giới hạn triển khai. Các nhà phát triển có thể xây dựng bất cứ thứ gì họ muốn với các nhà cung cấp IaaS. Sự đánh đổi là thời gian, chuyên môn và nhân sự bổ sung. Nhưng điều đó không sao đối với hầu hết các nhà phát triển có ứng dụng PaaS thành công vì họ đã vượt qua phần khó khăn trong việc xây dựng thứ gì đó và tìm kiếm sản phẩm phù hợp với thị trường. Họ không lo lắng về lộ trình học tập khi chuyển sang IaaS vì đến thời điểm đó, họ đã có cơ sở người dùng, doanh thu và đường băng.


Có khả năng các nhà phát triển sẽ không chuyển ứng dụng của họ sang IaaS nếu PaaS là một lựa chọn khả thi trên quy mô lớn. Nhưng điều đó có nghĩa là PaaS nên bị coi là kém hơn IaaS? Khắc nghiệt. Tương lai của PaaS rất tươi sáng—sáng sủa hơn nhiều so với nhận định của nhiều nhà phát triển. Trên thực tế, tôi tin rằng PaaS sẽ thống trị tương lai của ngành phát triển phần mềm. Thị trường đang khao khát một nền tảng “tuyệt vời để bắt đầu, tuyệt vời để mở rộng quy mô” xuất hiện và vượt qua trải nghiệm và giá trị của nhà phát triển ngày nay. PaaS sẽ hoàn toàn hỗ trợ phân phối ứng dụng có thể mở rộng trên toàn cầu, nhưng trước tiên, nó sẽ phải vượt qua một số thách thức.


IaaS tuyệt vời cho đến khi nó không

Cái hay của IaaS là nó cung cấp các tùy chọn cấu hình và khả năng mở rộng gần như vô tận. Các nhà cung cấp IaaS đã khái quát hóa các sản phẩm của họ đủ để hỗ trợ thực tế mọi trường hợp sử dụng ở mọi quy mô. Nó cực kỳ mạnh mẽ và tiết kiệm chi phí. Ngoài ra, các nhà cung cấp IaaS sẵn lòng cung cấp tín dụng sử dụng và giảm giá để thúc đẩy việc áp dụng và thu hút các nhóm.


Tuy nhiên, có thể cực kỳ khó để xây dựng các cấu hình có thể mở rộng mà không tự bắn vào chân mình. Thay đổi cấu hình không chính xác có thể dẫn đến kết quả thảm khốc mà gần như không thể khắc phục sự cố và khắc phục nếu không có chuyên môn sâu về cơ sở hạ tầng. Trên thực tế, không có hỗ trợ nền tảng nào (ngoài các cam kết tốn kém của doanh nghiệp) và tài liệu IaaS nổi tiếng là không nhất quán và khó đọc. Và thậm chí đừng để tôi bắt đầu với trải nghiệm người dùng thực tế của bảng điều khiển IaaS.


Dấn thân vào IaaS có nghĩa là xây dựng các nhóm cơ sở hạ tầng đắt tiền để sử dụng và quản lý IaaS. Các chuyên gia về cơ sở hạ tầng không chỉ là một trong những người có nhu cầu cao nhất trong ngành, mà việc tìm đúng người biết cách vượt qua các nhu cầu tăng trưởng đặc biệt là vô cùng khó khăn. Thêm vào những sự phức tạp này là thực tế của một môi trường gây quỹ chặt chẽ hơn, các nhóm được yêu cầu “làm nhiều hơn với ít hơn” và sự phức tạp ngày càng tăng nhanh chóng của các giải pháp IaaS. Công việc của nhóm là thiết lập và duy trì cơ sở hạ tầng khi nó phát triển—và công việc này không bao giờ “kết thúc”.


Hành trình điển hình mà các công ty trải qua với IaaS trông như thế này:


  1. Thuê 1-2 chuyên gia phụ trợ hoặc kỹ sư cơ sở hạ tầng để xác định và triển khai kiến trúc.
  2. Phát triển nhóm, trải nghiệm một số doanh thu và kiến trúc thay đổi một cách tự nhiên.
  3. Nhóm hiện đang duy trì cơ sở hạ tầng không còn là nhóm đã xây dựng nó ngay từ đầu.
  4. Khi một cái gì đó bị hỏng, đó là một cơn ác mộng để sửa chữa. Không ai nhớ lý do tại sao các quyết định được đưa ra, tri thức của bộ lạc không còn nữa, và những gì đang hoạt động cách đây nhiều tháng giờ là “di sản” vì không ai hiểu nó.


Giữa vấn đề tài trợ và thiếu tài năng cơ sở hạ tầng sẵn có, thật khó để khuyến nghị đầu tư sâu hơn vào cơ sở hạ tầng và công việc nền tảng. Các tính năng và khả năng của IaaS ngày càng phát triển phức tạp, càng chứng tỏ nhu cầu về các khái niệm trừu tượng ở cấp độ cao hơn, giống như các tính năng và khả năng do PaaS cung cấp.


IaaS ước họ có thể làm PaaS

Các nhà cung cấp IaaS biết điều này, đó là lý do tại sao họ đang đầu tư vào các khái niệm trừu tượng giống như PaaS. Google đang làm khá tốt việc này với Nền tảng đám mây và Firebase , nền tảng phát triển di động của họ. Amazon đã cố gắng xây dựng các bản tóm tắt, nhưng trải nghiệm dành cho nhà phát triển của họ… không tốt. Tuy nhiên, rõ ràng là họ hiểu rằng các nhà phát triển muốn (và xứng đáng) có trải nghiệm tốt hơn, chẳng hạn như tự động mã hóa các đối tượng S3tích hợp RDS với AWS Secrets Manager . Azure hiện cung cấp Dịch vụ ứng dụng , cho phép triển khai đơn giản hóa trên cơ sở hạ tầng tự động mở rộng quy mô.


Các nhà cung cấp đám mây lớn đang trở nên tốt hơn với các dịch vụ giống như PaaS, nhưng họ cũng tập trung vào các chiến lược nâng cấp và thay đổi cũ hoặc tưởng tượng “Kubernetes không máy chủ” khoa học viễn tưởng. Họ kiếm phần lớn tiền từ các doanh nghiệp, điều này thiên về sự phát triển tính năng của họ để phục vụ nhiều doanh nghiệp hơn. Các công ty khởi nghiệp và công ty cỡ trung bình đang khoanh tay hy vọng phản hồi của họ dẫn đến các môi trường giống như PaaS dễ sử dụng và dễ xây dựng hơn mà không yêu cầu chuyên môn về cơ sở hạ tầng tiên tiến để sử dụng đầy đủ.


Raman Sharma đã quan sát một cách sắc sảo rằng “ít nhất hai nhà cung cấp đám mây siêu quy mô lớn (Azure và GCP) đã bắt đầu hành trình đám mây của họ với các sản phẩm PaaS, chỉ để nhanh chóng nhận ra rằng tiền thật (và vô số cơ bắp và bộ nhớ tổ chức) vẫn còn trong cơ sở hạ tầng . Vì vậy, họ xoay quanh việc lấy IaaS làm trung tâm (giống như AWS vào thời điểm đó).”


Nói cách khác, IaaS sẽ thực hiện PaaS nếu IaaS không sinh lợi như vậy. Họ không phục vụ các công ty khởi nghiệp, họ đang phục vụ các doanh nghiệp.

IaaS không phải là một lợi thế cạnh tranh, nó là một sự phân tâm

Xây dựng trong IaaS mang lại nhiều tự do và cơ hội, nhưng bạn muốn chi 150.000 USD cho một quản trị viên được AWS chứng nhận hay 150.000 USD cho một nhà phát triển có thể xây dựng các tính năng tạo doanh thu?


Nếu bạn không phải lo lắng về cơ sở hạ tầng, việc thuê nhà phát triển là điều dễ hiểu. Thật không may, không có gì lạ khi các công ty gặp phải điều tồi tệ nhất trong cả hai thế giới: họ thuê nhà phát triển trị giá 150 nghìn đô la và buộc họ cũng phải thực hiện tất cả công việc DevOps. Đó là ít bang cho buck.


Thực sự không có lợi thế cạnh tranh nào đối với các nhóm sản phẩm chuyển từ PaaS sang IaaS, cũng như đối với những người bắt đầu sử dụng IaaS và mở rộng quy mô. Tại một số điểm, chắc chắn sẽ phải thuê một kiến trúc sư cơ sở hạ tầng đám mây đắt tiền và có kinh nghiệm. Tất nhiên, tôi không có gì chống lại các kỹ sư cơ sở hạ tầng đám mây lành nghề, nhưng khi tôi phải đối mặt với áp lực tài chính ngày càng tăng để “làm được nhiều hơn với chi phí ít hơn”, tôi không hào hứng lắm với việc tăng chi phí hoạt động của mình.


Bên cạnh đó, ngay cả khi tôi có nhóm cơ sở hạ tầng đám mây lớn nhất thế giới và ngay cả khi nó không tốn kém như tôi lo sợ theo giả thuyết, thì lợi thế cạnh tranh của việc có nhóm đó là gì? Điều đó thực sự mang lại lợi thế gì cho bất kỳ doanh nghiệp nào? Thành thật mà nói, tôi muốn có một nhóm các nhà phát triển tạo ra giá trị tinh gọn hơn là các quản trị viên bảo vệ giá trị. Có, tôi có thể dành thời gian và năng lượng cho IaaS để có được các đĩa liên tục, phục hồi tại thời điểm trên cơ sở dữ liệu của mình, cân bằng tải có thể định cấu hình, logic triển khai xanh lam/xanh lá cây và tự động thay đổi quy mô, nhưng tôi đảm bảo rằng hầu hết các nhà phát triển đều muốn có tất cả có sẵn với hộp kiểm trong giao diện người dùng được thiết kế độc đáo.


Tôi càng có nhiều thời gian để tập trung vào việc giữ cho đèn luôn sáng, thì tôi càng dành ít thời gian hơn để cung cấp các tính năng tuyệt vời cho những khách hàng muốn chi tiền cho sản phẩm của tôi. Nhiều cơ sở hạ tầng hơn, ít giá trị hơn.


PaaS giải quyết các vấn đề của IaaS

Lý do chính khiến PaaS tồn tại ngay từ đầu là vì IaaS quá phức tạp. Các nhà phát triển muốn viết và triển khai mã. Họ muốn xây dựng các ứng dụng và tính năng mới, xem phản ứng của thị trường và lặp lại. Và họ muốn làm điều này với ít trở ngại nhất có thể.


Ví dụ: nếu tôi cần cơ sở hạ tầng tuân thủ HIPAA để xây dựng một SaaS tập trung vào chăm sóc sức khỏe, thì tôi có thể bắt đầu với kiến trúc tham chiếu của Amazon , cấu trúc này chưa hoàn thiện và phức tạp, đồng thời dành hàng tuần để thiết lập và chạy nó. Hoặc, tôi có thể tạo một ứng dụng trên Aptible trong vài phút và biết rằng ứng dụng đó tuân thủ HIPAA.


Điều tương tự cũng xảy ra với việc tuân thủ PCI. Stack Overflow và Reddit chứa đầy các ví dụ và cảnh báo về cuộc chiến khó khăn để thiết lập và duy trì cơ sở hạ tầng tuân thủ PCI trong bất kỳ đám mây IaaS lớn nào. Hoặc, bạn có thể tìm thấy một PaaS tuân thủ PCI và không tốn thời gian cho cấu hình tường lửa.


Đây là vấn đề: không ai chọn bắt đầu với việc triển khai và kiến trúc cơ sở hạ tầng phức tạp. Họ chỉ không có nhiều lựa chọn hoặc họ không nhận thức được những lựa chọn hiện có. Bất kỳ nhà phát triển hoặc lãnh đạo sản phẩm nào cũng sẽ chọn PaaS nếu nó tiết kiệm chi phí và có khả năng đáp ứng nhu cầu mở rộng quy mô lâu dài. PaaS không có vấn đề về hiệu quả chi phí, mà là tự đặt mình vào góc với khả năng lâu dài để hỗ trợ các doanh nghiệp đang phát triển. Nếu không phải như vậy, PaaS sẽ không có trí tuệ để bắt đầu và mở rộng ứng dụng.


Điều này đặt ra câu hỏi: ai lại không trả thêm một số tiền bền vững để có mọi thứ “hoạt động bình thường”, tài liệu xuất sắc và hỗ trợ tích hợp?

PaaS cần giải quyết các vấn đề của chính nó

IaaS đã hoàn thành xuất sắc nhiệm vụ cung cấp giải pháp tổng quát hoạt động trong mọi trường hợp sử dụng. PaaS vẫn chưa đạt được điều đó. Có quá nhiều tính năng nhỏ hơn bị thiếu và lỗi khiến các nhóm rời khỏi PaaS. Không có PaaS nào có thể hỗ trợ mọi ứng dụng mà công ty cần chạy và đó là một vấn đề không hề nhỏ.


Hơn nữa, các mô hình phát triển ứng dụng cũng đã phát triển kể từ khi PaaS bắt đầu nở rộ vào năm 2010. Heroku và những người cùng ngành với nó đã không theo kịp. Dưới đây là một số “công việc cần hoàn thành” chung của nhóm kỹ thuật cần thiết cho doanh nghiệp nhưng không được PaaS đảm nhận:


  • Lưu trữ đối tượng
  • Điện toán theo hướng sự kiện (“không có máy chủ”)
  • Kho dữ liệu
  • NoSQL và cơ sở dữ liệu đồ thị
  • cơ sở dữ liệu sự kiện
  • Tìm kiếm cơ sở dữ liệu


Các nhu cầu rõ ràng là đa dạng. Thế giới PaaS đã làm rất tốt với các nền tảng chuyên biệt rõ ràng định vị mình là tốt nhất trong lớp ở một nhiệm vụ duy nhất, nhưng thế giới cần một PaaS có thể hỗ trợ tập hợp các tính năng hỗ trợ kinh doanh.


PaaS cần hỗ trợ các kiến trúc ứng dụng đa dạng hơn

Các ứng dụng PaaS có xu hướng nguyên khối để tận dụng các khả năng khác nhau của nền tảng cơ sở hạ tầng cơ bản. Tuy nhiên, các sản phẩm đang phát triển có khả năng cuối cùng sẽ cần phải tách thành một tập hợp các dịch vụ siêu nhỏ phụ thuộc.


Ngay bây giờ, các nhà phát triển phải trải qua nhiều thử thách để giữ cho kiến trúc vi dịch vụ hoạt động chính xác trên PaaS. Họ cần các cấu trúc như khám phá dịch vụ và kết nối vùng chứa trực tiếp để hoạt động hiệu quả. Những khả năng đó rất khó tìm thấy trong thế giới PaaS.


Có một động lực có vấn đề xuất hiện khi các ứng dụng trở nên phức tạp hơn mức mà PaaS có thể hiểu được. Đó là một lý do lớn để các nhà phát triển chuyển sang IaaS. Nếu một PaaS không thể hỗ trợ kho dữ liệu, thì có rất ít lý do để tiếp tục triển khai bất kỳ thứ gì khác trên PaaS.


Người dùng IaaS khao khát những điều trừu tượng giống như PaaS

Khi một công ty chuyển từ PaaS sang IaaS, nghịch lý thay, họ sẽ khao khát những điều khiến PaaS trở nên tuyệt vời: giảm độ phức tạp, trải nghiệm nhà phát triển tuyệt vời, tài liệu xuất sắc và chi phí có thể dự đoán được. Hôm nay, hãy đọc bất kỳ báo cáo “Trạng thái DevOps” nào và bạn sẽ nghe về phong trào “kỹ thuật nền tảng” và nền tảng triết học của nó.


Nhưng các công ty không cần phải phát minh lại nền tảng. Đó là một chi phí lớn cho năng suất. Tạo và phát triển trải nghiệm dành cho nhà phát triển hàng đầu là đủ công việc để tự nó trở thành một ngành kinh doanh. Việc xây dựng các khái niệm trừu tượng trên IaaS có thể sẽ có rất ít hoặc không có ROI đối với các công ty nằm ngoài danh sách Fortune 50 (ít hơn nhiều đối với khách hàng và cổ đông của họ). Đó là một đề xuất kinh doanh vô nghĩa.


PaaS có rất nhiều chỗ để phát triển—và chúng tôi đang lạc quan

PaaS giải quyết rất nhiều vấn đề của IaaS:


  • Cơ sở hạ tầng là một sự phân tâm, không phải là một lợi thế cạnh tranh
  • Các công ty và nhóm sản phẩm sẵn sàng trả tiền để giải quyết các vấn đề lớn của họ (hoặc thuê ngoài một nền tảng)
  • Hiệu suất, tăng trưởng và quy mô không cần phải tạo áp lực cho việc xây dựng, vận hành và bảo trì


Chúng tôi nhìn thấy cơ hội cho một SaaS có mục đích chung mà không dồn các nhà phát triển vào một góc và chúng tôi rất vui mừng. Chúng tôi đang sử dụng những gì chúng tôi đã xây dựng—PaaS không phải Heroku tốt nhất và duy nhất mở rộng quy mô để đáp ứng nhu cầu của doanh nghiệp—đồng thời giúp việc bắt đầu xây dựng ứng dụng trở nên dễ dàng và dễ tiếp cận hơn.


Đây là cách chúng tôi mong đợi phản ứng của thị trường (và cách chúng tôi tự tiếp cận nó):


  • Tự động thay đổi quy mô và định giá đơn giản: Bên ngoài Heroku, rất khó để đặt các ràng buộc xung quanh quy mô và chi phí PaaS. Đây là lĩnh vực đầu tiên và quan trọng nhất để các nhà cung cấp PaaS giải quyết.
  • Trải nghiệm của nhà phát triển và trải nghiệm người dùng lần đầu: Các nhà cung cấp PaaS sẽ tập trung vào việc giúp các nhà phát triển nhanh chóng xây dựng và phát triển ứng dụng của họ. Đây là nơi mà hầu hết các cải tiến đã đạt được cho đến nay – những nỗ lực để lấy lại cảm giác kỳ diệu do Heroku cung cấp.
  • Hỗ trợ các khái niệm trừu tượng hiện đại, cấp cao hơn dành cho nhà phát triển: Hỗ trợ các giải pháp cơ sở hạ tầng không có máy chủ của bên thứ 3, phân tích hoạt động, AI, bảo mật chuỗi cung ứng và phần mềm phi tập trung.
  • Cung cấp cho các trường hợp sử dụng hiện đại: Cho phép các công ty hoàn thành các nhiệm vụ liên quan đến kỹ thuật như trang web tĩnh, lưu trữ đối tượng, v.v.


Khi AWS và các nhà cung cấp IaaS khác thêm ngày càng nhiều dịch vụ vào bảng điều khiển của họ, chúng ta phải mong đợi sự phức tạp hơn. Số lượng khách hàng IaaS ngày càng tăng sẽ kết thúc dựa vào những gì sẽ sớm trở thành kiến trúc đám mây kế thừa và mô hình phát triển. Các công ty này chắc chắn sẽ tìm kiếm một PaaS để giải phóng hoặc thậm chí đơn giản là để tránh sự phức tạp và khó chịu khi xử lý IaaS tiện ích.


Tôi sẽ kết thúc bằng cách đặc biệt chú ý đến các nhà phát triển trong các nhóm nhỏ hơn, tương đối độc lập trong các công ty lớn hơn. Phong trào "bạn xây dựng nó, bạn chạy nó" có thể sẽ là động lực để tăng cường áp dụng PaaS. Trên thực tế, nó đã trở thành “bạn xây dựng nó, bạn chạy nó, bạn bảo mật nó.” Khi các nhóm nhà phát triển trở nên có trách nhiệm hơn đối với cơ sở hạ tầng của họ, họ sẽ chịu trách nhiệm về DevOps của riêng mình. Họ chỉ có thể quản lý được rất nhiều thứ, vì vậy PaaS sẽ không chỉ hấp dẫn. PaaS sẽ trở thành một điều cần thiết.


Mọi người có thể giảm giá trên PaaS ngày hôm nay, nhưng sẽ đến ngày các nhóm này yêu cầu một đối thủ Heroku cấp doanh nghiệp thực sự. Một nền tảng sẽ bắt kịp con đường đó và nó sẽ bắt kịp tốc độ nhanh hơn Heroku đã từng làm.


Vào năm 2023, Aptible sẽ cho thấy rằng nó chính là nền tảng đó.