Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Devops & Infra

[DevOps Essentials 1] Chuyển đổi nguyên khối sang microservice với mẫu Spring/Python/Node.js và Strangler Fig

Tìm hiểu thông qua thực hành thực hành quy trình chuyển đổi hệ thống nguyên khối cũ hiện có sang kiến ​​trúc vi dịch vụ. Bạn cũng có thể nhận được đánh giá mã từ những người chia sẻ kiến ​​thức tối đa hai lần!

(5.0) 1 đánh giá

109 học viên

  • jeongsuk
msa
MSA
TDD

Dịch cái này sang tiếng Việt

  • Phát triển microservice

  • Mô Hình Hình Stragler

  • Thực hành chuyển đổi hệ thống hiện có sang microservice

Hãy tự mình thử nghiệm với một dự án nhỏ
Di chuyển MSA cho DevOps.

Từ Monolith đến Microservices
Di cư theo mô hình thắt cổ

Monolith cũ thành MSA ?

Chúng ta hãy sử dụng Strangler Fig Pattern để di chuyển an toàn và dần dần một hệ thống đơn khối cũ sang kiến trúc vi dịch vụ.

Khóa học này là khóa học đầu tiên trong chuỗi khóa học "DevOps Essentials: Project Set". Chúng ta nên sử dụng phương pháp phát triển nào khi chuyển đổi từ hệ thống đơn khối sang microservices? Và chúng ta nên áp dụng những công nghệ nào liên quan đến DevOps? Mô hình Strangler Fig là yếu tố thiết yếu cho quá trình này.

• • •

Bài giảng này sẽ hướng dẫn bạn quy trình phân tích một hệ thống monolithic dựa trên Java và Spring Boot bằng Spring, Python và Node.js. Ngoài ra, bài giảng cũng sẽ đề cập đến việc sử dụng các framework stubbing cần thiết (Mountebank), Feature Toggle (FlipT), API Gateway (Spring Cloud Gateway) và Full-Stack Application Telemetry (Jaeger).

Ngoài ra, bạn sẽ tìm hiểu về thử nghiệm đơn vị và mô phỏng dựa trên Java, Node.js và Python, đồng thời tìm hiểu các phương pháp phân tích thử nghiệm phạm vi cho từng ngôn ngữ.


Dự án nhỏ về di chuyển MSA
Mẫu hình Strangler Fig 3 bước

1️⃣
Nhận biết phần bạn muốn di chuyển

2️⃣
Triển khai phần tương ứng trong dịch vụ vi mô mới

3️⃣
Xem xét các mẫu để cung cấp tính linh hoạt trong việc di chuyển hệ thống.
(ví dụ: Chạy song song)

Chúng tôi cung cấp giải pháp cho những lo lắng của bạn về quá trình chuyển đổi MSA .

Trường hợp 1: Khi nào bạn nên chuyển sang dịch vụ vi mô?

Chúng tôi sẽ cho bạn biết các tiêu chí và bước chuẩn bị cần cân nhắc khi triển khai dịch vụ vi mô trong tổ chức hoặc dự án của bạn .

Trường hợp 2 Tôi muốn thực hiện TDD bằng cách sử dụng thử nghiệm đơn vị trong Java / Python / Node.js, nhưng tôi nên mô phỏng từng hàm như thế nào?

Bằng cách trình bày và giải thích các bài kiểm tra đơn vị trong Java, Python và Node.js , chúng tôi sẽ cung cấp cho bạn nền tảng để bắt đầu thực hành TDD trong thực tế bằng cách sao chép và dán .

Trường hợp 3: Có thể trải nghiệm môi trường dựa trên ngôn ngữ lập trình khác theo cách tương tự như các tình huống trong thế giới thực không?

Chúng tôi sẽ hướng dẫn bạn toàn bộ quá trình phân tách từ monolithic sang microservices . Chúng tôi cũng sẽ cung cấp tối đa hai lần đánh giá mã cho mã của bạn.

Trường hợp 4: Cần những công nghệ nào để chuyển đổi sang dịch vụ vi mô?

Chúng tôi sẽ giới thiệu và thực hành không chỉ các kỹ thuật lập trình được sử dụng khi chuyển đổi sang dịch vụ vi mô mà còn cả các kỹ thuật có thể tạo điều kiện cho hoạt động trơn tru .


Các tính năng độc đáo của khóa học này
Hãy xem thử nhé.

  • ✅ Xây dựng sự tự tin vào TDD dựa trên thử nghiệm đơn vị và giảm bớt sự thất vọng khi viết các thử nghiệm đơn vị đầu tiên của bạn.
  • ✅ Nâng cao hiểu biết của bạn về Containerization bằng Docker-Compose và Dockerfile.
  • ✅ Bạn có thể có được phương pháp phân tích tích hợp thông qua phép đo từ xa để ứng phó với các vấn đề có thể phát sinh trong quá trình vận hành MSA.
  • ✅ Bạn có thể tìm hiểu về API Gateway Pattern thông qua Spring Cloud Gateway và cách xử lý lỗi CORS thường xảy ra ở phần frontend.

Bạn có thể vẽ một luồng

Lớp học sẽ được tiến hành theo hình thức mà bạn sẽ thiết lập một kịch bản cho một dự án nhỏ và trình bày toàn bộ quá trình giải quyết dự án đó.

Giúp hiểu rõ ràng

Kết quả của mỗi chương được cung cấp trong kho lưu trữ Github và quá trình thu thập kết quả được giải thích chi tiết nhất có thể.

Hãy nghĩ về những lý do và nguyên tắc

Chúng tôi trình bày lý do tại sao nên áp dụng một số công nghệ và lý thuyết nhất định. Chúng tôi cũng giải thích cách triển khai chúng dưới dạng container bằng Docker.

Chúng tôi cung cấp đánh giá mã

Bạn có thể nhận được đánh giá mã cho mã của mình tối đa hai lần.

Chương trình giảng dạy chi tiết 📖

1. Mẫu Strangler Fig là gì?

  • Liệu khối đá nguyên khối có nhất thiết là điều xấu không?
  • Khi nào là thời điểm thích hợp để giới thiệu dịch vụ vi mô?
  • Các mô hình từ Monolith đến Microservice
  • Triển khai mẫu Strangler Fig

2. Monolith Architect - Giới thiệu về bộ dự án Monolith Architect

  • Monolith - Cấu trúc hệ thống thông tin giao dịch
  • Kiến trúc sư mục tiêu
  • Yêu cầu truy cập mã nguồn

3. Triển khai di chuyển - Phía Monolith: Chuẩn bị cho việc tách dịch vụ bằng FlipT

  • Triển khai liên tục - Đánh giá giai đoạn triển khai
  • FlipT là gì?

4. Microservice - Dịch vụ Ticker với Python
5. Microservice - Định giá dịch vụ bằng Node.js
6. Microservice - Dịch vụ chiến lược với Java
7. Tích hợp điểm cuối với Spring Cloud Gateway
8. Kết thúc


Những điều cơ bản của DevOps
Tôi là Lee Jeong-seok .

Tôi là một kỹ sư CNTT du mục kỹ thuật số với khoảng 15 năm kinh nghiệm làm lập trình viên full-stack và kỹ sư/chuyên gia tư vấn DevOps tại Hàn Quốc, Úc và Anh. Tôi liên tục học hỏi những chủ đề mới để tối ưu hóa hoạt động CNTT của tổ chức , và tôi mơ ước được làm kỹ sư cho đến khi nghỉ hưu. Hiện tại, tôi đang làm kỹ sư DevOps trong nhóm Trải nghiệm Nhà phát triển tại một ngân hàng ở Melbourne, Úc.

Lịch sử chi tiết

  • Tôi đã bắt đầu công việc thực tập đầu tiên của mình tại The Latin Traveller! [London, Vương quốc Anh]
  • Thông tin du lịch Topas của Tập đoàn Hanjin cũ - Phát triển Java/Oracle [Seoul, Hàn Quốc]
  • Cựu) NuSkin Hàn Quốc - Phát triển Java/Oracle [Seoul, Hàn Quốc]
  • Sự tò mò về quy trình kinh doanh đã dẫn tôi đến việc hoàn thành chương trình MBA toàn thời gian [Seoul/Nice, KR/FR]
  • Cựu KOSCOM - C Development [Seoul, KR]
  • Cựu nhân viên chứng khoán KDB Daewoo - Phát triển bằng Java, C#, Python, MongoDB, Oracle, Sybase, ActiveMQ, v.v. [Seoul, KR]
  • Ngân hàng Quốc gia Úc (NAB) - Phát triển toàn diện [Melbourne, AU]
  • Trước đây là một trong bốn ngân hàng hàng đầu của Úc - Phát triển toàn diện/Tư vấn DevOps nội bộ [Melbourne, AU]
  • Cựu) Amazon Web Services - Chuyên gia tư vấn DevOps [Seoul/Melbourne, Hàn Quốc/Úc]
  • Một trong bốn ngân hàng hàng đầu của Úc hiện đang vật lộn với việc xác định số liệu DORA và triển khai cấu trúc CI có khả năng mở rộng bằng DevOps... [Melbourne, AU]

Hỏi & Đáp 💬

H. Tôi không có kinh nghiệm thực tế về DevOps . Tôi có thể tham gia khóa học này không?

Khóa học này được thiết kế dành cho người mới bắt đầu, vì vậy bất kỳ ai có kiến thức lập trình cơ bản đều có thể tham gia. Để biết thêm thông tin, vui lòng xem phần [Điều kiện tiên quyết] bên dưới.

H. Tôi có cần phải học khóa học " DevOps Essentials " để tham gia khóa học này không?

Mặc dù bạn sẽ hiểu bài giảng này rõ hơn nếu tham gia bài giảng "DevOps Essentials", bạn vẫn có thể tham gia bài giảng này mà không cần tham gia bài giảng đó. Có một phần tóm tắt các phần liên quan của bài giảng "DevOps Essentials" cần thiết để tham gia bài giảng này.

H. Tại sao bạn lại cung cấp dịch vụ đánh giá mã tới hai lần?

Việc đánh giá mã được thực hiện dựa trên giả định rằng nội dung trong Yêu cầu Kéo đã được triển khai ở mức độ khả thi. Theo đó, khi người chia sẻ kiến thức đánh giá mã do học viên yêu cầu và cung cấp phản hồi, chúng tôi sẽ cung cấp tối đa hai lần đánh giá mã để đảm bảo mọi thay đổi dựa trên phản hồi là phù hợp.

💾 Vui lòng kiểm tra trước khi tham gia lớp học !

  • Để hoàn thành bài giảng một cách suôn sẻ, bạn sẽ cần một chiếc PC chạy macOS, Linux hoặc Windows 10/11 64-bit có hỗ trợ WSL 2 và ít nhất 8GB bộ nhớ . (Visual Studio Code được sử dụng làm trình soạn thảo mã trong khóa học này.)
  • Để biết thêm thông tin về tài liệu khóa học, vui lòng xem ghi chú ở cuối khóa học [Phần 2 - Giới thiệu về Kiến trúc sư Monolith của Project Set] . Có cung cấp liên kết đến Biểu mẫu Google yêu cầu truy cập kho lưu trữ mã nguồn. Việc truy cập mã nguồn có thể mất tới 48 giờ để được chấp thuận và bạn không được phép chia sẻ mã nguồn hoặc nội dung của khóa học này với người khác.
  • Kiến thức tiên quyết là khả năng sử dụng ít nhất một ngôn ngữ lập trình .

Xem các bài giảng liên quan cùng nhau 📺

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người chưa bao giờ tách hệ thống hiện có thành microservice

  • Những người cần thực hành thực hành trong việc tạo ra các dịch vụ vi mô

  • Bất cứ ai tò mò về cách viết mã kiểm thử đơn vị cho Java/Node/Python

Cần biết trước khi bắt đầu?

  • Phải có khả năng sử dụng ít nhất một ngôn ngữ lập trình.

Xin chào
Đây là

421

Học viên

15

Đánh giá

7

Trả lời

3.8

Xếp hạng

7

Các khóa học

한국/호주/영국에서 Full-stack developer, DevOps Engineer/Consultant로 15년 정도 일을 하고 있는 Digital Nomad IT Engineer 입니다. IT 조직 운영의 최적화를 위해 끊임 없이 새로운 주제에 대해서 공부를 하고 있으며, 은퇴할 때까지 Engineer로 생활하고 싶다는 꿈을 가지고 있습니다. 현재는 호주 Melbourne에 있는 한 은행의 Developer Experience 팀에서 DevOps로 활동하고 있습니다.

Chương trình giảng dạy

Tất cả

9 bài giảng ∙ (5giờ 21phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

1 đánh giá

5.0

1 đánh giá

  • sponge님의 프로필 이미지
    sponge

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi rất ấn tượng với quy trình BFF tìm hiểu quy trình chia nhỏ nhiều vi dịch vụ được kiểm soát thông qua Cờ tính năng và tổ chức Cổng thông qua tái cấu trúc. Đặc biệt, tôi đã xem xét Spring Cloud Gateway khi so sánh nó với AWS ALB hoặc Amazon API Gateway và bài giảng đã vượt quá mong đợi của tôi vì tôi có thể tìm hiểu về các khía cạnh lãnh đạo và quản lý trong quá trình phát triển vận hành :) Cảm ơn bạn.

    3.462.471 ₫

    Khóa học khác của jeongsuk

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!