2015-06-13 42 views
45

Tôi là nhà phát triển Java. Chúng tôi sử dụng Weblogic để lưu trữ các ứng dụng của mình. Tôi đã được yêu cầu xem xét thay thế weblogic bằng một giải pháp thay thế mã nguồn mở. Chúng tôi đang có kế hoạch sử dụng với SpringBoot. Chúng tôi cũng đang xem xét Docker/Cloud Foundry. Tuy nhiên Docker/Cloud Foundry là lãnh thổ mới cho tôi.Sự khác nhau giữa Cloud Foundry và Docker là gì?

  1. Ai đó có thể cho tôi biết sự khác biệt giữa Cloud Foundry và Docker?
  2. Nếu chúng tôi sử dụng Docker nhưng không sử dụng Cloud foundry, chúng tôi sẽ bỏ lỡ điều gì?
  3. Nếu chúng tôi sử dụng Cloud Foundry chứ không phải Docker, chúng tôi sẽ bỏ lỡ điều gì?

Cảm ơn sự giúp đỡ của bạn.

+0

Sẽ chính xác hơn để so sánh Docker với [Warden] (https: // github .com/cloudfoundry/warden) (được sử dụng dưới mui xe của CF). –

+0

http://heidloff.net/nh/home.nsf/article.xsp?id=20.02.2015092308NHEBUJ.htm – satks

+1

Bạn không thể so sánh một PaaS (Nền tảng như một dịch vụ) với một technogloy Container. Một công nghệ container chỉ là một phần rất nhỏ của Cloud Foundry. –

Trả lời

105

Trình cắm là công nghệ để tạo và chạy Linux "vùng chứa". Trong một số ý nghĩa, bạn có thể coi chúng như những máy ảo nhẹ. Một container docker cho ứng dụng SpringBoot sẽ bao gồm một hình ảnh docker, về cơ bản sẽ chứa một hệ thống tập tin với tất cả những thứ cần thiết để chạy ứng dụng của bạn (JVM, mã nguồn của bạn, v.v.) và siêu dữ liệu container docker. để chạy ứng dụng bên trong hình ảnh (ví dụ: biến môi trường nào được đặt, cổng nào cần hiển thị, lệnh nào để chạy, v.v.). Docker daemon sẽ sử dụng các tính năng Linux như cgroups và các vùng tên hạt nhân để chạy thùng chứa một cách riêng biệt với các tiến trình khác đang chạy trên máy chủ. Docker là hơi cấp thấp, trong đó bạn cần phải xác định tất cả mọi thứ mà đi vào hình ảnh, và nó chạy những điều tùy ý, cụ thể là bất cứ điều gì bạn đưa vào hình ảnh của bạn và nói với nó để chạy. Thùng chứa docker mà bạn nhận được rất dễ sử dụng, vì vậy bạn có thể xây dựng, kiểm tra và chạy vùng chứa docker của bạn để phát triển, và sau đó gửi container đó tới một máy chủ sản xuất cũng có một trình nền tảng docker chạy trên đó, và khá tự tin bạn đang nhận được chính xác điều tương tự.

Cloud Foundry hoạt động ở lớp trừu tượng cao hơn, với các ứng dụng là khái niệm hạng nhất. Cloud Foundry sử dụng công nghệ đóng gói tương tự như docker để xây dựng hình ảnh di động và sau đó chạy chúng, nhưng đó là một chi tiết triển khai và bạn không cần phải chỉ định tất cả các chi tiết. Trong các phiên bản mới hơn của Cloud Foundry, hình ảnh docker cũng sẽ được hỗ trợ để bạn có thể chỉ định chi tiết nếu muốn, nhưng nó cũng có luồng công việc "buildpack", nơi nó sẽ tự động phát hiện ứng dụng Java khi bạn đẩy ứng dụng của bạn và sẽ biết bao gồm tất cả những thứ cần thiết cho thời gian chạy Java khi nó xây dựng hình ảnh.

Với Cloud Foundry, vì ứng dụng và quản lý ứng dụng là các khái niệm lớp học đầu tiên và vì nó hoạt động ở cấp độ cao hơn, bạn sẽ có được tất cả mọi thứ miễn phí. Ví dụ: bạn có thể dễ dàng chia tỷ lệ ứng dụng của mình theo chiều ngang (ví dụ: thêm phiên bản), ví dụ: cf scale my_app -i 5 hoặc theo chiều dọc, cf scale my_app -m 2G (để đặt bộ nhớ được phân bổ cho từng trường hợp). Bạn nhận nhật ký ứng dụng phát trực tuyến: cf logs my_app. Cloud Foundry cung cấp cho bạn rất nhiều khả năng chịu lỗi miễn phí, vì vậy nếu một trong các trường hợp ứng dụng của bạn gặp sự cố hoặc quá trình chạy các thùng chứa ứng dụng sẽ bị treo (điều tương tự với trình gỡ rối docker) hoặc nếu máy chủ lưu trữ đang chạy vùng chứa -quá trình chết tuyệt vời, hoặc cụm phần cứng nơi VM nằm chết, Cloud Foundry sẽ tự động đưa các phiên bản của bạn trở lại.

Daemon docker là một quá trình duy nhất bạn có thể chạy trên bất kỳ máy Linux nào. Vì vậy, nếu bạn đang làm một cái gì đó nhỏ và đơn giản, và bạn cần phải làm hầu hết các thiết lập chính mình, nó có thể được dễ dàng hơn để có được và chạy cả hai địa phương và trong phát triển bằng cách sử dụng docker. Với docker, bạn cũng dễ dàng truy cập và chia sẻ hình ảnh docker mà bạn tạo, vì vậy khi bạn đã tạo một hình ảnh, bạn có thể đặt nó trong một kho lưu trữ docker, và sau đó bạn có thể chạy nó trên bất kỳ trình nền nào khác. Với Cloud Foundry, hình ảnh được xây dựng thường là một chi tiết triển khai và bạn không thực sự có quyền truy cập vào nó, ví dụ như bạn không thể trích xuất hình ảnh đó và chạy nó trên một cài đặt Cloud Foundry khác.

Có nhiều dự án ra có ý định làm đám mây Foundry dễ tiếp cận hơn và dễ dàng hơn để thiết lập, trong khi vẫn đem lại cho bạn nhiều lợi ích của một PaaS. Một số dự án này cũng nhằm mục đích cho phép bạn kết hợp sử dụng docker và những lợi ích của docker trong khi cũng nhận được rất nhiều lợi ích PaaS bạn nhận được từ Cloud Foundry.

Xem LatticeCloud Foundry on BOSH-Lite.

Ngoài ra còn có một số dịch vụ đám mây Foundry lưu trữ.

Xem Pivotal Web ServicesIBM BlueMix

Ngoài ra còn có rất nhiều các dự án phi CF nhằm đặt một lớp nền tảng xung quanh công nghệ Docker lõi, trong cả hai giống chạy-bạn-của riêng và tổ chức dịch vụ.

Xem Google's Kubernetes projectAmazon Container Service

Họ và tiết lộ: Tôi là một kỹ sư phần mềm làm việc trên đám mây Foundry tại Pivotal

+0

Cloud Foundry có hỗ trợ nhiều vùng chứa Docker không? và nó có hỗ trợ nhiều hơn một cổng không? Chúng tôi muốn cài đặt chồng ELK và chúng tôi cần ba cổng. – powder366

+0

Các cổng cho lưu lượng truy cập đến từ Internet hoặc cho giao tiếp vùng chứa đến container? Nếu sau này, sau đó bạn sẽ có thể làm điều này. Bạn có thể xem như thế nào tôi đã triển khai Spark trên một thể hiện của Cloud Foundry Application Service [ở đây] (https://gist.github.com/Amit-PivotalLabs/7c86c92aae3123ac809e81795a41acfa#deploy-the-spark-cluster), trong đó bao gồm đẩy nhiều hình ảnh Docker và cho phép họ nói chuyện với nhau qua hàng trăm cổng (vì đó là cách Spark hoạt động rõ ràng). –

+0

Lưu lượng truy cập đến từ internet, tức là sử dụng giao diện Kibana và Elasticsearch WEB bình thường để đặt tên cho hai. Ngoài ra tại sao các container không duy trì trạng thái? Chúng tôi có dữ liệu mà chúng tôi muốn giữ trong các thùng chứa khi khởi động lại. – powder366

Các vấn đề liên quan