- vừa được xem lúc

Side Story - Những cuốn sách nên đọc để trở thành DevOps cho người mới bắt đầu

0 0 17

Người đăng: Quân Huỳnh

Theo Viblo Asia

Giới thiệu

Trong bài này mình chỉ muốn giới thiệu tới các bạn những cuốn sách mà mình đã đọc để từ một Full-stack Developer trở thành DevOps và Cloud Engineer. Và mình cũng sẽ chia sẽ về kinh nghiệm học tập của mình, và mong có thể đem tới cho các bạn chưa biết gì một con đường học tập để trở thành DevOps Engineer.

Những cuốn sách mà mình giới thiệu sẽ đi từ cơ bản lên nâng cao, mình sẽ nói qua những thứ mà chúng cần nắm để bắt đầu trên hành trình trở thành một DevOps Engineer.

Basic

Đầu tiên, thứ căn bản nhất mà chúng ta cần phải nắm đó là Linux, không cần phải trở thành master linux (vì không ai có thể tự nhận mình là master về linux được) mà ta chỉ cần hiểu rõ về Linux là gì, Linux với Ubuntu hay Centos khác nhau cái gì, hệ thống file của Linux và những câu command line đơn giản.

Để tìm hiểu về linux cho người chưa biết gì, mình giới thiệu các bạn cuốn sách này.

image.png

Cuốn sách này sẽ chỉ cho các bạn những thứ cơ bản nhất về linux, khác biệt giữa linux và ubuntu, hệ thống file của linux ra sao, những câu lệnh command line nào là cần thiết, cách tạo và quản lý user trên linux.

Nếu các bạn muốn tìm hiểu sâu hơn về linux thì mình giới thiệu cuốn này.

image.png

The first step

Sau khi ta đã tìm hiểu xong cơ bản về hệ điều hành linux, thì bước tiếp theo ta cần học là cách để chạy chương trình của ta trên các hệ điều hành khác nhau, đặc biệt là linux.

Ta cần tìm hiểu cơ bản về nodejs, java hoặc .NET, nhưng lưu ý là ta không cần phải học về cách lập trình của ngôn ngữ mà chỉ cần tìm hiểu về cách chạy, install thư viện và build code của những ngôn ngữ này.

Ví dụ đối với nodejs, ta chỉ cần tìm hiểu cách cài nodejs, cách chạy nodejs dùng pm2, cách cài các thứ viện của nodejs dùng npm. Còn đối với java ta cần tìm hiểu cách java chạy, cách tải thư viện và build source code dùng maven.

Sau đó để ta có thể chạy các chương trình khác nhau dễ dàng nhất có thể thì ta phải tìm hiểu về container và docker. Để tìm hiểu cơ bản về Docker, mình giới thiệu mọi người cuốn này.

image.png

Trong cuốn này nó sẽ chỉ cho ta những thứ cơ bản nhất về Docker và cách chạy container, cách build code thành container image, cách xài docker-compose, cách tự dựng docker registry để tự host container image của ta. Sau khi đọc xong các bạn sẽ có cái nhìn tổng quan hơn về cách dùng docker để chạy chương trình của ta trên các hệ điều hành khác nhau.

Step on the road to become a DevOps

Sau khi học xong và hiểu cơ bản về linux và docker, bây giờ các bạn có thể tự tin để bước chân lên con đường để trở thành một DevOps Engineer. Thứ tiếp theo ta cần tìm hiểu là cách tự động delivery sản phẩm hoặc chương trình của chúng ta tới người dùng một cách dễ dàng nhất có thể. Cách để làm việc đó người ta gọi là CI/CD, để tìm hiểu đơn giản về CI/CD mình giới thiệu các bạn cuốn này.

image.png

Cuốn này sẽ chỉ cho ta những thứ cần thiết để thiết lập luồng CI/CD cho chương trình của ta, tìm hiểu cơ bản về Jenkins, kiến trúc của jenkins, cách cài đặt và thiết lập jenkins, cách sử dụng jenkins với docker.

Và song song với việc học về CI/CD, ta cũng cần tìm hiểu về Container Orchestration. Đây là cách vận hành và quản lý hàng ngàn container trên môi trường sản phẩm thực tế mà khách hàng của ta đang sử dụng, ta sẽ tìm hiểu về kubernetes và đây là cuốn mình đã đọc.

image.png

Trong cuốn này nó sẽ giải thích cho ta mọi thứ ta cần biết về kubernetes, đây là một cuốn sách cực kì hay. Ta sẽ tìm hiểu về kubernetes là gì, cách dùng nó để chạy và quản lý container, cách chạy cả trăm container một lúc, triển khai ứng dụng với thời gian downtime gần như bằng 0, các best pratice về cách dùng kubernetes để triển khai ứng dụng.

Nếu các bạn muốn đọc bản tiếng việt thì có thể đọc series của mình: Kubernetes Series. Đây là series mình tham khảo từ cuốn trên và thêm cách hiểu của mình vào đó.

Và nhớ là thực hành và thực hành càng nhiều càng tốt về CI/CD và Kubernetes.

Middle

Nếu đọc xong những cuốn sách trên và thực hành nhiều thì bây giờ các bạn có thể tự tin nói mình là một Fresher DevOps rồi. Thứ tiếp theo ta cần học là cách vận dụng những thứ trên vào thực tế, tuy đây là việc rất khó nhưng mình cũng có hai cuốn sách sau để giới thiệu tới mọi người.

Đầu tiên là cuốn Managing Kubernetes.

image.png

Đây là cuốn sẽ chỉ cho ta cách vận hành kubernetes trên môi trường production, cách cài kubernetes trên môi trường production thế nào, quản lý cụm kubernetes của ta thế nào, cách backup và restore nó ra sao.

Thứ hai là cuốn Kubernetes Best Practices - Blueprints for Building Successful Applications on Kubernetes.

image.png

Đây là cuốn sách sẽ mang tới cho các bạn rất nhiều ví dụ thực tế, cách cài rất nhiều ứng dụng trên môi trường kubernetes, cách monitoring ứng dụng.

Become a Good DevOps

Có cách nào để khiến giá trị của ta tốt hơn so với các ứng viên DevOps khác không? Theo quan điểm mình, để giá trị của ta có thể tốt hơn so với các ứng viên DevOps còn lại, ta cần phải biết về Cloud. Tương lai sẽ sân chơi của là Cloud.

Để học Cloud thì ta nên chọn các nhà cung cấp lớn nhất và nhiều người xài nhất, ở thời điểm hiện tại mình viết bài này thì Cloud nổi nhất là AWS, và mình cũng rất thích AWS.

Đế bắt đầu với Cloud thì mình giới thiệu các bạn hai cuốn sách và một khóa học trên Udemy. Đầu tiên là cuốn.

image.png

Xuyên suốt cuốn này ta sẽ được tìm hiểu về AWS là gì, các dịch vụ cơ bản của AWS, cách sử dụng nó làm sao, cách thiết kế một hệ thống chịu tải cao, và cách thiết kế hệ thống dễ dàng mở rộng trên AWS.

Tiếp theo là khóa học dạy ta cách lấy chứng chỉ của AWS.

image.png

Khóa này của một giảng viên rất nổi tiếng là Stephane Maarek, trong khóa này anh sẽ dạy cho ta toàn bộ những thứ cần thiết về AWS để đi thi lấy chứng chỉ. Tuy là khóa học dạy thi chứng chỉ nhưng sau khi học xong thì ta sẽ có cái nhìn tổng quan nhất về AWS.

Và tiếp theo là cuốn về Infrastructure as Code.

image.png

Thông thường khi làm việc với AWS ta sẽ dùng một công cụ khác để hỗ trợ việc tạo hạ tầng trên AWS, và công cụ phổ biến nhất thời điểm mình viết là Terraform, trong cuốn trên nó sẽ chỉ cho ta toàn bộ những thứ cần thiết về Terraform và cách dùng nó với AWS.

Keep Learning

Nếu các bạn có thể hoàn thành được toàn bộ những thứ trên thì chúc mừng, bạn đã trở thành một DevOps Engineer rồi đấy 😁. Nhưng con đường học tập thì không bao giờ kết thúc, để có nhiều kiến thức hơn thì ta phải học và học. Đây là những cuốn mình đang xem để nâng cao kiến thức.

Đầu tiên là một cuốn về monitoring, tất nhiên là trong quá trình vận hành của ta thì việc monitoring là không thể thiếu.

image.png

Cuốn này sẽ dạy cho ta về cách sử dụng Prometheus để monitoring hệ thống, cách xài Grafana để vẽ chart biểu diễn tình trạng của hệ thống.

Tiếp theo là về Search Engine.

image.png

Đây là cuốn sẽ dạy ta về Elasticsearch, tuy trong cuốn này nó dạy về Elasticsearch 5.x, nhưng từ đó ta có thể google thêm để tìm hiểu về cách hoạt động của Elasticsearch 7.x, việc này sẽ đem lại cho ta cái nhìn chi tiết hơn về nó.

Cuối cùng là cuốn về Event Streaming.

image.png

Khi ta làm việc với hệ thống lớn thì Event Streaming là thứ không thể thiếu, và Kafka là một trong những công cụ mạnh nhất để làm việc này.

Kết luận

Ở trên là những cuốn mình đã đọc và đang đọc để từ một Full-stack developer trở thành một DevOps và Cloud Engineer, mong rằng nó sẽ hữu ích với mọi người. DevOps và Cloud là một mảng rất rộng, tuy ta không bao giờ có thể tìm hiểu hết về nó nhưng cứ keep learning nhé mọi người 😁.

Mục tìm kiếm đồng đội

Hiện tại thì công ty bên mình, là Hoàng Phúc International, với hơn 30 năm kinh nghiệm trong lĩnh vực thời trang. Và sở hữu trang thương mại điện tử về thời trang lớn nhất Việt Nam. Team công nghệ của HPI đang tìm kiếm đồng đội cho các vị trí như:

Với mục tiêu trong vòng 5 năm tới về mảng công nghệ là:

  • Sẽ có trang web nằm trong top 10 trang web nhanh nhất VN với 20 triệu lượt truy cập mỗi tháng.
  • 5 triệu loyal customers và có hơn 10 triệu transactions mỗi năm.

Team đang xây dựng một hệ thống rất lớn với rất nhiều vấn đề cần giải quyết, và sẽ có rất nhiều bài toán thú vị cho các bạn. Nếu các bạn có hứng thú trong việc xây dựng một hệ thống lớn, linh hoạt, dễ dàng mở rộng, và performance cao với kiến trúc microservices thì hãy tham gia với tụi mình.

Nếu các bạn quan tâm hãy gửi CV ở trong trang tuyển dụng của Hoàng Phúc International hoặc qua email của mình nha _@.com. Cảm ơn các bạn đã đọc.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 528

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 411

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 777

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 375

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 464

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 436