Tôi bắt đầu học DevOps ở đâu?


10

Tìm kiếm "làm thế nào để bắt đầu với các tín đồ" thực sự không giúp ích gì, nhiều người trong số họ thích điều nàyđiều này cũng như nhiều người khác không thực sự chỉ cho tôi đi đúng hướng. Mọi video youtube tôi đã xem cho đến nay đều không giúp được gì (vì tôi không cần video giải thích cho tôi những gì IS sùng đạo), video này là ngoại lệ thực sự duy nhất cho đến nay (cho thấy cách mọi thứ hòa nhập với nhau).

Tôi là một CCNA và cũng rất thành thạo với DBMS-s (hiện đang học thực thi song song cũng như các công cụ khác).

Nhưng tôi không biết tôi nên học cái gì trước tiên (hoặc nơi để tìm tài nguyên chính xác cho vấn đề đó).

Tôi sắp tốt nghiệp, vì vậy tôi không có quyền truy cập vào kinh nghiệm trong thế giới thực.

Có lời khuyên hay giúp đỡ nào không?

Câu trả lời:


5

Devops liên quan đến việc thực hiện phần mềm. Đó là tất cả về cách chạy một ứng dụng hoặc dịch vụ. Vì vậy, các công cụ cấu hình máy chủ, máy ảo và container là các bước tiếp theo. Tôi đề nghị xem xét tài liệu của những công cụ đó và học hỏi từ chúng những thứ như khám phá, khả năng quan sát, khả năng mở rộng và dự phòng. Chỉ cần nêu tên một số ví dụ:

Cấu hình máy chủ:

  • PXE
  • Ansible
  • Con rối

VM:

  • Âm đạo
  • QEMU

Thùng đựng hàng:

  • Docker
  • Kubernetes

EDIT: Tổng quan về công nghệ đám mây:

Khi kiến ​​trúc phần mềm của bạn là về microservice, thì container là một lựa chọn tốt. Khi bạn đang sử dụng các ứng dụng nguyên khối cũ thì VM không phải là một lựa chọn tồi. Vì vậy, nó luôn luôn phụ thuộc vào bối cảnh những gì bạn cần phải tìm hiểu cụ thể. Chủ đề khá rộng để tóm tắt nó. Một cuốn sách có thể giúp với điều đó nhưng thật đáng buồn là tôi không thể đề xuất một cuốn sách hay. "Kubernetes in Action" cho bạn một khởi đầu tốt trong Kubernetes.


Cũng sẽ thêm một cái gì đó về ci / di, ví dụ tre, jenkins, teamcity hoặc tương tự.
Cyclonecode

1
Một điều tôi quên và có thể giúp đỡ. Tổng quan về công nghệ đám mây: cảnh quan CNCF
jhamfler

Vâng chỉnh sửa bài đăng của bạn và thêm thông tin =) Tôi thực sự nhìn chằm chằm điều này.
Cyclonecode

@Cyclonecode bạn nói đúng. xong
jhamfler

xin lỗi nếu đây là một câu hỏi ngu ngốc, nếu EC2 đã chạy bên trong một máy ảo, tại sao tôi lại cần Docker?
PirateApp

4

Trước hết, tôi muốn nhấn mạnh rằng DevOps là một nền văn hóa chứ không phải là một vai trò. Theo ý kiến ​​của tôi, người ta có thể so sánh nó với một nhóm biệt kích có chuyên môn riêng của họ, ví dụ như bắn tỉa, lính thủy, thợ lặn (nghĩ về loạt biệt kích). Sự kết hợp của các chuyên gia này, về cơ bản làm việc cùng nhau, giúp có thể hoàn thành các nhiệm vụ hoặc tạo ra giá trị kinh doanh càng sớm càng tốt.

LowOps và NoOps

Kể từ một vài tuần, tôi thấy rằng sau rất nhiều cuộc trò chuyện với mọi người, đó là một cuộc nói chuyện khá ít về LowOps những ngày này. Nếu tôi thực hiện một giải pháp thì điều này có nghĩa là nó hoàn toàn tự động và đồng nghiệp có thể tự triển khai máy móc thay vì hỏi tôi. Đôi khi không thể tự động hóa hoàn toàn ngay lập tức, nhưng sau đó tôi đảm bảo rằng nó được tự động hóa để đảm bảo rằng tôi chỉ phải chạy một lệnh để hoàn thành công việc (LowOps), thay vì lãng phí một vài giờ. Nếu tôi đã tạo ra giải pháp như vậy, tôi đảm bảo rằng một vé đã được tạo cho một đồng nghiệp để tự động hóa giải pháp cá nhân của tôi cho mọi người. Ví dụ: một đồng nghiệp của tôi đã chuyển đổi một trong các tập lệnh bash của tôi trong một bot mà nó hiện đang chạy mỗi đêm.

nhập mô tả hình ảnh ở đây

Hình 1: https://www.gslab.com/blog-post/what-is-noops/

"làm thế nào để bắt đầu với devops"

Đảm bảo rằng bạn là thành viên của một nhóm có năng lực hỗn hợp và nhóm phải tự triển khai phần mềm. Nói chuyện với tất cả các thành viên trong nhóm và bắt đầu với những nhiệm vụ mà không ai muốn làm vì thiếu kiến ​​thức hoặc sự sẵn sàng. Nếu bạn bắt đầu với một nhiệm vụ thì bạn sẽ va vào những điều bạn không biết. Bắt đầu xem video, tham dự các cuộc họp , mua và đọc sách, đọc blog và tài liệu chính thức về công cụ, yêu cầu đồng nghiệp xem xét các yêu cầu kéo của bạn và giao tiếp và lắng nghe mọi người, tài liệu tốt và chuẩn bị và trình bày giải pháp cho đồng nghiệp (chia sẻ kiến ​​thức) . Gợi ý cuối cùng là để mắt đến sự cân bằng giữa công việc và cuộc sống .


2

Các câu trả lời khác ở đây đã tập trung vào các công cụ. Theo tôi, đạt được năng lực trong bộ công cụ tất nhiên là một điều tốt, nhưng sẽ không giúp bạn phù hợp với văn hóa DevOps. DevOps là lần đầu tiên một tập hợp các thông lệ , hoặc phương pháp .

Hiểu lý do tại sao các thực tiễn và phương pháp này hữu ích đi kèm với kinh nghiệm, nhưng bạn không có sự xa xỉ đó. Do đó tôi sẽ chỉ cho bạn

như một văn bản nền tảng.

Các trang web giao hàng liên tục cũng có một tập hợp các nguyên tắcFoundations mà cung cấp cho bạn nền tảng liên quan khi bắt đầu.

Bắt đầu từ những điều này, bạn sẽ học được cách thực hành và phương pháp, sẽ cho biết cách bạn cộng tác và sử dụng các công cụ.


2

Tất cả những gì bạn cần học là Linux, Docker, Mạng, Git, Jenkins, v.v. Bạn có thể tìm hiểu chúng một cách tương tác tại đây

Nếu bạn đang tìm kiếm các video hướng dẫn thì pluralsight có một cái gì đó tốt cho bạn.


1

Đây là loại câu hỏi tôi đã tự hỏi mình nhiều lần và nó có xu hướng theo tôi (bây giờ tôi mới ra khỏi "người mới bắt đầu", tôi tự hỏi nên học những chủ đề nâng cao hơn ở đâu). Đáng buồn thay, như bạn đã chỉ ra, đặt những câu hỏi trên công cụ tìm kiếm có xu hướng tràn ngập các trang web nhắm mục tiêu vào các giám đốc điều hành và cố gắng giải thích các tín đồ là gì? tại sao chúng ta nên công nghiệp hóa chu trình phần mềm với các tín đồ?

Điều đó đang được nói, để thử và trả lời câu hỏi của bạn, tôi chỉ có thể nói từ kinh nghiệm cá nhân: Tôi bắt đầu hành trình học tập của mình với hướng dẫn bắt đầu Docker xuất sắc .


1

"Học DevOps" tạo cho tôi một truy vấn quá rộng, như bạn cũng đã tìm ra, nhưng tôi có thể nhớ rằng phải google điều tương tự.

Để thêm vào câu trả lời của @ jhamfler: Hãy tự hỏi, tại sao bạn muốn tìm hiểu về nó? Bạn đến từ bối cảnh nào? DevOps thường phải làm với việc phá vỡ các rào cản thủ công, hoặc cả các cấu trúc silo trong các đội (mọi người chỉ làm nhiệm vụ của riêng mình và dựa vào ai đó để suy nghĩ về việc tích hợp kết quả). Có những "khoảng trống" như vậy trong dự án của bạn (tôi giả sử bạn có một cái)? Những phần nào của nó có thể được hưởng lợi từ tự động hóa?

Các vấn đề điển hình tôi có thể đề xuất là:

  • bảo trì máy chủ thủ công VS giải pháp kịch bản
  • độ tin cậy và sao lưu
  • tự động hóa kiểm tra tích hợp
  • tự động hóa triển khai liên tục (ví dụ: dịch vụ web)
  • ...

Có lẽ tìm kiếm "triển khai liên tục" và "tích hợp liên tục" (CI / CD) cũng có thể giúp bạn.


1

Những điều đầu tiên bạn cần học và cảm thấy thoải mái với:

  • unix (hệ thống tệp, quyền, quy trình, dịch vụ, nhật ký, mạng, v.v.
  • ssh & đường hầm ngược
  • nano / vim
  • trăn
  • git

Sau đó, bạn có thể chuyển sang các chủ đề cụ thể hơn:

  • container hóa (ví dụ docker)
  • quản lý cấu hình (ví dụ: ansible)
  • triển khai liên tục (ví dụ jenkins)
  • giám sát (ví dụ prometheus / grafana)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.