#252 - Grokking Techtalk #47: Approaches for DevOps and MLOps
Gần đây cả thể giới phải kinh ngạc trước những điều mà AI có thể làm được sau khi OpenAI tung ra ChatGPT, điều này châm ngòi lên một cuộc chiến mới giữa các ông lớn như Google, Microsoft.
Bạn có biết phía sau một hệ thống machine learning hoạt động như thế nào? Ở Techtalk lần này Grokking mang đến một cách tiếp cận trong MLOps, một mảnh ghép không thể thiếu để tạo nên một hệ thống ML.
Bên cạnh đó, còn giới thiệu thêm về một hướng giải quyết các vấn đề CI/CD của DevOps nhằm tối ưu quy trình phát triển phần mềm. Tham dự Techtalk lần này là 2 diễn giả với nhiều kinh nghiệm trong phát triển hệ thống.
- Anh Trung Nguyễn - Principal Software Engineer @ KMS Healthcare
Hiện tại anh Trung đang giữ vai trò DevOps Architect, chịu trách nhiệm thiết kế và thực hiện triển khai xây dựng các nền tảng về DevOps trong các project ở KMS.
- Anh Thái Tăng - Lead Machine Learning Engineer @ MoMo
Anh Thái có nhiều năm kinh nghiệm làm việc trong nhiều vai trò bao gồm data engineering, data sciences,.. Anh đã từng làm việc với nhiều startup ở US, Netherlands trước khi join nhiều cty lớn thuộc ngành công nghệ ở Việt Nam
Thông tin sự kiện:
- Thời gian: 09:00 - 12:00 Thứ 7, 15/04/2023
- Địa điểm: 2 Tản Viên, P.2, Q. Tân Bình, Tp.HCM
- Link đăng ký cho sự kiện tại đây.
📻News
(by steven.do87)
SpaceX’s Starship will carry an SUV-sized rover to the Moon in 2026
Vào thứ 6 (31/03/2023) tuần rồi, một công ty khởi nghiệp với tên gọi Astrolab tiết lộ rằng gần đây họ đã ký một thỏa thuận với công ty SpaceX để đặt chỗ trên chuyến bay StarShip dự kiến sẽ được khởi động sớm nhất vào giữ năm 2026. Giám đốc điều hành Astrolab, Jaret Matthews đã chia sẻ với tờ New York Time rằng “Đây là hợp đồng thương mại vận chuyển hàng hóa đầu tiên của SpaceX lên mặt trăng“ và công ty ông là một trong số ít các khách hàng sẽ tham gia chuyến bay này.
Twitter stokes confusion as 'verified' drama continues
Lộ trình xử lý các user đã được xác thực của Twitter tiếp tục thay đổi sau một số vấn đề liên quan đến đội ngũ phát triển cuối tuần qua. Vào tuần trước, Twitter thông báo rằng ho sẽ bắt đầu kết thúc chương trình xác minh đã tiến hành trước đây vào ngày 01/04/2023, nhưng chỉ giới hạn trong một vài trường hợp cụ thể. Trong khi đó, một báo cáo đã cho biết rằng có khoảng 10.000 website được theo dõi nhiều nhất sẽ vẫn được giữ lại được các dấu tích xanh của mình, ngay cả khi họ không subscribe Twitter Blue.
Microsoft adds GPT-4 to its defensive suite in Security Copilot
Microsoft sẽ trang bị một chatbot AI ứng dụng mô hình AI GPT-4 của OpenAI với tên gọi là Security Copilot. Chat bot AI này được hãng công bố là có khả năng có thể tự viết code và phân tích code, Microsoft sẽ trang bị Security Copilot vào các bộ sản phẩm của hãng sau công bố vào ngày thứ tư (29/03/2023) và hiện chỉ cung cấp cho các khách hàng được chọn lọc mới có thể dùng thử chức năng này.
📰Những bài viết hay
Software Visualization — Challenge, Accepted
(hungngph)
Gần đây, Spotify đã thực hiện visualize hệ thống phần mềm phức tạp của họ nhằm cải thiện sự hiểu biết về hệ thống, tăng cường giao tiếp và cộng tác giữa các nhóm đang cùng làm việc trên những hệ thống này. Các kỹ sư của Spotify đã kết hợp các công cụ do họ tự phát triển và phần mềm của bên thứ ba để tạo hình ảnh trực quan có tính tương tác cho hệ thống backend của họ, qua đó cho phép họ xác định và giải quyết các sự cố tiềm ẩn một cách dễ dàng.
Bài viết chỉ ra tầm quan trọng của software visualization, đặc biệt đối với các hệ thống quy mô lớn và phức tạp. Bằng cách chia nhỏ hệ thống thành các hình ảnh trực quan dễ hiểu và dễ hiểu, developer cũng như stakeholder có thể hiểu rõ hơn về những mối liên hệ, sự phụ thuộc qua lại và hiệu năng của các thành phần khác nhau. Ngoài ra, các kỹ sư của Spotify cũng nhấn mạnh cần phải hiểu bối cảnh và mục đích trước khi tiến hành visualization, bằng cách xác định các mục tiêu và làm rõ các câu hỏi. Bên cạnh đó, họ cũng thu thập phản hồi từ đồng nghiệp và stakeholder trong suốt quá trình để đảm bảo rằng các hình ảnh visualization là hữu ích và phù hợp cho tất cả các bên.
Cuối cùng, bài viết giới thiệu kết quả của software visualization tại Spotify, bao gồm hình ảnh visualization về kiến trúc microservice, deployment pipeline, và hệ thống cảnh báo. Những hình ảnh này cung cấp một cái nhìn tổng quan rõ ràng và ngắn gọn về các hệ thống, cho phép developer nhanh chóng xác định các vấn đề hoặc bottleneck tiềm ẩn. Bằng cách sử dụng phương pháp này, các nhóm tại Spotify cũng đã có góc nhìn khác về hệ thống phức tạp của họ, đồng thời mở đường cho việc cộng tác và ra quyết định hiệu quả hơn trong tương lai.
Để biết thêm chi tiết mời các bạn đọc tìm hiểu tại đây.
Scaling our customer review system for peak traffic
(quangle)
Customer reviews là một trong những hệ thống cốt lõi có lượng truy cập cao tại Booking.com, mang đến những bài đánh giá có điểm số rating, hình ảnh, các feedback cần thiết cho khách hàng khi họ tìm kiếm và tiến hành đặt chỗ nghỉ.
Theo ước tính, hệ thống customer-reviews phải xử lý hàng chục nghìn request mỗi giây. Để đảm bảo tỷ lệ response time dưới 50ms là 99% (p99 = 50ms) cùng với số lượng dữ liệu hiện có lên đến 250 triệu reviews, các kỹ sư đánh giá lựa chọn kỹ thuật sharding dữ liệu để chia nhỏ dữ liệu theo chiến lược chia lấy dư (modulo) ACCOMMODATION_ID % NUMBER_OF_SHARDS
, trong đó:
ACCOMMODATION_ID
: Internal ID của đơn vị lưu trú (khách sạn, nhà nghỉ, homestay,…).NUMBER_OF_SHARDS
: tổng số lượng shards hiện có trong hệ thống.
Tuy nhiên, cách tiếp cận modulo sẽ gặp vấn đề khi cần thêm node mới vào hệ thống (khi lượng dữ liệu của các node hệ thống đạt ngưỡng tối đa) dẫn đến phải resharding toàn bộ dữ liệu. Lấy ví dụ: hệ thống ban đầu được chia thành 3 shards, khi đó dữ liệu review của khách sạn có accommodation_id = 10124
sẽ được xử lý bởi shard 2 (10124 % 3 = 2), khi thêm một node mới, hệ thống lúc này sẽ có 4 shards, khi đó dữ liệu của khách sạn trên sẽ được gán vào shard 0 (10124 % 4 = 0). Quá trình tính toán và phân phối lại dữ liệu sẽ ảnh hưởng đến hệ thống hiện tại.
Vậy đội ngũ Booking.com đã giải quyết các bài toán hóc búa trên như thế nào? Mời bạn đọc cùng tham khảo chi tiết bài viết.
👨💻Góc lập trình
(by ndaadn and phucnh)
Đề ra tuần này: Backspace String Compare
Cho 2 chuỗi đầu vào s và t gồm các ký tự chữ cái và ký tự '#' đại diện cho backspace. Hãy trả lại kết quả so sánh 2 chuỗi s và t sau khi gõ s và t vào chương trình soạn văn bản.
Lưu ý rằng, nếu chuỗi là rỗng thì ký tự '#' sẽ trả về chuỗi rỗng.
Ví dụ 1:
Input: s = "ab#c", t = "ad#c"
Output: true
Bởi sau khi gõ vào trình soạn văn bản, cả hai chuỗi đều trở thành "ac".
Ví dụ 2:
Input: s = "", t = "###"
Output: true
Bởi sau khi gõ vào trình soạn văn bản, cả hai chuỗi đều là rỗng.
Lời giải tuần trước: Convert Sorted List to Binary Search Tree
Cây tìm kiếm nhị phân cân bằng là cây mà tại mỗi nút, độ cao/sâu của các cây con luôn luôn nhỏ hơn hoặc bằng 1. Hình dưới là một ví dụ về cây tìm kiếm nhị phân không cân bằng do tại nút 4, cây con bên trái cao hơn cây con bên phải 2 nút.
Ta có thể dễ dàng nhận thấy, để tạo được cây cân bằng từ một chuỗi ta cần chọn phần tử ở giữa chuỗi làm nút gốc. Phần tử ở giữa chia chuỗi làm 2 phần tương ứng với cây con trái và phải.
Thuật toán được thực hiện như sau:
class Solution {
public TreeNode sortedListToBST(ListNode head) {
// create sorted list
List<Integer> list = new ArrayList<>();
while (head != null) {
list.add(head.val);
head = head.next;
}
return createBSTree(list.toArray(new Integer[list.size()]), 0, list.size() - 1);
}
private TreeNode createBSTree(Integer[] nums, int start, int end) {
if (start > end) {
return null;
}
int middle = start + (end - start) / 2;
TreeNode root = new TreeNode(nums[middle]);
root.left = createBSTree(nums, start, middle - 1);
root.right = createBSTree(nums, middle + 1, end);
return root;
}
}
Độ phức tạp về thời gian của giải thuật là O(N) với N là độ dài của chuỗi đầu vào, do ta phải chuyển từ danh sách liên kết đơn thành mảng. Đô phức tạp về không gian là O(logN).
📆History
Gordon Earle Moore là đồng sáng lập và là cựu Chủ tịch danh dự của Tập đoàn Intel, đồng thời là tác giả của định luật mang tên ông. Ông qua đời tại nhà riêng ở Hawaii vào ngày 24 tháng 3 năm 2023, hưởng thọ 94 tuổi.
🛠️Code & Tools
Quotes
If everything you try works, you aren't trying hard enough.