OpenShift - Tổng quan

OpenShift là một Nền tảng phát triển đám mây dưới dạng Dịch vụ (PaaS) được lưu trữ bởi Red Hat. Đó là một nền tảng thân thiện với người dùng dựa trên đám mây mã nguồn mở được sử dụng để tạo, thử nghiệm và chạy các ứng dụng và cuối cùng là triển khai chúng trên đám mây.

OpenShift có khả năng quản lý các ứng dụng được viết bằng các ngôn ngữ khác nhau, chẳng hạn như Node.js, Ruby, Python, Perl và Java. Một trong những tính năng chính của OpenShift là nó có thể mở rộng, giúp người dùng hỗ trợ ứng dụng được viết bằng các ngôn ngữ khác.

OpenShift đi kèm với các khái niệm ảo hóa khác nhau dưới dạng lớp trừu tượng của nó. Khái niệm cơ bản đằng sau OpenShift dựa trên ảo hóa.

Ảo hóa

Nói chung, ảo hóa có thể được định nghĩa là việc tạo ra một hệ thống ảo chứ không phải là phiên bản vật lý hoặc thực tế của bất kỳ thứ gì bắt đầu từ hệ thống, bộ nhớ hoặc hệ điều hành. Mục tiêu chính của ảo hóa là làm cho cơ sở hạ tầng CNTT có khả năng mở rộng và đáng tin cậy hơn. Khái niệm ảo hóa đã có từ nhiều thập kỷ và với sự phát triển của ngành CNTT ngày nay, nó có thể được áp dụng cho nhiều tầng khác nhau, bắt đầu từ mức hệ thống, mức phần cứng, đến mức ảo hóa máy chủ.

Làm thế nào nó hoạt động

Nó có thể được mô tả như một công nghệ trong đó bất kỳ ứng dụng hoặc hệ điều hành nào được trừu tượng hóa từ lớp vật lý thực tế của nó. Một công dụng chính của công nghệ ảo hóa là ảo hóa máy chủ, sử dụng một phần mềm gọi là hypervisor để trừu tượng hóa lớp khỏi phần cứng bên dưới. Hiệu suất của hệ điều hành chạy trên nền ảo hóa cũng tốt như khi nó đang chạy trên phần cứng vật lý. Tuy nhiên, khái niệm ảo hóa phổ biến vì hầu hết hệ thống và ứng dụng đang chạy không yêu cầu sử dụng phần cứng bên dưới.

Kiến trúc vật lý và ảo

Các loại ảo hóa

  • Application Virtualization- Trong phương pháp này, ứng dụng được trừu tượng hóa từ hệ điều hành bên dưới. Phương pháp này rất hữu ích trong đó ứng dụng có thể được chạy một cách riêng biệt mà không phụ thuộc vào hệ điều hành bên dưới.

  • Desktop Virtualization- Phương pháp này được sử dụng để giảm tải máy trạm trong đó người ta có thể truy cập máy tính để bàn từ xa, sử dụng một máy khách mỏng tại bàn làm việc. Trong phương pháp này, các máy tính để bàn chủ yếu được chạy trong một trung tâm dữ liệu. Một ví dụ cổ điển có thể là Hình ảnh máy tính để bàn ảo (VDI) được sử dụng trong hầu hết các tổ chức.

  • Data Virtualization - Là một phương pháp trừu tượng hóa và tách khỏi phương pháp quản lý dữ liệu và dữ liệu truyền thống.

  • Server Virtualization- Trong phương pháp này, các tài nguyên liên quan đến máy chủ được ảo hóa bao gồm máy chủ vật lý, quy trình và hệ điều hành. Phần mềm cho phép trừu tượng hóa này thường được gọi là hypervisor.

  • Storage Virtualization - Đây là quá trình gộp nhiều thiết bị lưu trữ vào một thiết bị lưu trữ duy nhất được quản lý từ một bảng điều khiển trung tâm duy nhất.

  • Network Virtualization - Đây là phương pháp trong đó tất cả các tài nguyên mạng có sẵn được kết hợp bằng cách chia nhỏ băng thông và kênh khả dụng, mỗi tài nguyên này độc lập với nhau.

OpenShift

OpenShift là một nền tảng ứng dụng hỗ trợ đám mây như một dịch vụ (PaaS). Đó là một công nghệ mã nguồn mở giúp các tổ chức di chuyển cơ sở hạ tầng và nền tảng ứng dụng truyền thống của họ từ các phương tiện vật lý, ảo sang đám mây.

OpenShift hỗ trợ rất nhiều ứng dụng khác nhau, có thể dễ dàng phát triển và triển khai trên nền tảng đám mây OpenShift. Về cơ bản OpenShift hỗ trợ ba loại nền tảng cho các nhà phát triển và người dùng.

Cơ sở hạ tầng như một dịch vụ (IaaS)

Ở định dạng này, nhà cung cấp dịch vụ cung cấp các máy ảo cấp phần cứng với một số cấu hình phần cứng ảo được xác định trước. Có nhiều đối thủ cạnh tranh trong không gian này, bắt đầu từ đám mây AWS Google, Rackspace, v.v.

Hạn chế chính của việc có IaaS sau một quá trình thiết lập và đầu tư lâu dài là người ta vẫn phải chịu trách nhiệm cài đặt và bảo trì gói hệ điều hành và máy chủ, quản lý mạng cơ sở hạ tầng và quản trị hệ thống cơ bản.

Phần mềm như một dịch vụ (SaaS)

Với SaaS, người ta ít phải lo lắng nhất về cơ sở hạ tầng bên dưới. Nó đơn giản như plug and play, trong đó người dùng chỉ cần đăng ký các dịch vụ và bắt đầu sử dụng nó. Hạn chế chính của thiết lập này là, người ta chỉ có thể thực hiện số lượng tùy chỉnh tối thiểu được nhà cung cấp dịch vụ cho phép. Một trong những ví dụ phổ biến nhất của SaaS là ​​Gmail, nơi người dùng chỉ cần đăng nhập và bắt đầu sử dụng nó. Người dùng cũng có thể thực hiện một số sửa đổi nhỏ đối với tài khoản của mình. Tuy nhiên, nó không hữu ích lắm theo quan điểm của nhà phát triển.

Nền tảng như một dịch vụ (PaaS)

Có thể coi đây là lớp trung gian giữa SaaS và IaaS. Mục tiêu chính của đánh giá PaaS là ​​dành cho các nhà phát triển trong đó môi trường phát triển có thể được tạo ra với một vài lệnh. Các môi trường này được thiết kế theo cách mà chúng có thể thỏa mãn mọi nhu cầu phát triển, ngay từ khi có một máy chủ ứng dụng web với cơ sở dữ liệu. Để làm điều này, bạn chỉ cần một lệnh duy nhất và nhà cung cấp dịch vụ thực hiện công việc cho bạn.

Tại sao sử dụng OpenShift?

OpenShift cung cấp một nền tảng chung cho các đơn vị doanh nghiệp lưu trữ các ứng dụng của họ trên đám mây mà không cần lo lắng về hệ điều hành bên dưới. Điều này giúp bạn dễ dàng sử dụng, phát triển và triển khai các ứng dụng trên đám mây. Một trong những tính năng chính là, nó cung cấp phần cứng được quản lý và tài nguyên mạng cho tất cả các loại phát triển và thử nghiệm. Với OpenShift, nhà phát triển PaaS có quyền tự do thiết kế môi trường yêu cầu của họ với các thông số kỹ thuật.

OpenShift cung cấp các loại thỏa thuận mức dịch vụ khác nhau khi nói đến các gói dịch vụ.

Free - Gói này được giới hạn trong ba năm với dung lượng 1GB cho mỗi gói.

Bronze - Gói này bao gồm 3 năm và mở rộng lên đến 16 năm với dung lượng 1GB mỗi năm.

Sliver - Đây là gói đồng 16 năm, tuy nhiên, có dung lượng lưu trữ 6GB mà không tính thêm phí.

Ngoài các tính năng trên, OpenShift cũng cung cấp phiên bản tại chỗ được gọi là OpenShift Enterprise. Trong OpenShift, các nhà phát triển có đòn bẩy để thiết kế các ứng dụng có thể mở rộng và không thể mở rộng và những thiết kế này được thực hiện bằng cách sử dụng máy chủ HAproxy.

Đặc trưng

Có nhiều tính năng được hỗ trợ bởi OpenShift. Một số ít trong số họ -

  • Hỗ trợ nhiều ngôn ngữ
  • Hỗ trợ nhiều cơ sở dữ liệu
  • Hệ thống hộp mực mở rộng
  • Quản lý phiên bản mã nguồn
  • Triển khai một cú nhấp chuột
  • Hỗ trợ đa môi trường
  • Quy trình làm việc của Nhà phát triển được chuẩn hóa
  • Quản lý phụ thuộc và xây dựng
  • Mở rộng ứng dụng tự động
  • Bảng điều khiển web đáp ứng
  • Bộ công cụ dòng lệnh phong phú
  • Đăng nhập SSH từ xa vào ứng dụng
  • Hỗ trợ API còn lại
  • Ngăn xếp ứng dụng tự phục vụ theo yêu cầu
  • Dịch vụ cơ sở dữ liệu tích hợp
  • Quản lý tích hợp và phát hành liên tục
  • Tích hợp IDE
  • Gỡ lỗi ứng dụng từ xa