Bản đồ hướng dẫn cho lập trình viên DevOps
Những bài viết hữu ích từ Quora

Danh sách bài học
Bản đồ hướng dẫn cho lập trình viên DevOps
Dẫn nhập
Hi mọi người! Đây là bài dịch trong chuỗi bài NHỮNG BÀI VIẾT HỮU ÍCH TỪ QUORA của website Howkteam.com & các Kter tâm huyết, Mong muốn mang lại thêm nhiều kiến thức hữu ích từ các nguồn kiến thức nước ngoài đến với cộng đồng. Bạn có thể tham gia đóng góp bài dịch bằng cách đăng ký cùng Kteam qua: Fanpage How Kteam
Hy vọng các bạn sẽ thích những kiến thức được đề cập trong các bài dịch hữu ích này! Cảm ơn các bạn!
Nội Dung
Từng bước để trở thành lập trình viên Ops.
DevOps thực sự rất hot vào thời điểm này, hầu hết bạn bè đồng nghiệp của tôi ( các lập trình viên chuyên nghiệp ) đang nỗ lực để trở thành một kỹ sư DevOps và tự mình trở thành nhà vô địch DevOps trong tổ chức của họ.
Mặc dù thừa nhận những lợi ích của DevOps, nhưng tôi phải nói rằng rất khó để chọn đúng hướng đi khi ngày nay có quá nhiều tools.
Là một blogger Java, nhiều độc giả của tôi thường hỏi làm thế nào để trở thành một kỹ sư DevOps, nên học những tools nào? Có cần học Maven và Jenkins?
Tôi đã cố gắng trả lời theo những kinh nghiệm của mình nhưng tôi không biết cách ghi lại chúng một cách đơn giản, nhưng đừng lo.
Hôm nay tôi sẽ share cho bạn nguồn tài nguyên để giúp bạn trở thành DevOps. Đó là bản đồ hướng dẫn dưới đây, cái hay của bản đồ này là nó không chỉ làm nổi bật vai trò của một người kỹ sư DevOps mà còn cho biết tools nào bạn cần phải học. Quan trọng là nó nhìn đẹp ấy !
Mặc dù nó cho bạn biết bạn phải học gì nhưng lại không cho bạn biết cách học và nơi học. Đừng lo, tôi gánh phần đó cho bạn, miễn phí, ngay và luôn.
Học 1 ngôn ngữ lập trình.
Yêu cầu là 1 trong 3 ngôn ngữ sau:
- Java: Nếu bạn muốn học Java thì The Complete Java MasterClass là một khóa học tuyệt đấy, gần đây nó cũng update cho Java 11.
- Python: Nếu bạn muốn học Python thì The Complete Python BootCamp là resource yêu thích của tôi đấy, nó sẽ dạy cho bạn Python 3, phiên bản phổ biến của Python.
- JavaScript: Nếu bạn muốn học JavaScript thì bạn nên đến với khóa học cơ bản về JS cho người mới bắt đầu của Mosh Hamdani trên Udemy.
Nếu bạn không muốn 3 ngôn ngữ trên, các bạn có thể tham khảo các khóa học dưới đây và chọn ngôn ngữ cho riêng mình, dù vậy tôi vẫn khuyên bạn nên chọn 1 trong 3 ngôn ngữ tôi nói trên.
Hiểu được sự khác nhau của các hệ điều hành.
Trước đây thì không cần nhưng bây giờ các lập trình viên cũng nên biết đến chúng. Bạn cần biết ít nhất Process Management, Threads và Concurrency, Socket, I/O Management, Virtualization, Memory storage và File systems như được khuyên trong lộ trình.
Vì hầu hết chúng ta đều làm việc trong Linux, tôi đề nghị bạn nên học qua khóa Linux Administration BootCamp trên Udemy để hiểu kĩ hơn về hệ điều hành Linux.
Nếu bạn cần nhiều lựa chọn hơn và bạn không ngại học hỏi từ các nguồn tài nguyên sẵn có miễn phí thì bạn cũng có thể xem danh sách các khóa học Linux miễn phí này.
Học cách làm việc trong Terminal.
Để làm một DevOps, điều quan trọng là bạn phải biết vài lệnh tốt trong dòng lệnh, đặc biệt khi bạn làm việc với Linux. Biết một số shell Linux như Bash, hoặc Ksh và tools như find, grep, awk, sed, Isof và các lệnh mạng như nslookup và netstat là bắt buộc.
Nếu bạn cảm thấy chẳng hiểu về các dòng lệnh tôi vừa nói thì bạn nên tham gia khóa học Linux Command Line Interface (CLI) Fundamentals trên Pluralsight ( nhưng với Pluralsight bạn cần đăng ký thành viên và giá là 29$ tháng và 299$ năm, đừng lo, nó cực kỳ xứng đáng ).
Pluralsight có khoảng hơn 6000 khóa học chất lượng cao về công nghệ mới nhất, bạn học bất cứ khi nào và ở đâu đều được.
Tuy nhiên, nếu bạn cần nhiều lựa chọn hơn và muốn trở thành bậc thầy về kịch bản shell, bạn cũng có thể xem danh sách các khóa học tốt nhất của tôi để tìm hiểu kịch bản shell.
Mạng và bảo mật.
Thế giới 4.0, mọi thứ đều có thể kết nối với nhau nên việc bảo mật trở nên rất quan trọng.
Để trở thành DevOps, bạn cần phải biết các khái niệm về bảo mật cơ bản như DNS, mô hình OSI, HTTP, HTTPS, FTP, SSL, TLS, v…v
Bạn có thể xem qua TCP/IP và các nguyên tắc cơ bản về mạng cho các chuyên gia CNTT theo khóa học Ed Liberman trên Pluralsight.
DevOps là gì và cách thiết lập.
Là một DevOps, bạn nên biết những gì thiết lập trong máy của bạn và cách bạn có thể thiết lập, tự động hóa nó.
Nói chung, một DevOps nên biết cách thiết lập một máy chủ Web như IIS, Apache và Tomcat.
DevOps cũng nên biết về Caching Server, Load balancer, Reverse Proxy và Firewall, v…v. Nếu bạn là người mới vào, tôi khuyên bạn nên xem qua The Web Developer Bootcamp bởi Colt Steele
Tìm hiểu cơ sở hạ tầng như mã code.
Đây có lẽ là điều quan trong nhất đối với 1 kỹ sư DevOps, phần này khá rộng lớn đấy. Là một DevOps, bạn nên biết về Docker, Kubernetes, các công cụ quản lý cấu hình như Ansible, Chef, Salt và Puppet, Provisionings Infrastructure như Terraform và Cloud. Dưới đây là một số khóa học được đề nghị của tôi để tìm hiểu các công cụ này.
Nếu bạn muốn tìm hiểu Docker sau đó Docker Mastery: Khóa học The Complete Toolset từ a Docker Captain trên Udemy rất tốt để bắt đầu. Đảm bảo nó cung cấp đầy đủ tất cả các tools DevOps sẽ cần.
Nếu bạn muốn học Kubernetes thì tôi đề nghị bạn tham gia khóa học Learn DevOps: Là một khóa học Kubernetes hoàn chỉnh, nó sẽ dạy bạn cách xây dựng, triển khai và quản lý Kubernetes.
Và nếu bạn muốn học Chef thì không có khóa học nào tốt hơn thì Chef Fundamentals: Một công thức cho tự động hóa cơ sở hạ tầng trên Udemy. Có lẽ khóa học này là khóa học Chef tốt nhất tại thời điểm này.
Nếu bạn cần nhiều lựa chọn hơn trên Docker, bạn có thể khám phá danh sách 10 khóa học thiết yếu này cho kỹ sư DevOps.
Tìm hiểu các công cụ tích hợp và phân phối ( CI/CD ).
Đây là một mặt khá quan trọng của DevOps, tức là thiết lập một đường dẫn để tích hợp và phân phối liên tục. Có rất nhiều tools như Jenkins, TeamCity, v…v
Bạn nên bắt đầu với Jenkins, nó được sử dụng rộng rãi và có lẽ là tool CI/CD tốt nhất. Bạn có thể tìm hiểu Jenkins qua khóa học Master Jenkins CI dành cho DevOps và Developers trên Udemy. Tôi cũng học Jenkins từ khóa này.
Tuy nhiên nếu bạn cần nhiều lựa chọn hơn và không ngại học hỏi từ các nguồn tài nguyên miễn phí thì bạn cũng có thể xem qua danh sách 6 khóa học Jenkins và Maven miễn phí dành cho các nhà phát triển Java.
Tìm hiểu cách giám sát phần mềm và cơ sở hạ tầng.
Ngoài việc thiết lập và triển khai, giám sát là một khía cạnh quan trọng khác của DevOps. Đó là lí do tại sao phải tìm hiểu cách giám sát ứng dụng và cơ sở hạ tầng.
Có rất nhiều tools để làm việc này, như Nagios, Icing, Datadog, Zabbix, Monit, AppDynanic, New Relic, v….v
Tùy vào nơi bạn làm việc mà bạn nên chọn cái nào để học và làm nhé.
Tìm hiểu về nhà cung cấp đám mây.
Đám mây là điều quan trọng tiếp theo, vì sớm hay muộn bạn cũng phải di chuyển ứng dụng của mình lên đám mây, do đó điều quan trong với DevOps là phải biết về một số nhà cung cấp đám mây phổ biến, và những điều cơ bản của họ.
Trong khi rõ ràng là AWS là người dẫn đầu trong đám mây, thì Google Cloud và Azure đang dần bắt kịp và theo sau đó chúng ta có Heroku, Cloud Foundry và Digital Ocean.
Để bắt đầu, tôi đặc biệt khuyên bạn nên tham gia các API & Ứng dụng không cần dùng AWS cổ điển - Khóa học Giới thiệu hoàn chỉnh ở Udemy, đơn giản là tốt nhất.
Tuy nhiên nếu bạn cần nhiều lựa chọn hơn và không ngại học hỏi từ các nguồn tài nguyên miễn phí thì bạn cũng có thể kiểm tra danh sách các khóa học AWS miễn phí dành cho các nhà phát triển và những người DevOps.
Ghi chú:
Có thể bạn thấy có quá nhiều thứ cần phải học nhỉ? Đừng lo lắng, tôi sẽ học luôn giùm bạn…….????? Được không nhỉ : )) dĩ nhiên là không. Nhưng có lẽ bạn đã biết hầu hết các thứ tôi đã kể trên đấy, và cũng có rất nhiều tài nguyên miễn phí hữu ích bạn có thể sử dụng. Tôi cũng sẽ để đây vài liên kết, phải chi tiền để học nhé, nhưng đáng tiền lắm đấy.
Tôi là một fan hâm mộ đặc biệt của các khóa học Udemy vì chúng rất phải chăng và cung cấp rất nhiều giá trị với số lượng rất nhỏ, nhưng bạn được tự do lựa chọn khóa học bạn muốn.
Chúc may mắn với hành trình DevOps của bạn! Nó chắc chắn sẽ không dễ dàng, nhưng bằng cách làm theo lộ trình và hướng dẫn này, bạn tiến một bước gần hơn để trở thành kỹ sư DevOps.
Nguồn bài viết: The DevOps Road Map — A Guide for Programmers
Kết luận
Qua bài dịch này, bạn đã biết được về bản đồ hướng dẫn cho lập trình viên DevOps
Bạn có thể tham khảo thêm bài: Học lập trình cùng các khóa học được xếp hạng cao nhất
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Bản đồ hướng dẫn cho lập trình viên DevOps dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nội dung bài viết
Bước đầu nên học tới trình độ nào vậy ad?