17/09/2018, 16:09

Cloud computing và Platform as a Services(PaaS) – Phần 1

Trong môi trường phát triển phần mềm truyền thống, việc lập trình ra một ứng dụng thường phải qua nhiêu công đoạn như: thiết kế, testing, debug, và maintain ứng dụng, sử dụng các ngôn ngữ lập trình như C/C++, java, python… Quy trình phát triển này yêu cầu người có kinh nghiệm, trình độ như ...

Trong môi trường phát triển phần mềm truyền thống, việc lập trình ra một ứng dụng thường phải qua nhiêu công đoạn như: thiết kế, testing, debug, và maintain ứng dụng, sử dụng các ngôn ngữ lập trình như C/C++, java, python… Quy trình phát triển này yêu cầu người có kinh nghiệm, trình độ như phải hiểu biết về miền ứng dụng, môi trường chạy dịch vụ, thuật toán, ngôn ngữ lập trình…

Cloud computing và Platform as a Services(PaaS) - Phần 1

Hình 1 – Chu trình phát triển phần mềm

Thêm vào đó việc phát triển các ứng dụng là rất phức tạp, tiêu tốn thời gian, tiền bạc cho các công đoạn. Ứng dụng phải yêu cầu về tài nguyên phần cứng, hệ điều hành, database, middleware, web server, và nhiều thành phần khác. Dẫn đến việc phân công con người phát triển ứng dụng trở lên phức tạp hơn. Ví như, phải có team phát triển nền tảng công nghệ .NET, JAVA, một team khác thì quản lý hạ tầng mạng, database, IT, mã nguồn ứng dụng.

Chắc hẳn, yêu cầu kinh doanh sẽ yêu cầu thay đổi trong ứng dụng, tạo thành một vòng tròn phát triển phần mềm. Hơn nữa, một tổ chức lớn thông thường có phòng server, trung tâm dữ liệu và các nhóm để duy trì chúng. Một lượng lớn về điện năng tiêu thụ cho server cũng như để làm mát nó.

Lập trình ứng dụng hiện đại và những thách thức

Lập trình hiện đại đã thay đổi theo nhiều cách khác nhau do sự bùng nổ của các thiết bị phần cứng. Mở rộng dữ liệu và kinh doanh mới yêu cầu phải có cách tiếp cận khác so với cách tiếp cận truyền thống. Tuy nhiên, cả 2 cách tiếp cận này phải đảm bảo rằng: ứng dụng phải thoải mãn một số tiêu chí cơ bản như: tính tự động, tin cậy, hiệu năng, tính sẵn sàng. Thật không may, ngay cả trong thời hiện đại, tự động xây dựng và thử nghiệm môi trường không tồn tại trong nhiều tổ chức, và thực hành tốt nhất không áp dụng ở khắp mọi nơi trong vòng đời phát triển phần mềm.

Nó là quan trọng để hiểu rằng độ tin cậy của một ứng dụng tùy thuộc vào sự chính xác của thuật toán, chương trình ít lỗi, thói quen thực hiện bảo mật và tránh các lỗi logic. Làm thế nào phát triển ứng dụng tốt và đội IT quản lý mạnh mẽ chứa ý nghĩa hơn trong việc đạt được mục tiêu của ứng dụng. Hiệu quả, hiệu năng, bảo trì, di động và tính sẵn sàng của ứng dụng cũng quan trọng như nhau trong môi trường hiện đại.

Điện toán đám mây là một cách tiếp cận cách mạng, nó được hi vọng là sẽ cung cấp cho các tổ chức cách mà tổ chức xử lý những thay đổi trên.

Giới thiệu PaaS

Điện toán đám mây vẫn đang phát triển, nhưng nó đã có những tiến bộ đáng kể trong vài năm trở lại đây. Theo định nghĩa từ NIST, điện toán đám mây là mô hình tiện lợi và đòi hỏi truy cập mạng để chia sẻ kho tài nguyên như compute, storage, network mà có thể được cung nhanh chóng và phát hành với nỗ lực quản lý tối thiểu.

Cloud computing và Platform as a Services(PaaS) - Phần 1

Hình 2 – Định nghĩa của NIST

Các nhà cung cấp PaaS quản lý hạ tầng tài nguyên cơ bản, như hệ điệu hành, server ảo, mạng, web server, ứng dụng server, cơ sở dữ liệu, backup và phục hồi thảm họa.

Cloud computing đưa ra 3 mô hình dịch vụ:

  • Software as a Service(SaaS)
  • Platform as a Service(PaaS)
  • Infrastructure as a Service(IaaS)

Với PaaS, bạn có thể dựng ứng dụng vào trong cơ sở hạ tầng cloud sử dụng hỗ trợ nhiều ngôn ngữ lập trình( Java, PHP, Ruby, .NET) và Platform/Tool(Web server, Application server, database). Điều này giúp người sử dụng/ tổ chức có thể tập trung vào việc kinh doanh của họ. Bảo trì ứng dụng thay vì việc lo lắng quản lý tài nguyên, Platform, version.

PaaS cư trú bên trong không gian giữa IaaS và SaaS. IaaS cung cấp khả năng sử lý network, storage, compute(ví dụ như Amazon EC2, Window azure VM Role, RackSpace cloud server). SaaS cung cấp khả năng phân phối ứng dụng kinh doanh như CRM.

Cloud computing và Platform as a Services(PaaS) - Phần 1

Hình 3 – PaaS

PaaS includes not only the deployment environment, but it also includes repositories, build environments, testing environments, performance management, mail services, log services, database services, big data services, search services, enterprise messaging services and application performance management for modern application architectures and code inspection services.

PaaS đang bắt đầu phổ biến, nó giúp loại bỏ các chi phí và độ phức tạp của việc mua lại, cài đặt, cấu hình, đánh giá, thử nghiệm và quản lý tất cả các phần cứng và phần mềm nguồn lực cần thiết để chạy các ứng dụng kinh doanh. PaaS cung cấp cơ sở hạ tầng và nền tảng cần thiết để phát triển và chạy ứng dụng. Bằng việc sử dụng PaaS, tổ chức có thể sử dụng ngân sách để phát triển các ứng dụng cung cấp giá trị doanh nghiệp thực sự.

Ưu điểm của PaaS

  •  Giá cả
  • Cung cấp tiện lợi, thời gian phát triển ứng dụng nhanh.
  • Tập trung trên ứng dụng mà không quan tâm việc quản lý mã nguồn.
  • Truy cập từ bất kỳ đâu trên thế giới.
  • Tăng sự hài lòng của khách hàng.

Cloud computing và Platform as a Services(PaaS) - Phần 1
Hình 4 – Ưu điểm của PaaS

Nguồn: toanoshin WordPress

0