Làm cách nào để triển khai máy chủ bằng Python?

Triển khai liên quan đến việc đóng gói ứng dụng web của bạn và đưa nó vào môi trường sản xuất có thể chạy ứng dụng

Tại sao triển khai là cần thiết?

Ứng dụng web của bạn phải nằm ở đâu đó ngoài máy tính để bàn hoặc máy tính xách tay của riêng bạn. Môi trường sản xuất là phiên bản chính tắc của ứng dụng hiện tại của bạn và dữ liệu liên quan của nó

Bản đồ chủ đề triển khai

Việc triển khai ứng dụng web Python bao gồm nhiều phần cần được định cấu hình riêng lẻ. Đây là bản đồ mô tả trực quan cách mỗi chủ đề triển khai liên quan với nhau. Nhấp vào hình ảnh để kéo lên một phiên bản PDF

Tùy chọn lưu trữ triển khai

Có bốn tùy chọn để triển khai và lưu trữ một ứng dụng web

Ba tùy chọn đầu tiên là tương tự. Người triển khai cần cung cấp một hoặc nhiều máy chủ với bản phân phối Linux. Các gói hệ thống, máy chủ web, máy chủ WSGI, cơ sở dữ liệu và môi trường Python sau đó được cài đặt. Cuối cùng, ứng dụng có thể được lấy từ nguồn và cài đặt trong môi trường

Lưu ý rằng có nhiều cách khác để cài đặt ứng dụng web Python thông qua các hệ thống quản lý gói dành riêng cho hệ thống. Chúng tôi sẽ không đề cập đến những điều đó trong hướng dẫn này vì chúng được coi là các kỹ thuật triển khai nâng cao

Công cụ triển khai

  • teletraan là hệ thống triển khai được sử dụng bởi các nhóm phát triển tại Pinterest, một cửa hàng Python khổng lồ

  • quần là một hệ thống xây dựng ban đầu được tạo tại Twitter và hiện được tách ra thành dự án nguồn mở bền vững của riêng mình

  • Tuốc nơ vít là một hệ thống xây dựng nguồn mở ban đầu được phát triển tại Yahoo. bây giờ là mã nguồn mở. Tìm hiểu thêm về nó trong bài giới thiệu có chứa lý do tạo ra nó

Tài nguyên triển khai

  • Xin chào, sản xuất đưa ra triết lý mạnh mẽ về việc đưa một dự án vào sản xuất càng sớm càng tốt trong vòng đời của dự án để thiết lập quy trình, xác định các vấn đề và tắc nghẽn cũng như xây dựng nền tảng để phân phối liên tục. Bài đăng cũng đề cập đến những phản đối phổ biến và cung cấp một số lập luận để giúp bạn thuyết phục người khác rằng chiến lược này là cách đúng đắn để thực hiện mọi dự án

  • Triển khai liên tục tự động tại Heroku giải thích hệ thống triển khai của Heroku, các kiểm tra mà họ sử dụng để đảm bảo chất lượng mã và những gì họ đã học được từ việc xây dựng đường ống và quy trình

  • Triển khai các ứng dụng web Python là một phần của loạt podcast Talk Python to Me tuyệt vời, nơi tôi thảo luận về việc triển khai các ứng dụng web dựa trên một máy chủ riêng ảo khá truyền thống, Nginx và Green Unicorn stack.

  • Suy nghĩ về việc triển khai ứng dụng web đi qua các giai đoạn triển khai với kiểm soát nguồn, lập kế hoạch, triển khai liên tục và theo dõi kết quả

  • Triển khai phần mềm là một cuốn sách dài phải đọc để hiểu cách triển khai phần mềm đúng cách

  • Sự phát triển của mã triển khai tại Reddit dạy về lịch sử, bao gồm cả những sai lầm, mà các nhóm phát triển của Reddit đã học được khi họ mở rộng quy mô nhóm phát triển và lưu lượng truy cập trên một trong những trang web được truy cập nhiều nhất trên thế giới

  • Các chiến lược triển khai được xác định giải thích nhiều cách khác nhau mà các nhóm phát triển triển khai các ứng dụng, từ liều lĩnh đến theo phiên bản

  • Cách chúng tôi phát hành thường xuyên như vậy cung cấp tổng quan cấp cao về chiến thuật để biết cách các nhóm ở quy mô lớn có thể triển khai các thay đổi vài lần mỗi ngày hoặc hơn với sự tự tin rằng hệ thống sẽ không hoàn toàn thất bại. Sẽ có lỗi, nhưng điều đó không có nghĩa là toàn bộ hoạt động sẽ dừng lại

  • Triển khai thực tế với Canary giải thích cách SoundCloud tự động hóa quy trình triển khai của họ và sử dụng các bản dựng của canary để xác định và khôi phục các vấn đề nhằm giảm thiểu các vấn đề về độ tin cậy có thể xảy ra với phần mềm vận chuyển ở quy mô lớn

  • Triển khai liên tục thực tế xác định phân phối so với triển khai và đi qua quy trình triển khai liên tục

  • 5 cách để triển khai ứng dụng Python của bạn vào năm 2017 là một bài nói chuyện từ PyCon US 2017, nơi Andrew Baker triển khai ứng dụng Flask bắt đầu sử dụng Ngrok, Heroku, Zappa trên nền tảng AWS Lambda không có máy chủ, một máy ảo trên Google Cloud và Docker

  • Triển khai liên tục tại Instagram là câu chuyện về quá trình triển khai của họ phát triển như thế nào theo thời gian từ một tập lệnh Fabric lớn đến triển khai liên tục. Trên đường đi, họ đã gặp phải các sự cố với đánh giá mã, lỗi kiểm tra, bản dựng và khôi phục của chim hoàng yến. Đây là một bài đọc tuyệt vời làm sáng tỏ cách triển khai Python có thể được thực hiện tốt ở quy mô lớn

  • Hướng dẫn của Stack Overflow về cách họ triển khai là một bài đọc chuyên sâu tuyệt vời bao gồm các chủ đề khác nhau, từ phân nhánh git đến di chuyển cơ sở dữ liệu

  • TestDriven. io trình bày cách triển khai kiến ​​trúc vi dịch vụ sử dụng Docker, Flask và React với điều phối vùng chứa trên Amazon ECS

Danh sách kiểm tra học tập triển khai

  1. Nếu bạn không có nhiều thời gian, hãy xem các tùy chọn nền tảng dưới dạng dịch vụ [PaaS]. Bạn có thể triển khai ứng dụng web dự án có lưu lượng truy cập thấp miễn phí hoặc chi phí thấp. Bạn sẽ không phải lo lắng về việc thiết lập hệ điều hành và máy chủ web so với việc đi theo con đường máy chủ truyền thống. Về lý thuyết, bạn sẽ có thể đưa ứng dụng của mình lên web sớm hơn với dịch vụ lưu trữ PaaS

  2. Các tùy chọn máy chủ truyền thống là cách tốt nhất để bạn tìm hiểu cách thức hoạt động của toàn bộ ngăn xếp web Python. Bạn sẽ thường xuyên tiết kiệm tiền với máy chủ riêng ảo thay vì nền tảng dưới dạng dịch vụ khi bạn mở rộng quy mô

  3. Đọc về máy chủ, hệ điều hành, máy chủ web và máy chủ WSGI để có được bức tranh toàn cảnh về những thành phần nào cần được thiết lập để chạy ứng dụng web Python

Chủ Đề