‫Bây giờ bạn vẫn có thể tự hỏi ngay cả sau khi tìm hiểu một số
‫tính năng chính của Docker, tại sao Docker cần tồn tại?
‫Rõ ràng, chúng tôi đã đóng gói phần mềm trong nhiều thập kỷ với rất nhiều trình quản lý
‫gói khác triển khai phần mềm đến máy chủ.
‫Vì vậy, chúng ta hãy nói về nó.
‫Video này sẽ tập trung vào.
‫Ba điều xung quanh.
‫Tại sao Docker và tại sao bây giờ?
‫Và tại thời điểm đó ‫tạo ra, có ma sát.
‫Có những thứ cản trở chúng ta đi lên cấp độ tiếp theo về tốc độ và tính dễ sử dụng của vòng đời phần mềm, đặc
‫biệt là xung quanh việc đóng gói, phân phối và chạy tất cả
‫phần mềm mà chúng tôi đang làm.
‫Và tôi thích danh sách ba người, tôi đoán vậy.
‫Vì vậy, danh sách cô lập chính này, môi trường và tốc độ, ba lĩnh vực đó
‫là những gì tôi muốn nói về ba lý do tổng thể.
‫Tôi cảm thấy như chính các thùng chứa đã có ‫tồn tại và tại sao chúng rất phổ biến ngày nay.
‫trước hết là vấn đề cô lập.
‫Và nếu chúng ta quay trở lại ban đầu trong sự nghiệp của tôi, trở lại
‫những năm 90, Chúng ta có thể bắt đầu nói về những máy chủ nào đã từng có trước khi chúng ta có các thùng chứa.
‫Nếu chúng ta quay trở lại thậm chí còn xa hơn ‫2013, trước khi Docker được tạo ra.
‫Và chúng ta nói về hai nghìn vào những năm chín mươi, khi chúng tôi chuyển
‫từ máy tính lớn sang PC, đây có thể là những gì một quản trị viên điển hình sẽ trông như thế nào.
‫Tôi có một vài máy chủ cho mỗi công ty.
‫Bạn biết đấy, chúng tôi, chúng tôi thực sự sẽ không thể ‫quản lý hàng trăm máy chủ mỗi người.
‫Một lần nữa, điều này giống như, bạn biết đấy, năm 2000.
‫Và vì vậy chúng tôi sẽ có những ‫rất đắt tiền, máy chủ lớn.
‫Đó là hiếm khi tiêu thụ tất cả ‫tài nguyên của họ với một ứng dụng duy nhất.
‫Vì vậy, sau đó bạn sẽ kết thúc với tất cả các ứng dụng này, chỉ tất cả được tập hợp lại với
‫nhau trên cùng một máy chủ.
‫Và máy chủ trở nên giòn.
‫Nó trở nên khó quản lý bởi vì bạn có thể cần thay đổi một thứ cho một ứng dụng và sau đó một
‫ứng dụng khác cần một thứ khác.
‫Và sau đó bạn phải quản lý các phiên bản Python khác nhau hoặc
‫các phiên bản Apache khác nhau của bạn trên các máy chủ, chỉ để cân bằng tất cả.
‫Đồng thời, bạn muốn đặt ngày càng nhiều nội dung trên mỗi
‫máy chủ, nhưng không có gì bị cô lập.
‫Vì vậy, tất cả các ứng dụng này đã ‫chia sẻ cùng một hệ thống tệp.
‫Chúng thường không thể là nhiều các phiên bản của ứng dụng đó mà
‫không có nhiều thao tác hack phức tạp.
‫Và đó là một vấn đề lớn.
‫Sau đó là máy ảo.
‫Vì vậy, một khi máy ảo trở nên thực sự phổ biến, thậm chí trước đám mây, chúng tôi có thể tóm tắt
‫tất cả các ứng dụng của mình và bắt đầu đặt ít ứng dụng hơn trên các máy ảo nhỏ hơn, tất
‫cả đều chạy trên cùng một máy chủ lớn.
‫Vì vậy, nó có thể trông giống như thế này và chúng tôi có
‫thể bắt đầu với Chef hoặc Puppet như một cách nào đó để quản lý tất cả những số lượng máy chủ ngày càng tăng.
‫Trên thực tế, chúng tôi sẽ có rất nhiều máy chủ sau đó vào đầu những năm 2010, trước khi tạo
‫ra Dockers, nó đã trở nên rất khó khăn để quản lý tất cả chúng cùng một lúc, bạn là một quản trị viên
‫duy nhất, có thể cố gắng quản lý hàng chục, nếu không, hàng trăm máy chủ.
‫Ngay cả với đám mây, giúp chúng tôi quay trở lại ‫máy nhanh hơn, xé chúng nhanh hơn.
‫Nó rất nhiều, nó rất nhiều để quản lý, rằng nó đã trở nên quá nhiều đối với rất nhiều người trong chúng
‫ta và đám mây, tôi nghĩ rằng nó đã khiến nó tốt hơn, nhưng cũng tệ hơn vì
‫nó làm cho nó dễ dàng hơn rất nhiều.
‫Vì vậy, làm thế nào Docker có thể giúp với điều đó?
‫Làm thế nào nó có thể giúp chúng tôi giảm số lượng cơ sở hạ tầng cần quản lý
‫đồng thời đảm bảo sự cô lập của khối lượng công việc của chúng tôi để mọi thứ không
‫trở nên khó khăn hoặc khó quản lý?
‫Chà, nếu đây là thiết lập của chúng tôi 20 năm trước đây, thay vì dàn trải tất cả
‫các máy ảo này với số lượng không cần thiết của hệ điều hành, những gì các thùng chứa làm là chúng
‫cung cấp cho chúng ta sự cô lập, giống như một máy ảo.
‫Nó không hoàn toàn giống nhau, nhưng chúng tôi sẽ chỉ lập luận bây giờ rằng đó là một lớp cách ly, nơi họ
‫có được IP của riêng mình địa chỉ, họ có hệ thống tệp của riêng họ, họ
‫có không gian quy trình của riêng họ.
‫Và vì vậy nó có vẻ như gần như đầy đủ VM, nhưng bạn không cần tất cả các hệ điều hành
‫khác nhau để chúng tôi có thể giảm số lượng hệ điều hành của chúng tôi.
‫Số lượng máy chủ vật lý của chúng tôi.
‫Bạn không còn phải sử dụng máy ảo nữa ‫như lớp cách ly.
‫Và thay vào đó nó có thể trông như thế này khi sử dụng
‫SSH, bạn sẽ sử dụng Docker CLI. Hoặc nếu bạn chuyển sang Kubernetes, bạn có thể
‫sử dụng Kubernetes CLI và tất cả các ứng dụng của bạn đều bị cô lập trong các thùng chứa riêng của họ.
‫Điều này mang lại cho bạn nhiều lợi ích, bao gồm chạy nhiều phiên bản của cùng một ứng dụng trên
‫cùng một hệ thống mà không có bất kỳ xung đột nào.
‫Tiếp theo là vấn đề môi trường.
‫Và rõ ràng là chúng tôi đã quay cuồng rất nhiều PMNM, như tôi
‫đã nói, nhưng số lượng các loại khác nhau môi trường cũng đang tăng lên.
‫Bạn đã bao giờ nghe nói về công việc trên máy tính của tôi chưa?
‫Nó đã trở nên nổi tiếng ‫như một trò đùa của Jeff Atwood.
‫Một trong những người sáng lập ra tràn ngăn xếp trong một ‫bài đăng blog nổi tiếng từ cách trở lại trong ngày.
‫Nhưng điều này hoạt động dựa trên ý tưởng máy của tôi hơi khó
‫tính, nhưng trò đùa là đó thường là công việc của nhà phát triển để đảm bảo ứng dụng hoạt động đúng.
‫Nhưng họ không có tất cả các môi trường ‫cần thiết để ứng dụng này chạy trong.
‫Vì vậy, họ chỉ chạy nó trên máy của họ, họ kiểm tra trên máy của họ và sau
‫đó khi nó không hoạt động ở một nơi khác, họ nói rằng điều đó hoạt động trên máy của tôi.
‫Nó thực sự thách thức khi chúng ta có tất cả các hệ điều hành khác nhau này và Docker đã đặt
‫ra điều này, ma trận từ địa ngục, về cơ bản có nghĩa là cho mọi phần của ứng
‫dụng của bạn, ở trên tôi.
‫Và sau đó đối với mọi loại ‫môi trường ở đây về điều này.
‫Bạn có một cấu hình khác.
‫Có thể bạn phải cài đặt ‫phụ thuộc theo một cách khác.
‫Có thể sự phụ thuộc hơi khác nhau bởi vì một cái có một phiên
‫bản khác trong cái kia.
‫Bạn có tất cả các loại môi trường và bạn có thể phải đọc
‫hoặc viết tài liệu về cách ứng dụng mà nhà phát triển sử dụng trên Mac
‫cần được cài đặt khác nhau trên các cửa sổ, cần được cài
‫đặt khác trên một Máy chủ Linux và ngày càng nhiều.
‫Bây giờ là hình ảnh vùng chứa và bản thân vùng chứa đã trở thành một bản tóm
‫tắt cơ bản hoặc một hợp đồng giữa nơi nó đang chạy và những gì đang chạy bên trong nó.
‫Giống như các thùng chứa vật lý trong thế giới thực cho phép
‫chúng tôi gửi hàng đi khắp nơi trên thế giới từ gần một trăm năm trước thiết kế.
‫Mục tiêu ở đó là những người cung cấp các thùng chứa vật lý không cần phải
‫biết những gì bên trong nó.
‫Và những người đặt đồ của họ bên trong thùng chứa không
‫cần phải biết hoặc quan tâm đến thùng chứa như thế nào vật lý đã đến đích của nó.
‫Đó là một phần trừu tượng của bây giờ sử thi tỷ lệ hàng triệu container trên khắp thế giới được vận chuyển và khá nhiều
‫thứ trong ngôi nhà của bạn có thể đã ở trong một cái thùng trong
‫suốt cuộc đời của nó.
‫Điều tương tự cũng đúng với hình ảnh ‫và các vùng chứa Docker ngay bây giờ.
‫Chúng là một định dạng tiêu chuẩn nhất quán ‫bây giờ được gọi là tiêu chuẩn OCI.
‫Điều đó đảm bảo rằng bất cứ nơi nào bạn chạy vùng chứa, nó sẽ được chạy theo cùng
‫một cách nhất quán với cùng một phụ thuộc chính xác mà nó được xây dựng.
‫Tiếp theo là vấn đề về tốc độ.
‫Bây giờ tôi không nhất thiết phải có ý nghĩa ở đây.
‫Tốc độ của CPU hoặc tốc độ của.
‫Những thứ đó cứ tự nhiên mà có nhanh hơn theo thời gian, nhưng tôi thực
‫sự đang nói về tốc độ kinh doanh.
‫Và khi chúng ta nói về CNTT và phần mềm, và vòng đời của phần mềm, chúng ta đang thực sự
‫nói về khả năng dành cho các doanh nghiệp và các tổ chức để thực hiện ý
‫tưởng của họ, để cung cấp các ý tưởng phần mềm của họ cho khách hàng nhanh nhất có thể và đó là một
‫phần của vòng đời phần mềm.
‫Chà, hóa ra ngành đã thay đổi cơ sở hạ tầng và
‫kiến trúc kể từ Bình minh của máy tính vì lý do chính xác này.
‫Tôi đã làm một đồ họa nhỏ đẹp mắt này bởi vì bạn có thể bắt đầu từ đầu trở lại vào
‫những năm chín mươi, nơi tôi có bắt đầu và chúng tôi đã có các máy tính
‫lớn chuyển sang PC theo kiến trúc phân tán.
‫Đó chủ yếu là về tốc độ ‫có thể triển khai thay đổi.
‫Bây giờ bạn đã có thể cài đặt DOS trên một máy duy nhất, mà không cần
‫phải đợi cập nhật máy tính lớn sang bất kỳ phiên bản Unix tiếp theo nào.
‫Chúng tôi không còn có thể di chuyển tất cả cùng một lúc.
‫Chúng tôi cần các phần khác nhau của tổ chức để di chuyển theo các hướng
‫khác nhau với tốc độ khác nhau.
‫Do đó là thời kỳ Bình minh của điện toán phân tán.
‫Sau đó, chúng tôi đi từ kim loại trần, ảo, bởi vì chúng tôi đã quá mệt mỏi với việc chờ đặt hàng phần
‫cứng và chờ đợi nó sẽ được thực hiện trong một trung tâm dữ liệu.
‫Chúng tôi muốn tăng tốc mọi thứ và nhận được ‫sử dụng tốt hơn các nguồn lực của chúng tôi.
‫Ảo hóa và máy ảo đã trở thành ‫cực kỳ phổ biến vì những lý do đó.
‫Sau đó, trung tâm dữ liệu lên đám mây là nơi tiếp theo bởi vì bây giờ chúng tôi
‫cần triển khai các ý tưởng thậm chí còn nhanh hơn phần cứng và trung tâm dữ liệu có thể cho phép.
‫Chúng tôi muốn chạy các máy chủ chúng tôi hiện không có trong vài
‫phút, không phải ngày hoặc tuần.
‫Và đám mây đã cho chúng tôi quyền truy cập ‫gần nguồn tài nguyên tức thì.
‫Rõ ràng, đó là lý do ‫tại sao đám mây ngày nay lại rất lớn.
‫Và cuối cùng, chúng tôi đang ‫chặng tiếp theo của cuộc hành trình đó.
‫Chuyển từ việc mở rộng máy chủ lưu trữ lớn mà chúng tôi đã có, nơi chúng tôi có quá nhiều
‫máy chủ, hạt nhân và hệ điều hành.
‫Và bây giờ chúng ta sẽ có thể giảm số lượng những người đó, bởi vì
‫chúng tôi hiện có thể tách khối lượng công việc bên trong chúng và chạy chúng cùng nhau
‫một cách an toàn trên cùng một nhân.
‫Tôi đang bao gồm serverless ở đây, bởi bởi vì nếu bạn thực sự tìm hiểu về hầu hết các
‫nền tảng không máy chủ, chúng thực sự chỉ đang chạy các thùng chứa trong nền.
‫Nó có thể là một container mà bạn đã vận chuyển như một hình ảnh hoặc nó chỉ có thể là một
‫vùng chứa mà chúng đang chạy chức năng của bạn, nhưng chúng vẫn đang chạy trong một vùng chứa.
‫Và đây là lý do tại sao tôi muốn nói về nhanh hơn, nhanh hơn, nhanh hơn, về cơ bản những gì
‫vùng chứa và Docker cung cấp cho bạn là khả năng phát triển nhanh hơn, xây dựng ứng dụng
‫của bạn nhanh hơn, kiểm tra chúng nhanh hơn và để triển khai chúng đến máy chủ của bạn nhanh hơn.
‫Bây giờ bạn vẫn còn với tôi?
‫Tôi vẫn còn để ý đến bạn chứ?
‫Hãy tóm tắt lại thực sự nhanh chóng.
‫Vậy lý do mà container ‫tồn tại là ba lý do chính.
‫Theo tôi, càng cách ly càng tốt bên trong một hệ điều hành duy nhất, giúp chúng tôi tiết kiệm thời gian và quản lý hệ điều
‫hành và sự phụ thuộc, mà còn mang lại cho chúng tôi sự cách ly mà chúng tôi cần
‫để bảo vệ các ứng dụng của mình.
‫Sau đó, chúng tôi đã giảm ‫phương sai môi trường.
‫Vì vậy, sự khác biệt giữa mỗi ‫môi trường mà nó chạy là rất nhỏ.
‫Một lần nữa, thường chỉ là kết nối của bạn cài đặt cho cơ sở dữ liệu,
‫có thể là một số đường dẫn URL, những thứ tương tự, cổng.
‫Và sau đó phần còn lại chính xác là ‫giống như bạn đã xây dựng và thử nghiệm nó.
‫Và cuối cùng là tăng tốc độ thay đổi, không chỉ cho bản thân phần mềm,
‫mà cho doanh nghiệp muốn triển khai phần mềm đó.
‫Giờ đây, chúng tôi có thể phát triển nhanh hơn, xây dựng nó nhanh hơn, triển khai nó,
‫các máy chủ nhanh hơn và kiểm tra nó nhanh hơn.
‫Tất cả chỉ vì những hình ảnh vùng chứa này và bản thân các vùng chứa rất dễ
‫xây dựng, triển khai và triển khai lại và chạy lại và tất cả những điều đó.
‫Vì vậy, tôi hy vọng điều này có ý nghĩa.
‫Hẹn gặp lại các bạn trong video tiếp theo.