5 lời khuyên dành cho xây dựng các ứng dụng hiện đại

Ngoc Huynh

Quay trở lại hàng loạt các nền tảng và công cụ mới đang có hiện nay dành cho các lập trình viên, và nảy sinh ra một vài nguyên tắc chung để giúp phát triển các ứng dụng dễ dàng hơn.

“Hành động thật nhanh” (Move fast and break things) – đơn giản có ý là, nếu không làm hỏng cái gì đó chắc hẳn là bạn chưa làm đủ nhanh là nằm trong triết lý 5 điểm được gọi là “The Hacker Way” của Facebook – năm giá trị cốt lõi này đã được Mark Zuckerberg giải thích trong thư gửi nhà đầu tư trước khi Facebook lên sàn chứng khoán. Cụm từ dường như táo bạo này đã trở thành câu khẩu hiệu của một thế hệ mới các lập trình viên di động và Web.

Câu khẩu hiệu không tán thành việc xây dựng các hệ thống dễ vỡ chỉ để giải quyết các vấn đề cấp bách một cách nhanh chóng. Thay vào đó, nó muốn nói rằng các hệ thống hiện đại có thể rất mong manh – và hãy ghi nhớ rằng các kiến trúc phải được xây dựng cùng với tính mỏng manh vốn có ấy. Điều này có nghĩa là một cơ sở hạ tầng bằng container có thể nhanh chóng làm giảm bớt trạng thái known good, hay còn có nghĩa là sử dụng Message Queue – là một mô hình giao tiếp truyền tin bất đồng bộ, và các actor – các tác nhân (một actor xác định một tập các vai trò khi người sử dụng tương tác với hệ thống. Người sử dụng có thể là một cá nhân hay một hệ thống khác) để nhanh chóng đưa ra các dịch vụ và quá trình mới khi có một dịch vụ hay quá trình thực hiện thất bại , hãy thử một lần nữa cho đến khi một tin nhắn đã được xử lý.

Để có thể quản lý được các hệ thống như thế, thì bạn cần phải cung cấp dụng cụ máy móc cho chúng. Bạn sẽ cần phải vào sổ dữ liệu (logging data) càng nhiều càng tốt từ quá trình lập trình, vận hành nó thông qua các công cụ như sự kết hợp Elasticsearch, Logstash, và Kibana của ELK stack nhằm tạo ra các log dữ liệu có khả năng tìm kiếm và có khả năng mang đến các insight (thấu hiểu) khi cần. Bạn cũng sẽ cần các công cụ như dịch vụ giám sát hosting cloud của APImetrics nhằm theo dõi và quản lý các API mà bạn đang dùng đến và cung cấp bằng chứng mà bạn cần để hoặc là điều chỉnh lập trình của bạn hoặc đưa ra các thông báo ở mức độ dịch vụ tới nhà cung cấp.

Vẫn còn quá sớm để có một bộ nguyên tắc chặt chẽ và chi tiết dành cho xây dựng một ứng dụng hiện đại, nhưng hiện tại chúng tôi có thể đưa ra một số lời khuyên để giúp quá trình xây dựng dễ dàng hơn:

1. Hãy là một tổ chức devops – devops là một khái niệm mới nổi trong giới phát triển ứng dụng. Nó đề cập đến việc thực hành sắp xếp môi trường phát triển của một tổ chức chặt chẽ hơn với môi trường hoạt động, vì thế các nhà phát triển sẽ biết rõ hơn về những thay đổi để tạo ra một ứng dụng.

Nếu có một nguyên tắc mà bạn cần phải tuân thủ, thì nó là đây. Bạn cần phải có tư duy để luôn sẵn sàng phát hành phần mềm liên tục (continuous delivery), điều này có nghĩa là các nhóm vận hành và phát triển phải phối hợp chặt chẽ với nhau. Cơ sở hạ tầng cũng có nhiều code như chính bản thân ứng dụng, và sự trang bị các công cụ là cần thiết nhằm phân phối dữ liệu mà bạn cần để vận hàn ứng dụng.

2. Chia mọi thứ thành component services (cho phép bạn cấu hình các thành phần quản trị các COM components và COM+ applications) Các component (thành phần bên ngoài) có thể được kết hợp và bố trí vào các ứng dụng, sử dụng các dịch vụ đám mây và các API để thêm các chức năng khi cần thiết.

3. Tận dụng lợi thế của các dịch vụ đám mây nếu có thể

Không cần phải xây dựng hay làm bất cứ điều gì khi Twilio mang đến API – dịch vụ truy cập dành cho các lập trình viên khi sử dụng công nghệ đám mây. Các dịch vụ đám mây có thể mở rộng một ứng dụng theo những phương thức mới mà có thể không cần sử dụng công nghệ theo mô hình on-premises.

4. Xây dựng khả thích ứng cao

Xây dựng khả năng thích ứng cao (hay còn gọi là khả năng phục hồi) cho các ứng dụng. Nếu một component service hoạt động, thì một hệ thống gợi ý – mà không phải là phần còn lại của một ứng dụng thương mại điện tử cần phải ngừng làm việc tạm thời. Tương tự như vậy, cơ sở hạ tầng đám mây phân tán nhìn chung cho phép sự thất bại của các máy chủ ảo riêng lẻ, dẫn đến sự suy giảm hiệu năng (performance hit ) hơn là mất đi tính sẵn có.

5. Lựa chọn các API đám mây cẩn thận

Một khi bạn đã bắt đầu sử dụng API đám mây, thì bạn sẽ sử dụng nó trong nhiều năm. Hãy chắc chắn rằng bạn hoàn toàn đánh giá được nó, và hoạt động cùng với phần còn lại của tổ chức để xem thử nó có phù hợp với các ứng dụng hay dịch vụ khác hay không. Ngoài ra, bạn cần phải có một dịch vụ thay thế để chuyển đổi trong trường hợp ngừng hoạt động, hay có những sự thay đổi không mong muốn xảy ra.

Việc xây dựng các ứng dụng hiện đại cần một tư duy hơi khác biệt một chút, nhưng chắc chắn không phải là gạt bỏ sang một bên mọi kiến thức mà chúng ta đã có được trong nhiều năm qua khi xây dựng phần mềm. Các công cụ có thể mới với chúng ta, nhưng cần phải đảm bảo khả năng thích ứng cao và thêm công cụ hiệu quả thì vẫn luôn cần thiết hơn bao giờ hết.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/