OpenShift-Tong-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 phát triển bởi Red Hat. Đây là một nền tảng phát triển mã nguồn mở, cho phép các nhà phát triển phát triển và triển khai các ứng dụng của họ trên cơ sở hạ tầng đám mây. Nó rất hữu ích trong việc phát triển các dịch vụ hỗ trợ đám mây. Hướng dẫn này sẽ giúp bạn hiểu OpenShift và cách nó có thể được sử dụng trong cơ sở hạ tầng hiện có. Tất cả các ví dụ và đoạn mã được sử dụng trong hướng dẫn này đều là mã thử nghiệm và đang hoạt động, có thể được sử dụng đơn giản trong bất kỳ thiết lập OpenShift nào bằng cách thay đổi các tên và biến được xác định hiện tại.

Hướng dẫn này đã được chuẩn bị cho những ai muốn hiểu các tính năng và chức năng của OpenShift cũng như tìm hiểu cách nó có thể trợ giúp trong việc xây dựng các dịch vụ và ứng dụng hỗ trợ đám mây.

Sau khi hoàn thành hướng dẫn này, người đọc sẽ hiểu được ở mức độ vừa phải về OpenShift và khối xây dựng chính của nó. Nó cũng sẽ đưa ra một ý tưởng hợp lý về cách cấu hình OpenShift trong một cơ sở hạ tầng được cấu hình sẵn và sử dụng nó.

Người đọc muốn hiểu và học OpenShift nên có kiến ​​thức cơ bản về Docker và Kubernetes. Người đọc cũng cần có một số hiểu biết về quản trị hệ thống, cơ sở hạ tầng và giao tiếp giao thức mạng.

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 như là 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ỷ trước 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 cho đến ảo hóa mức 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

OpenShift-Tong-quan

Các loại ảo hóa

  • Ảo hóa ứng dụng – Trong phương pháp này, ứng dụng được trừu tượng hóa từ hệ điều hành cơ bản. 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 bị phụ thuộc vào hệ điều hành bên dưới.
  • Ảo hóa máy tính để bàn – 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.
  • Ảo hóa dữ liệu – Đây 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.
  • Ảo hóa máy chủ – 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.
  • Ảo hóa bộ nhớ – 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.
  • Ảo hóa mạng – Đâ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 kênh đều độ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. OpenShift về cơ bản 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à nhiều đối thủ khác.

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ì hệ điều hành và gói 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ý dịch vụ và bắt đầu sử dụng. 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ể đáp ứng tất cả các 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ụ sẽ 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ụ.

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

Đồng – 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

OpenShift – Các loại

OpenShift ra đời từ cơ sở có tên OpenShift V2, chủ yếu dựa trên khái niệm bánh răng và hộp mực, trong đó mỗi thành phần đều có các thông số kỹ thuật bắt đầu từ khi tạo máy cho đến khi triển khai ứng dụng, ngay từ khi xây dựng đến triển khai ứng dụng.

Cartridges – Chúng là tâm điểm của việc xây dựng một ứng dụng mới bắt đầu từ loại ứng dụng mà môi trường yêu cầu để chạy chúng và tất cả các phụ thuộc được thỏa mãn trong phần này.

Gear – Nó có thể được định nghĩa là máy hoặc máy chủ bằng kim loại chịu lực với các thông số kỹ thuật nhất định liên quan đến tài nguyên, bộ nhớ và CPU. Chúng được coi là một đơn vị cơ bản để chạy một ứng dụng.

Ứng dụng – Đây chỉ đơn giản là đề cập đến ứng dụng hoặc bất kỳ ứng dụng tích hợp nào sẽ được triển khai và chạy trên môi trường OpenShift.

Khi đi sâu hơn vào phần này, chúng ta sẽ thảo luận về các định dạng và dịch vụ khác nhau của OpenShift. Trong những ngày trước đó, OpenShift có ba phiên bản chính.

OpenShift Origin – Đây là phần bổ sung cộng đồng hoặc phiên bản nguồn mở của OpenShift. Nó còn được gọi là dự án ngược dòng cho hai phiên bản khác.

OpenShift Online – Đây là một PaaS công khai như một dịch vụ được lưu trữ trên AWS.

OpenShift Enterprise – là phiên bản cứng của OpenShift với ISV và giấy phép của nhà cung cấp.

OpenShift trực tuyến

OpenShift trực tuyến là một sản phẩm của cộng đồng OpenShift sử dụng cộng đồng này có thể nhanh chóng xây dựng, triển khai và mở rộng quy mô các ứng dụng được container hóa trên đám mây công cộng. Đây là nền tảng lưu trữ và phát triển ứng dụng đám mây công cộng của Red Hat, cho phép cung cấp, quản lý và mở rộng ứng dụng tự động, giúp nhà phát triển tập trung vào việc viết logic ứng dụng.

Thiết lập tài khoản trên Red Hat OpenShift Online

Bước 1 – Truy cập trình duyệt và truy cập trang web https://manage.openshift.com/

OpenShift-Tong-quan

Bước 2 – Nếu bạn có tài khoản Red Hat, hãy đăng nhập vào tài khoản OpenShift bằng ID và mật khẩu đăng nhập Red Hat bằng URL sau. https://developers.redhat.com

OpenShift-Tong-quan

Bước 3 – Nếu bạn chưa đăng nhập tài khoản Red Hat, hãy đăng ký dịch vụ trực tuyến OpenShift bằng liên kết sau. : https://developers.redhat.com/

Sau khi đăng nhập, bạn sẽ thấy trang sau.

Khi bạn đã có tất cả mọi thứ, Red Hat sẽ hiển thị một số chi tiết tài khoản cơ bản như được hiển thị trong ảnh chụp màn hình sau.

Cuối cùng, khi bạn đã đăng nhập, bạn sẽ thấy trang sau.

Nền tảng thùng chứa OpenShift

Nền tảng container OpenShift là một nền tảng doanh nghiệp giúp nhiều nhóm như nhóm phát triển và hoạt động CNTT xây dựng và triển khai cơ sở hạ tầng container. Tất cả các vùng chứa được xây dựng trong OpenShift sử dụng công nghệ chứa Docker rất đáng tin cậy, có thể được triển khai trên bất kỳ trung tâm dữ liệu nào của các nền tảng đám mây được lưu trữ công khai.

Nền tảng thùng chứa OpenShift chính thức được gọi là OpenShift Enterprises. Đây là một nền tảng riêng tư tại chỗ của Red Hat dưới dạng dịch vụ, được xây dựng dựa trên khái niệm cốt lõi về các vùng chứa ứng dụng được cung cấp bởi Docker, nơi mà Kubernetes quản lý và điều phối.

Nói cách khác, OpenShift mang Docker và Kubernetes lại với nhau ở cấp độ doanh nghiệp. Nó là một phần mềm nền tảng vùng chứa cho các đơn vị doanh nghiệp để triển khai và quản lý các ứng viên trong một cơ sở hạ tầng do chính bạn lựa chọn. Ví dụ: lưu trữ các phiên bản OpenShift trên các phiên bản AWS.

Nền tảng thùng chứa OpenShift có sẵn ở hai cấp độ gói .

OpenShift Container Local – Phần mềm này dành cho những nhà phát triển muốn triển khai và thử nghiệm các ứng dụng trên máy cục bộ. Gói này chủ yếu được sử dụng bởi các nhóm phát triển để phát triển và thử nghiệm ứng dụng.

OpenShift Container Lab – Phòng thí nghiệm này được thiết kế để đánh giá mở rộng ứng dụng bắt đầu từ quá trình phát triển cho đến khi triển khai đến môi trường tiền sản xuất.

OpenShift-Tong-quan

OpenShift Dedicated

Đây là một ưu đãi khác được thêm vào danh mục của OpenShift, trong đó khách hàng có thể lựa chọn lưu trữ một nền tảng được container hóa trên bất kỳ đám mây công cộng nào mà họ lựa chọn. Điều này mang lại cho người dùng cuối cảm giác thực sự về cung cấp đa đám mây, nơi họ có thể sử dụng OpenShift trên bất kỳ đám mây nào đáp ứng nhu cầu của họ.

Đây là một trong những ưu đãi mới nhất của Red Hat, nơi người dùng cuối có thể sử dụng OpenShift để xây dựng triển khai thử nghiệm và chạy ứng dụng của họ trên OpenShift được lưu trữ trên đám mây.

Các tính năng của OpenShift Dedicated

OpenShift dành riêng cung cấp nền tảng ứng dụng giải pháp tùy chỉnh trên đám mây công cộng và nó được kế thừa từ công nghệ OpenShift 3.

  • Có thể mở rộng và mở – Điều này được xây dựng dựa trên khái niệm mở của Docker và được triển khai trên đám mây vì nó có thể tự sử dụng khi và khi được yêu cầu.
  • Tính di động – Vì nó được xây dựng bằng Docker, các ứng dụng chạy trên Docker có thể dễ dàng được vận chuyển từ nơi này đến nơi khác, nơi Docker được hỗ trợ.
  • Điều phối – Với OpenShift 3, một trong những tính năng chính của điều phối vùng chứa và quản lý cụm được hỗ trợ bằng cách sử dụng Kubernetes được cung cấp cùng với OpenShift phiên bản 3.
  • Tự động hóa – Phiên bản OpenShift này được kích hoạt với tính năng quản lý mã nguồn, tự động hóa xây dựng và tự động hóa triển khai, điều này làm cho nó rất phổ biến trên thị trường với tư cách là một nền tảng như một nhà cung cấp dịch vụ.

Đối thủ của OpenShift

Google App Engine – Đây là nền tảng miễn phí của Google để phát triển và lưu trữ các ứng dụng web. Công cụ ứng dụng của Google cung cấp nền tảng triển khai và phát triển nhanh chóng.

Microsoft Azure – Đám mây Azure được Microsoft lưu trữ trên các trung tâm dữ liệu của họ.

Amazon Elastic Cloud Compute – Chúng là các dịch vụ tích hợp do Amazon cung cấp, giúp phát triển và lưu trữ các ứng dụng web có thể mở rộng trên đám mây.

Cloud Foundry – là một nền tảng PaaS mã nguồn mở cho các ứng dụng Java, Ruby, Python và Node.js.

CloudStack – CloudStack của Apache là một dự án được phát triển bởi Citrix và được thiết kế để trở thành đối thủ cạnh tranh trực tiếp của OpenShift và OpenStack.

OpenStack – Một công nghệ đám mây khác do Red Hat cung cấp cho điện toán đám mây.

Kubernetes – Đây là một công nghệ quản lý cụm và điều phối trực tiếp được xây dựng để quản lý vùng chứa Docker.

OpenShift – Kiến trúc (xem thêm)

Trả lời