[Report][AWS Modern Applications Online Series]Hiện đại hóa trên AWS

Chào mọi ngườiiiiiiiii, lâu lắm rồi Nghiie mới lại viết blog đây ☺️☺️☺️ Hôm nay có một sự kiện vô cùng nổi bật và thú vị đã diễn ra làm Nghiie trông đợi từ tuần trước đến hôm nay, bật mí với mọi người , đó chính là sự kiện AWS Modern Applications Online Serie, điều đặc biệt ngày hôm nay, chúng ta có Sessions được diễn thuyết bằng Vietnamese bởi các chuyên gia đến từ AWS Vietnam 🌼

Thông tin sự kiện đã có sẵn tại đây nếu các bạn muốn xem lại nhé!

Và ngay bây giờ, Nghiie sẽ giới thiệu với các bạn về Session đầu tiên trong sự kiện Hiện đại hóa trên AWS ( Building for Speed and Agility)

Diễn giả:  Harley Phan

Link video : tại đây

Thời gian thâm nhập thị trường ngày càng phụ thuộc vào tốc độ bạn cung cấp sản phẩm và tính năng. Trong phiên này, chúng ta sẽ thảo luận về các phương pháp phát triển ứng dụng hiện đại và chia sẻ câu chuyện về cách các tổ chức dùng Microservices , containers và Serverless để tăng tính linh hoạt và rút ngắn thời gian thâm nhập thị trường.

Các nội dung chính

Ms Haley Phan đã trình bày lần lượt về tổng quan về Modern Aplication và các xu hướng nổi bật đang được thực hiện bởi các doanh nghiệp thời gian gần đây, cũng như hành trình chuyển đổi của Amazon trong những năm vừa qua để đáp ứng được nhu cầu của doanh nghiệp và những lợi ích mà Modern Application mang lại.

Tổng quan - Modern Application là gì ?

Modern Practice và Modern Application là những quan điểm mang tính chất thời gian, đó là cách mà các builders đang sử dụng nguồn nhân lực, qui trình và công nghệ để xây dựng nên các giải pháp tự động có khả năng hoạt động và tập trung chính vào lĩnh vực kinh doanh

Các tiếp cận Modern Application tập trung vào những vấn đề sau:

  • Thu hẹp phạm vi ( Shrink the scope) bằng cách tận dụng các kĩ thuật khác nhau một cách an toàn nhằm tìm kiếm giá trị mà khách hàng mong muốn
  • Giảm thiểu các công việc trùng lặp ( offload the undifferentiated pieces)  bằng cách tìm ra phương pháp đơn giản, ngắn gọn hơn để có thể giải quyết được nhiều việc hơn
  • Chọn công cụ phù hợp ( Choose the right tool for the job) để tạo ra các giải pháp có mục đích , ít công sức những vẫn đạt hiệu quả cao.
  • Tự động hoá ( Automate everything) để đạt được tốc độ , tính nhất quán , và độ an toàn mong muốn cho khách hàng.
  • Xây dựng, triển khai các ứng dụng một cách linh hoạt và nhanh chóng hơn ( build and ship faster)

Các xu hướng đang diễn ra

Sau khi làm khảo sát với hàng nghìn khách hàng mỗi năm để tìm hiểu sâu hơn và hiệu quả hơn về nhu cầu của khách hàng, AWS nhận thấy rằng, các chủ đề là nhất quán , bất kể quy mô hay ngành nghề

Khi nói về tần suất thay đổi, ta quan sát biểu đồ có 3 màu :

  • màu đỏ ở phía bên trái là một tổ chức có tần suất thay đổi thấp, nơi mà sự thay đổi ít diễn ra thường xuyên bởi việc thay đổi là quá khó, nhiều rủi ro
  • phần màu cam biểu diễn cho sự thay đổi nhanh chóng, thường xuyên

Điều này có thể được lí giải thông qua mô hình Bánh đà ( biểu đồ hình tròn) trong việc phân phối các giá trị phần mềm thường xuyên

Chu trình làm việc :

Ý tưởng của khách hàng => triển khai thành Giả thuyết => thực hiện Thử nghiệm => Đưa sản phẩm ra thị trường đo lường

Trong phiên này , Ms Haley Phan cũng đã cung cấp thông tin rằng : 90% CEOs của các doanh nghiệp của họ sẽ bị gián đoạn về mặt kỹ thuật số , và chỉ có khoảng 15% trong số các công ti nhận thấy rằng họ tự tin trong quá trình chuyển đổi kĩ thuật số với mức độ thường xuyên ; Còn đối với các công ti tư vấn công nghệ, 67% tin rằng họ cần chuyển đổi qua mô hình có tần suất cao để duy trì được tính cạnh tranh

Các yếu tố các công ti luôn tập trung và có tần suất lặp cao:

  • Việc chia nhỏ khối lượng công việc.
  • Đầu tư vào đội ngũ nhân viên và tiếp cận thân thiết với khách hàng để nắm rõ nhu cầu.
  • Tự động hoá bộ máy hành chính : an toàn, nhanh chóng.
  • Thực hiện chiến lược thay đổi đồng bộ.

Sự phát triển của tập đoàn Amazon

Amazon những năm 2001-2002

Vào năm 2001, Amazon có một ứng dụng Monolithic và một cơ sở dữ liệu Oracle, mỗi lần cập nhật ứng dụng tiêu tốn 11 tiếng

=> đối mặt với những thách thức nghiêm trọng và vấn đề về thời gian đưa sản phẩm ra thị trường

=> Quy tắc "Hai chiếc pizza" ra đời : số lượng thành viên tối thiểu (5-10), qua thời gian hoạt động lâu dài, sẽ sở hữu một chuỗi chức năng cụ thể, trách nhiệm phát triển và vận hành dịch vụ.Amazon đưa ra các quyết định về con người, từ đó đưa ra các quyết định về công nghệ để hỡ trợ doanh nghiệp đưa sản phẩm ra thị trường trong kế hoạch 3-5 năm với chiến lược Sao Bắc Cực

Loại bỏ gatekeepers trong kiến trúc

Khách hàng : "Mất bao lâu để có được một máy chủ để thực nghiệm ?"

Amazon: "10-12 tuần. Quy trình gồm : Phát minh các trải nghiệm để tăng tốc độ ở mức tối đa có thể trải nghiệm".

 

2006:

AWS( Amazon Web Services) ra đời. Và giờ đây , AWS có thể cung cấp hàng nghìn máy chủ chỉ trong vài phút với 175 dịch vụ.

Với hơn 1000 đơn vị hoạt động độc lập với nhau trong các kiến trúc tách biệt ( sử dụng Microservices, kết hợp tự động hoá , CI/CD để triển khai liền mạch, Serverless - giảm bớt sự lo lắng về máy chủ)

=> Từ 11 tiếng mỗi một máy chủ (2001) , Amazon có hơn 60 triệu lượt triển khai mỗi năm

Những thay đổi cần thực hiện và sự hỗ trợ từ AWS

Lựa chọn đúng mô hình kiến trúc : thu hẹp phạm vi công việc

API

là cổng kết nối của hệ thống Microservices ( kiểm tra đường dẫn của API đã tồn tại chưa=> tạo mới hoặc triển khai) => giúp tránh trùng lặp cái API không có thẩm quyền

Monolith đến Microservices

Với Monolith chúng ta có 1 hệ thống lớn để thực hiện toàn bộ tác vụ => Microservices mang lại sự tác động nhỏ => độc lập, linh hoạt dễ quản lí theo chức năng.

Mô hình hoạt động

Chuyển đổi mô hình công việc nhằm giảm thiểu các công việc giống nhau.

Đơn giản hoá các tác vụ

Giải quyết phần quản lí hạ tầng hệ thống => Serverless Thực hiện theo mô hình quan hệ giữa khách hàng và AWS: về phía bên phải , bạn sẽ ít phải quản lí về mảng hạ tầng hệ thống , chuyển đổi sang các ứng dụng phía bên trái nếu bạn muốn có thể quản lí được cả hạ tầng hệ thống.

AWS Lambda hay AWS Fargate?

Nên chọn AWS Lambda hay AWS Fargate? => Không có sự khác biệt , nhưng tuỳ vào mục đích sử dụng và chức năng chú trọng để lựa chọn ( AWS Lambda phù hợp với các ứng dụng mà dữ liệu cần phản hồi theo thời gian thực, batch processing , stream processing,... ; AWS Fargate có thể cho phép bạn chạy các Containers mà không cần quản lí Server)

Lựa chọn công cụ phù hợp

Tác động đến việc xây dựng và quản lí cơ sở dữ liệu

Nếu sử dụng Microservices , có thể dễ dàng quản lí và mở rộng qui mô dữ liệu, dịch vụ một các độc lập , tốn ít thời gian để đưa dữ liệu vào

 

Tự động hoá mọi thứ

Loại bỏ nút thắt trong mô hình Monolithic bằng việc chia nhỏ nhóm chức năng trong quá trình phát triển.

Xây dựng, triển khai các ứng dụng một cách linh hoạt và nhanh chóng hơn

Sự trỗi dậy của các lập trình viên khi được hỗ trợ bởi các công cụ mạnh mẽ

Để tăng tốc độ và sự tiện lợi trong quá trình phát triển phần mềm, chúng ta cần sử dụng các tính năng trừu tượng( Abstractions) gíup dễ dàng provision toàn bộ backend, tập trung vào các tình huống cụ thể => Abstractions giảm thiểu qui trình và các dòng code

Hành trình chuyển đổi

Khách hàng không di chuyển đổi toàn bộ ứng dụng lên đám mây, mà chỉ di chuyển những ứng dụng đang cần thay đổi và thực hiện những cải tiến để tối ưu hoá các ứng dụng đó

Hành trình đến với công nghệ Serverless:

  • Di chuyển ứng dụng lên dịch vụ EC2 ( đặc biệt là legacy architecture)
  • Sử dụng Containers thông qua các dịch vụ AWS EKS, AWS ECS, AWS Fargate
  • AWS Lambda giúp thu nhỏ phạm vi

Các câu chuyện về khách hàng cụ thể

 

Khó khăn buộc doanh nghiệp phải chuyển mình:

  • bắt đầu với mã code đã thực sử dụng trong 10 năm => rủi ro
  • Quá trình vận hành lâu dài => khó mở rộng quy mô
  • 1 tài khoản bị lỗi => chặn toàn bộ quy trình , mất đến 24 tiếng để tìm nguyên nhân

Kết quả: Từ 2011, với 11 triệu dòng code khi sử dụng ứng dụng Monolith, sau khi thay đổi kiến trúc theo hướng dịch vụ, đến năm 2014, họ đã có 150 dịch vụ production riêng biệt.

 

Cảm ơn mọi người đã đọc 🌼

Mình sẽ trở lại với những blog khác nhé 🌼✌️