2018-11-16

DevOps for Databases

DevOps for Databases

DevOps không còn chỉ là phá vỡ silo giữa các nhà phát triển và hoạt động. Đó là lý do tại sao mọi hoạt động thủ công trong đường ống phân phối của bạn cần phải được đánh giá để xác định xem nó có thể được tự động hóa hay không. Thay đổi cơ sở dữ liệu thực sự là một quá trình tẻ nhạt và do đó xứng đáng được xem xét trong triển khai DevOps của bạn.
Hãy để tôi tạm dừng một chút để bình tĩnh mong đợi của bạn cho bài đăng này trước khi chúng tôi tiếp tục. Tôi sẽ không đưa ra công thức ma thuật sẽ giải quyết mọi vấn đề của bạn. Bất kỳ giải pháp nào cũng sẽ phụ thuộc vào mức độ phức tạp và kết hợp kiến ​​trúc của bạn, chưa kể đến độ cứng của quá trình thay đổi của bạn.
Mục tiêu của tôi là cung cấp cho bạn một góc nhìn khác để tự động hóa các thay đổi cơ sở dữ liệu, không chỉ bằng cách giải thích lý do thay đổi cơ sở dữ liệu có thể khó khăn, mà còn bằng cách hướng dẫn bạn qua một ví dụ thực tế về cách DevOps có thể đơn giản hóa quy trình. Băt đâu nao!

Tạo trường hợp cho cơ sở dữ liệu trong DevOps

Theo truyền thống, các thay đổi đối với cơ sở dữ liệu bắt đầu với các nhà phát triển thực hiện các thay đổi mà họ sẽ sử dụng để ghi các tệp theo định dạng SQL. Những thay đổi này sau đó được xem xét bởi một người có nhiều kinh nghiệm hơn về cơ sở dữ liệu. Thông thường, việc xem xét được thực hiện bởi một quản trị viên cơ sở dữ liệu (DBA), những người giao dịch với cơ sở dữ liệu cả ngày. Người này hiểu rõ hơn bất kỳ ai khác về ý nghĩa của một số thay đổi - không chỉ ở hiệu suất, mà còn trong việc tích hợp dữ liệu.
Âm thanh như một quá trình vững chắc, cần thiết, phải không? Nhưng vấn đề là DBA thường được tham gia ngay trước khi triển khai sản xuất khi quá muộn và tốn kém để thực hiện những thay đổi thích hợp.
Tôi không có ý nói rằng các nhà phát triển cần một người khác để xem lại những gì họ đang làm. Nhưng những gì tôi vừa mô tả là một kịch bản điển hình cho các công ty lớn hơn.
DevOps cho cơ sở dữ liệu đơn giản là về việc chuyển đổi quy trình này sang bên trái , và tự động hóa sẽ làm cho quy trình chạy trơn tru hơn. Nhưng nó không chỉ là về tự động hóa.

Tự động hóa chỉ là một phần của phương trình

Có những dịp bạn sẽ cần phải làm một cái gì đó rất phức tạp mà tự động hóa có thể không được giá trị nó. Nhưng giả sử bạn đã xác định cách cơ sở dữ liệu sẽ được sử dụng và bạn không kiến ​​trúc lại, tôi nghi ngờ bạn sẽ cần phải thực hiện các thay đổi phức tạp rất thường xuyên. Tự động hóa sẽ giúp bạn thực hiện các thay đổi trong tương lai theo cách lặp lại và có thể dự đoán được, miễn là chúng không khác nhau mỗi lần.
Và hãy thành thật. Tự động hóa sự thay đổi của một bảng để thêm một cột mới không phải là khó khăn. Vấn đề thực sự là, trong cơ sở dữ liệu, bạn cần phải chăm sóc của nhà nước. Nếu cơ sở dữ liệu có quá nhiều dữ liệu, việc thực hiện một loại thay đổi nhất định có thể mất quá nhiều thời gian và chặn tất cả các thay đổi sắp tới như chèn, cập nhật hoặc xóa.
Tự động hóa chỉ là một trong nhiều thay đổi bạn cần đưa vào triển khai DevOps của mình. Và tôi thậm chí có thể đi xa như vậy để nói rằng nó có thể là phần dễ nhất. Vì vậy, luôn luôn làm cho trường hợp để tự động thay đổi và tránh thực hiện các thay đổi thủ công thường xuyên nhất có thể.

Thiếu một tiêu chuẩn giữa các cơ sở dữ liệu

Thay đổi cơ sở dữ liệu thiếu một tiêu chuẩn nhất quán bởi vì mọi công cụ đều có cách quản lý chúng khác nhau. Tác động của những thay đổi này cũng thay đổi từ động cơ đến động cơ. Ví dụ, các chỉ mục SQL Server không bị ảnh hưởng theo cùng một cách mà chỉ mục của Oracle hoặc MySQL.
Ngôn ngữ truy vấn có cấu trúc (SQL) có thể là các công cụ cơ sở dữ liệu duy nhất có điểm chung. Nhưng ngay cả sau đó, báo cáo cũng cung cấp các kết quả khác nhau.
Trong tương lai, chúng tôi trong ngành công nghiệp có thể có một thời gian dễ dàng hơn bởi vì chúng tôi đã chuẩn hóa cách chúng ta đối phó với cơ sở dữ liệu. Nhưng trong thời gian chờ đợi, hãy đảm bảo bạn lên kế hoạch trước cho cơ chế cơ sở dữ liệu có thể thay đổi như thế nào. Bạn có thể sử dụng các khung công tác ánh xạ đối tượng-quan hệ ( ORM ) và các công cụ khác để giảm bớt công việc. Tôi sẽ cung cấp cho bạn một số ví dụ trong phần sau của bài đăng này.

Tải xuống miễn phí

Kiến trúc kết hợp chặt chẽ

Hầu hết thời gian, các vấn đề trong cơ sở dữ liệu là do hệ thống được kiến ​​trúc như thế nào.
Khi bạn có một kiến ​​trúc kết hợp chặt chẽ với một cơ sở dữ liệu ở trung tâm… tốt, bạn có nhiều vấn đề nghiêm trọng hơn bao gồm các thay đổi cơ sở dữ liệu trong việc triển khai DevOps của bạn. Ngày nay, với các hệ thống phân tán trở thành chuẩn mực, có những mô hình kiến ​​trúc như các dịch vụ nhỏ đã giải quyết việc ghép nối cơ sở dữ liệu bằng cách cho mỗi microservice cơ sở dữ liệu riêng của nó.
Microservices là một cách tốt để tách riêng cơ sở dữ liệu. Cách duy nhất mà các dịch vụ nhỏ khác tương tác với dữ liệu là sử dụng các phương thức được tiếp xúc từ dịch vụ, thay vì truy cập trực tiếp vào cơ sở dữ liệu — ngay cả khi có thể và “dễ dàng hơn” để thực hiện theo cách đó.
Khi bạn chỉ sử dụng cơ sở dữ liệu cho mục đích lưu trữ, các thay đổi trở nên dễ dàng hơn. Chắc chắn, lý do bạn lưu trữ dữ liệu là phân tích dữ liệu đó. Đó là lý do tại sao, trong một số dự án tôi đã làm việc, chúng tôi đã chuyển dữ liệu đến kho dữ liệu, nơi những thay đổi sẽ rất hiếm. Chúng tôi đã để lại dữ liệu giao dịch chỉ với dữ liệu cần thiết. Những gì tôi vừa mô tả là tốt hơn được gọi là mô hình kiến ​​trúc CQRS . Chúng tôi đã có dữ liệu trong một tuần hoặc một tháng trong một số trường hợp.

Thiếu văn hóa và các quy trình được thiết lập tốt

Một khía cạnh quan trọng khác của DevOps cho cơ sở dữ liệu là sự thay đổi về văn hóa và quy trình cần thiết.
Rời việc xem xét các thay đổi cơ sở dữ liệu ở cuối luồng công việc là dấu hiệu giao tiếp kém giữa các nhóm. Có lẽ đơn giản là các đội không có cùng mục tiêu. Hoặc nó có thể là một vấn đề bản ngã, nơi mọi người nghĩ rằng họ không cần sự giúp đỡ và quá trình này chỉ là một chặn.
Bạn không còn phải chờ DBA xem xét các thay đổi cho đến giai đoạn cuối cùng; họ cần phải được tham gia càng sớm càng tốt trong quá trình này. Thời gian trôi qua, các nhà phát triển, các hoạt động và các DBA sẽ được thỏa thuận về cách thực hiện đúng các thay đổi trong cơ sở dữ liệu. Và càng có nhiều nhóm thực hành quy trình xem xét, nó càng mượt mà.
Khi có sự hợp tác dự đoán giữa các đội, những điều tốt đẹp có thể xuất hiện — và bạn nên làm cho nó trở thành một trong những mục tiêu chính của bạn mà mọi người đều nhận ra điều đó.

Thực hành kỹ thuật cho cơ sở dữ liệu

Chúng ta vừa nói về cách cơ sở dữ liệu có xu hướng là một vấn đề cụ thể trong DevOps và cách mọi thứ có thể tốt hơn. Nhưng cũng có những thực tiễn kỹ thuật sẽ thúc đẩy việc triển khai DevOps của bạn với những thay đổi về cơ sở dữ liệu.

Di chuyển đến cứu hộ

Di chuyển là các tập lệnh bao gồm các thay đổi cơ sở dữ liệu lý tưởng là không có giá trị, có nghĩa là bất kể bạn chạy tập lệnh bao nhiêu lần, các thay đổi sẽ chỉ được áp dụng một lần. Nó cũng tốt hơn để có các kịch bản trong kiểm soát phiên bản, do đó bạn có thể theo dõi các thay đổi và đi qua lại với những thay đổi dễ dàng hơn.
Nói cách khác, di chuyển là những thay đổi cơ sở dữ liệu như mã. Bạn có thể chạy chính xác cùng một di chuyển trong các môi trường khác nhau và kết quả sẽ giống nhau, bắt đầu với môi trường cục bộ — máy của nhà phát triển.

Thực hành trong môi trường giống như sản xuất

Hãy nói về một thực hành kỹ thuật khác dễ thực hiện nhưng có một chút kỷ luật: thử nghiệm.
Bạn cần phải thử nghiệm một thay đổi trước khi áp dụng nó vào một môi trường sản xuất. Nếu dữ liệu bảng rất lớn - quá lớn đến mức phải sao chép nó trong môi trường khác với sản xuất - hãy đảm bảo bạn ít nhất có thể mô phỏng thay đổi với một tập hợp dữ liệu quan trọng. Điều này sẽ giúp đảm bảo thay đổi sẽ không diễn ra mãi mãi và bạn sẽ không chặn bảng trong một thời gian dài.
Container là một cách tốt để thực hành. Chúng dễ dàng và rẻ tiền, và nếu có điều gì sai, bạn có thể vứt bỏ mọi thứ và bắt đầu lại.

Cơ sở dữ liệu

Chúng tôi không thể tiếp tục nói về cơ sở dữ liệu mà không đề cập đến một số công cụ. Có rất nhiều công cụ ở đó và những công cụ mới được phát hành mọi lúc và sau đó. Nhưng một số trong những cái phổ biến nhất và một số tôi đã sử dụng trước đây. Đây là danh sách, không theo thứ tự cụ thể:
  • Liquibase  (miễn phí)
  • Dữ liệu  (phiên bản trả tiền của Liquibase)
  • Redgate  (Microsoft Stack)
  • Delphix  (không chỉ để thay đổi cơ sở dữ liệu)
  • DBmaestro  (chúng thực sự được bán dưới dạng DevOps cho cơ sở dữ liệu)
Ngoài các công cụ cho các công cụ cơ sở dữ liệu, cũng có các khung công tác hỗ trợ quá trình di chuyển:
Ví dụ, chúng ta hãy bắt tay với Entity Framework trong .NET Core.

Hướng dẫn thực hành về cách sử dụng Entity Framework Core

Mặc dù có một số công cụ mạnh để tự động thay đổi cơ sở dữ liệu, chúng ta hãy xem xét một cách tiếp cận mà bạn có thể dễ dàng tự động hóa bằng các công cụ như Jenkins hoặc VSTS bằng cách sử dụng Entity Framework (EF) cho các ứng dụng .NET Core.
Tôi đã xây dựng một ứng dụng mẫu bằng cách sử dụng dự án Contoso University mà bạn có thể sao chép từ GitHub . Chúng ta có thể tạo một ứng dụng từ đầu, nhưng hãy sử dụng ứng dụng này để chúng ta có thể tập trung hoàn toàn vào các thay đổi cơ sở dữ liệu.
Chúng tôi sẽ thực hiện một thay đổi đơn giản chỉ để bạn có thể xem cách EF phát huy tác dụng.

Thiết lập dự án của bạn tại địa phương

Hãy bắt đầu bằng cách mở dự án bằng Visual Studio (VS). Bạn sẽ cần phải cài đặt .NET Core , và bạn sẽ chạy ứng dụng bằng tùy chọn IIS Express. Bạn cần một cá thể SQL Server để bạn có thể cài đặt / cấu hình một hoặc sử dụng một cài đặt SQL Server hiện có. Ý tưởng là bạn sẽ có thể thấy các thay đổi đang được áp dụng như thế nào trong cơ sở dữ liệu khi bạn tiến bộ.
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-vs-solution.png
Hãy bắt đầu bằng cách thay đổi một số tham số đầu vào để tránh xoay vòng cơ sở dữ liệu khi ứng dụng được khởi chạy. Chúng ta sẽ làm điều đó bằng tay bằng cách sử dụng các lệnh di trú EF. Mở các thuộc tính của dự án bằng cách nhấn chuột phải vào dự án “ContosoUniversity” và thay đổi các tham số gỡ lỗi sao cho chúng giống như sau:
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-vs-options.png
Đảm bảo bạn có cấu hình thích hợp để kết nối với cơ sở dữ liệu, đặc biệt là mật khẩu cơ sở dữ liệu. Bạn có thể thay đổi mật khẩu trong tập tin appsettings.json . Của tôi trông như thế này:
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-vs-connection.png
Chọn dự án “ContosoUniversity” và sau đó chạy nó bằng cách nhấp vào nút “Debug”. Ngay cả khi ứng dụng bắt đầu, nó sẽ không hoạt động vì cơ sở dữ liệu không tồn tại — chúng tôi chưa chạy lần di chuyển đầu tiên tạo cơ sở dữ liệu.
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-vs-debug.png

Khởi tạo cơ sở dữ liệu

Hãy mở một thiết bị đầu cuối. Bạn thậm chí có thể sử dụng dòng lệnh có trong VS. Chạy lệnh sau trong thư mục gốc của dự án để EF tạo lược đồ cơ sở dữ liệu.
cập nhật cơ sở dữ liệu dotnet ef
Bây giờ bạn có thể kết nối với cơ sở dữ liệu và kiểm tra xem tất cả các bảng cần thiết đã được tạo chưa.
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-created.png

Tải xuống miễn phí

Thực hiện thay đổi trong ứng dụng

Bây giờ chúng ta hãy thực hiện một thay đổi trong ứng dụng bằng cách thêm một cột mới. Để làm như vậy, hãy vào tệp Models / Student.cs và thêm cột. Nó sẽ giống như thế này:
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-model-student.png
Bây giờ hãy chuyển đến chế độ xem và thêm cột để dễ dàng thấy thay đổi.
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-view-student.png
Và để duy trì cột mới, bạn cần thay đổi mã của "Chế độ xem" trong tệp Create.cs , như sau:
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-create-view-code.png
Trước khi bạn chạy lại ứng dụng, hãy tạo di chuyển trong EF để lần sau bạn chạy cập nhật cơ sở dữ liệu, EF sẽ chạy bất kỳ di chuyển đang chờ xử lý nào. Để làm như vậy, hãy chạy lệnh sau:
di chuyển dotnet ef thêm AddStudentCollege
Khám phá giải pháp một chút và bạn sẽ thấy rằng một tệp mới được tạo với tất cả các chi tiết của quá trình di chuyển. Và hãy nhớ rằng, quá, mà chúng tôi đã đề cập, chúng tôi cần phải có những thay đổi này được phiên bản.
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-migration-created.png
Chạy lại ứng dụng. Giao diện người dùng sẽ được cập nhật, nhưng nó sẽ không hoạt động vì cơ sở dữ liệu chưa được cập nhật. Hãy chạy lại lệnh cập nhật để áp dụng bất kỳ di chuyển đang chờ xử lý nào.
cập nhật cơ sở dữ liệu dotnet ef
Làm mới ứng dụng. Nó sẽ hoạt động ngay bây giờ.
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-student-changed.png
Lần tới khi bạn hoặc người khác cần thực hiện thay đổi, một lần di chuyển mới sẽ được tạo. Áp dụng nó chỉ là vấn đề chạy lệnh cập nhật EF một lần nữa. Tất nhiên, khi bạn quen với nó, bạn sẽ tốt hơn khi tự động hóa các thay đổi cơ sở dữ liệu. Hãy nhớ rằng, DevOps cho cơ sở dữ liệu liên quan đến nhiều hơn là thực hành kỹ thuật.

Điều gì về rollbacks?

Cũng có thể hoàn nguyên bất kỳ thay đổi nào trong cơ sở dữ liệu sau khi bạn đã cập nhật cơ sở dữ liệu đích với các lần di chuyển gần đây. Để làm như vậy, bạn chỉ cần chạy lệnh sau:
di chuyển dotnet ef xóa
Nó sẽ xóa di chuyển mới nhất. Điều đó có nghĩa rằng nếu nhiều hơn một trong các di chuyển được áp dụng, lệnh này sẽ loại bỏ chỉ một trong những gần đây nhất. Bạn sẽ cần chạy lại lệnh để tiếp tục thay đổi cơ sở dữ liệu.

Điều gì sẽ xảy ra nếu bạn vẫn cần tạo tập lệnh?

Khi bạn vẫn đang điều chỉnh quy trình này, bạn có thể muốn kiểm tra chính xác những gì EF đang làm trong cơ sở dữ liệu trước khi áp dụng bất kỳ thay đổi nào. Vâng, bạn có thể xem lại các thay đổi trong định dạng SQL. EF có một lệnh để tạo ra các kịch bản trong một định dạng SQL mà bất kỳ DBA nào cũng sẽ hiểu được.
Để tạo các di chuyển ở định dạng SQL, hãy chạy lệnh sau:
tập lệnh di chuyển dotnet ef
Tất cả các câu lệnh SQL bạn cần sẽ xuất hiện trong terminal. Sau đó, bạn có thể lưu trữ đầu ra trong một tệp để xem xét sau.
https://www.hitsubscribe.com/wp-content/uploads/2018/06/db-script-created.png
Và đó là nó! Bây giờ bạn đã thực hành điều này trên máy tính của mình, bạn đã sẵn sàng để tự động hóa quy trình mới này bằng cách sử dụng Jenkins hoặc VSTS. Bạn sẽ chỉ cần chạy lệnh cập nhật trong đường dẫn triển khai sau khi ứng dụng đã được triển khai. Các nhà phát triển là những người sẽ sử dụng lệnh khác để tạo ra các di chuyển và đặt chúng dưới sự kiểm soát phiên bản.

Thay đổi cơ sở dữ liệu thay đổi sang bên trái

Như bạn đã thấy, không có công thức phép thuật nào mà tôi có thể cung cấp cho bạn để triển khai DevOps cho cơ sở dữ liệu. Có quá nhiều thứ liên quan. Nhưng bước đầu tiên là sẵn sàng ra khỏi vùng thoải mái của bạn và làm mọi việc tốt hơn.
Chấp nhận sự thay đổi. Tôi biết nó đáng sợ, đặc biệt là khi chúng ta đang nói về dữ liệu. Cố gắng giữ mọi thứ đơn giản nhất có thể từ quy trình đến kiến trúc . Tập trung vào việc có một kiến ​​trúc tách rời cho phép bạn thực hiện các thay đổi mà không có quá nhiều phức tạp. Và giáo dục chính mình! Tôi rất khuyên bạn nên  đăng bài này bởi Martin Fowler như là một nơi để bắt đầu.
Những thay đổi trong cơ sở dữ liệu không khó cho mỗi người; vấn đề là hàm ý của khả năng mất / làm hỏng tất cả hoặc một phần dữ liệu. Sự lặp lại và nhất quán là chìa khóa, đó là lý do tại sao bạn cần phải thực hành trước khi phát trực tiếp — không chỉ trước khi triển khai vào sản xuất.

Top 10 công cụ phát triển Node.js

Top 10 công cụ phát triển Node.js

Với việc giới thiệu Node.js, các nhà phát triển ứng dụng đã dễ dàng hơn trong việc tạo ra một ứng dụng web nhanh, đáng tin cậy và có khả năng mở rộng với ít dòng mã hơn. Node.js được tạo ra bởi Ryan Dahl trong năm 2009 bằng cách sử dụng môi trường thời gian chạy JavaScript của Google Chrome V8.
Phát triển phần mềm liên tục phát triển với sự xuất hiện của các công nghệ, xu hướng và ngôn ngữ lập trình mới . Nhưng với việc thực hiện Node.js và các mô-đun của nó, sự phát triển của các ứng dụng đã đơn giản hóa rất nhiều. Điều tốt nhất về Node.js là nó cho phép các nhà phát triển tạo ra một ứng dụng trên cả máy khách và máy chủ cùng một lúc.
Hôm nay, chúng tôi sẽ giới thiệu cho bạn một số công cụ phát triển phổ biến và thường được sử dụng cho Node.js.
  1. Express.js
  2. Socket.io
  3. Sao băng
  4. Keystone
  5. Koa.js
  6. PM2
  7. Electrode.js
  8. Babel
  9. Bông cải xanh
  10. Webpack

1. Express.js

Ảnh chụp màn hình Express.js
Express là một khung ứng dụng web Node.js mạnh mẽ và linh hoạt, cung cấp một bộ các tính năng hiệu quả để tạo các ứng dụng di động và web. Nó cũng cho phép người dùng tạo một API mạnh mẽ theo cách đơn giản và dễ dàng hơn nhiều. Với sự kết hợp của Node.js và Express.js, bạn có thể dễ dàng thiết kế toàn bộ một trang web. Node.js sẽ giúp bạn phát triển phần máy chủ, trong khi các ứng dụng có thể được xuất bản trên trang web bằng cách sử dụng Express.js. Nó chứa một số tính năng mạnh mẽ như khả năng tích hợp cơ sở dữ liệu, đơn giản hóa nhiều định tuyến và các công cụ mẫu để phát triển các ứng dụng mạnh mẽ và mạnh mẽ.

2. Socket.io

Ảnh chụp màn hình Socket.io
Socket.io có khả năng hỗ trợ truyền thông hai chiều và dựa trên sự kiện trong thời gian thực. Nó là một trong những động cơ thời gian thực nhanh nhất và đáng tin cậy nhất. Nó cung cấp phân tích thời gian thực cùng với quầy, nhật ký và biểu đồ. Nó cũng thích hợp cho hầu hết các ứng dụng trò chuyện và được triển khai rộng rãi bởi các công ty như Microsoft, Zendesk, Trello và một số công ty khởi nghiệp nhỏ. Nó cung cấp khả năng gỡ lỗi, khả năng mở rộng, tích hợp và hỗ trợ nhị phân tốt hơn nhiều. Nó chỉ đơn giản là tăng tốc độ công việc hàng ngày và dễ sử dụng cho cả người mới cũng như các lập trình viên có kinh nghiệm.

3. Meteor

Công cụ phát triển Meteor
Meteor có thể được định nghĩa là một khung công tác dựa trên Node.js. Nó có tiềm năng để viết mã đa nền tảng bao gồm Android, iOS và web. Nó được tích hợp với MongoDB và có thể dễ dàng được triển khai với bất kỳ thư viện tiện ích con giao diện người dùng JavaScript nào. Công cụ này có khả năng rút ngắn 1000 dòng mã thành chỉ 10. Bạn có thể phát triển các ứng dụng nhanh hơn và dễ sử dụng với nền tảng này so với bất kỳ nền tảng nào khác. Bạn có thể thực hiện công việc của mình một cách liền mạch trên công cụ Node.js này bao gồm truy cập cơ sở dữ liệu đến logic nghiệp vụ máy chủ để hiển thị cho máy khách.

New call-to-action

4. Keystone

Công cụ phát triển Keystone
Nếu bạn đang tìm kiếm những cách dễ nhất để tìm hiểu và bắt đầu phát triển các ứng dụng với Node.js, thì Keystone là nơi hoàn hảo cho bạn. Keystone, dựa trên Express, là một framework nguồn mở và đầy đủ. Nó sử dụng MongoDB làm cơ sở dữ liệu. Đó là một tùy chọn tốt hơn để tạo các trang web, ứng dụng và API dựa trên cơ sở dữ liệu trong Node.js. Tính năng thú vị nhất của công cụ này là giao diện người dùng được tạo tự động mà bạn có thể dễ dàng xử lý trang web của mình. Cả Express và MongoDB cùng nhau cung cấp một khung CMS mạnh mẽ. Vì vậy, hãy tải xuống công cụ này ngay bây giờ để bắt đầu tìm hiểu cách viết mã trong Node.js.

5. Koa.js

Công cụ phát triển Koa.js
Koa.js là một khung công tác web thế hệ tiếp theo cho Node.js. Nó được thiết kế bởi đội ngũ Express. Trong vòng một vài năm, nó đã được chứng minh là biểu cảm hơn, có kích thước nhỏ hơn và mạnh mẽ đặc biệt là để tạo các ứng dụng web và API. Nó đòi hỏi Node v7.6.0 hoặc cao hơn cho ES2015 và hỗ trợ chức năng async .
Nó không phụ thuộc vào middleware, không giống như các framework tương tự khác. Nó có sẵn các gói plugin hỗ trợ các hoạt động như định tuyến, nén, lưu bộ nhớ đệm, vv. Nó cũng có khả năng loại bỏ các cuộc gọi lại và làm giảm các lỗi.

6.  PM2

Công cụ phát triển PM2
Bất cứ khi nào chúng ta nói về các công cụ phát triển dễ dàng và đơn giản nhất được sử dụng trong Node.js, PM2, một trong những tên nổi tiếng, đều có trong đầu. Nó thực sự đóng vai trò như một trình quản lý quy trình, đặc biệt là cho các ứng dụng Node.js. Nó đi kèm với một tập hợp các tính năng lý tưởng cho môi trường sản xuất. Nó cũng có hỗ trợ cho cộng đồng các nhà phát triển và doanh nghiệp từ khắp nơi trên thế giới. Danh sách các tính năng của nó bao gồm:
Nó có khả năng giám sát và tải lại ứng dụng mà không có bất kỳ thời gian chết nào trong trường hợp xảy ra sự cố đột ngột. Các công ty phần mềm tài chính như Intuit , và cổng thanh toán trực tuyến PayPal sử dụng PM2.

7. Electrode.js

Công cụ phát triển điện cực
Electrode.js là một công cụ phát triển mạnh mẽ được tạo ra bởi WalmartLab. Công cụ này phổ biến rộng rãi và phù hợp cho các ứng dụng React.js và Node.js. Nó không chỉ là một tập hợp các thực hành tốt nhất, cấu trúc tiêu chuẩn hóa, và các công nghệ hiện đại - nó cũng bao gồm điện cực Explorer và Electrify. Công cụ này sẽ đảm bảo khả năng sử dụng lại các thành phần, hiệu năng tốt và triển khai các ứng dụng lên đám mây. Người dùng bất kỳ cấp độ kỹ năng nào cũng có thể dễ dàng tìm hiểu và thực hiện các thực hành mã hóa. Hãy thử cài đặt và làm việc trên đó.

8. Babel

Công cụ phát triển Babel
Babel có thể được xem như một chuỗi công cụ được triển khai rộng rãi để chuyển đổi mã ECMAScript 2015+ thành phiên bản tương thích ngược của JavaScript. Nó thường được sử dụng như một công cụ phát triển front-end. Nó cũng cung cấp hỗ trợ cho phiên bản mới nhất của JavaScript.
Chúng ta hãy xem xét một số tính năng thú vị và mạnh mẽ của Babel. Các tính năng chính của Babel được liệt kê dưới đây:
  • Khả năng biến đổi cú pháp. Nó cũng cố gắng sử dụng mã ít nhất có thể.
  • Hỗ trợ các tính năng như chuyển đổi mã nguồn và chèn mã nguồn.
  • Cung cấp bản đồ hỗ trợ để bạn có thể gỡ lỗi mã dễ dàng.
  • Không chứa bất kỳ plugin tích hợp nào. Bạn có thể tạo plugin của riêng bạn và sau đó sử dụng nó.

9. Bông cải xanh

Công cụ phát triển bông cải xanh
Bông cải xanh có thể được gọi là công cụ phát triển Node.js dựa trên mô-đun ES6. Nó là một tài sản nhanh chóng, đáng tin cậy , hỗ trợ xây dựng lại thời gian không đổi và các định nghĩa xây dựng nhỏ gọn . Đặc tả xây dựng nằm trong tệp Brocfile.js trong thư mục gốc của dự án. Bạn có thể dễ dàng sử dụng công cụ này. Nhấp vào liên kết bên dưới hình ảnh để tải xuống từ GitHub.

10. Webpack

Ảnh chụp màn hình Webpack
Webpack được sử dụng rộng rãi cùng với Node.js vì nó có khả năng đóng gói và phân phát nội dung dễ dàng hơn và nhanh hơn các công cụ phát triển khác. Nó thực sự đơn giản hóa quá trình tổng thể triển khai các ứng dụng và làm cho quá trình phát triển dễ dàng.
Tuy nhiên, nó cũng được sử dụng để nhóm các trang JavaScript để được triển khai thêm trong trình duyệt. Do đó, thời gian tải ban đầu tổng thể được giảm thiểu.