Production trong CI/CD — nó là gì, các giai đoạn và môi trường trong phát triển

Tác giả: IT Sectr Đã đăng: 2026-04-12 Thời gian đọc: 9 phút

Môi trường production là nơi ứng dụng hoạt động với người dùng và dữ liệu thực. Không giống như development và staging, production đòi hỏi sự chú ý cao hơn đến tính ổn định, hiệu suất và khả năng chịu lỗi. Theo DORA (2024), các nhóm có mức độ trưởng thành DevOps cao triển khai lên production nhiều hơn 200 lần so với các nhóm có mức độ trưởng thành thấp. Pipeline CI/CD tự động hóa quy trình này, giảm rủi ro lỗi con người và tăng tốc độ phân phối thay đổi đến người dùng.

Những điểm chính

  • Production là môi trường triển khai cuối cùng nơi ứng dụng có sẵn cho người dùng thực
  • Pipeline CI/CD tự động hóa việc xây dựng, kiểm thử và triển khai lên production
  • So với staging production khác biệt ở dữ liệu cô lập, quyền truy cập nghiêm ngặt và yêu cầu SLA
  • Giám sát production bao gồm theo dõi uptime, độ trễ, tỷ lệ lỗi và lưu lượng
  • Bảo mật môi trường production được xây dựng trên truy cập đa yếu tố và kiểm toán mọi thay đổi

Production trong CI/CD là gì?

Production trong bối cảnh CI/CD là giai đoạn cuối cùng của vòng đời ứng dụng, nơi mã nguồn sau khi vượt qua tất cả các giai đoạn xây dựng và kiểm thử sẽ có sẵn cho người dùng cuối. Không giống như môi trường phát triển và staging, môi trường production hoạt động với dữ liệu và tải thực, điều này đặt ra các yêu cầu đặc biệt về độ tin cậy và hiệu suất.

Vai trò của môi trường production

Môi trường production không chỉ là một máy chủ, mà là toàn bộ cơ sở hạ tầng bao gồm bộ cân bằng tải, cơ sở dữ liệu, lớp bộ nhớ đệm, CDN và hệ thống giám sát. Mỗi thành phần phải có khả năng chịu lỗi và mở rộng. Trong phát triển di động, production cũng bao gồm các dịch vụ backend, cổng API và cơ sở hạ tầng push hỗ trợ ứng dụng khách.

Yêu cầu đối với môi trường production

Môi trường production phải đáp ứng các tiêu chí nghiêm ngặt: tính khả dụng 99,9% trở lên, thời gian phản hồi API không quá 200 ms, hỗ trợ khôi phục thảm họa (RTO và RPO trong SLA). Đối với ứng dụng di động, cần thêm báo cáo sự cố, phân tích sử dụng và nền tảng A/B cho thử nghiệm. Pipeline CI/CD đảm bảo tuân thủ các yêu cầu này thông qua kiểm tra tự động trước mỗi lần triển khai.

Các giai đoạn triển khai lên production

Triển khai lên production là một quy trình nhiều giai đoạn được tự động hóa thông qua pipeline CI/CD. Mỗi giai đoạn bao gồm các kiểm tra ngăn mã lỗi đến được production. Hãy xem xét các giai đoạn chính bằng ví dụ về pipeline điển hình cho ứng dụng di động.

Pipeline CI/CD cho production

Pipeline bắt đầu với một commit vào nhánh chính của kho lưu trữ. Sau khi push, quá trình xây dựng tự động và kiểm thử đơn vị được khởi chạy, tiếp theo là kiểm thử tích hợp và kiểm tra chất lượng mã. Sau khi hoàn thành thành công tất cả các giai đoạn, artifact được xuất bản lên sổ đăng ký bản dựng và triển khai lên staging để xác minh cuối cùng. Chỉ sau khi xác nhận trên staging, pipeline mới tiến hành triển khai lên production.

groovy
@Library("shared-lib") _

pipeline {
    agent any

    stages {
        stage("Build") {
            steps {
                sh "cd app && ./gradlew assembleRelease"
            }
        }
        stage("Test") {
            steps {
                sh "cd app && ./gradlew testRelease"
            }
        }
        stage("Deploy to Staging") {
            steps {
                sh "deploy-staging.sh"
            }
        }
        stage("Deploy to Production") {
            input "Deploy to production?"
            steps {
                sh "deploy-production.sh"
            }
        }
    }
}

Tự động hóa triển khai

Triển khai tự động lên production sử dụng các chiến lược triển khai không gián đoạn: rolling update, blue-green deployment hoặc canary release. Với rolling update, các phiên bản ứng dụng mới dần dần thay thế các phiên bản cũ mà không dừng dịch vụ. Blue-green deployment duy trì hai môi trường giống hệt nhau và chuyển lưu lượng ngay lập tức, cho phép khôi phục nhanh nếu có sự cố. Việc lựa chọn chiến lược phụ thuộc vào mức độ quan trọng của dịch vụ và thời gian gián đoạn chấp nhận được. Đối với ứng dụng di động, triển khai lên production bao gồm xuất bản lên cửa hàng ứng dụng (App Store Connect, Google Play Console) với triển khai theo giai đoạn, đòi hỏi tích hợp CI/CD bổ sung với API cửa hàng để tự động hóa quy trình xuất bản, bao gồm tải lên tệp nhị phân, điền siêu dữ liệu và gửi đi xem xét.

Kiểm tra sau triển khai

Sau khi triển khai thành công lên production, pipeline CI/CD khởi chạy một bộ kiểm thử khói để xác minh chức năng cơ bản của dịch vụ: tính khả dụng của endpoint, tính chính xác của phản hồi API, thời gian phản hồi trong giới hạn bình thường. Đối với ứng dụng di động, khả năng ủy quyền, đồng bộ dữ liệu và hoạt động chính xác của tích hợp thanh toán cũng được kiểm tra thêm. Nếu kiểm thử khói thất bại, pipeline tự động khởi tạo rollback về phiên bản ổn định trước đó và gửi thông báo cho nhóm. Giám sát sau triển khai tiếp tục trong 30-60 phút với mức cảnh báo tăng cao — đây là khoảng thời gian để phát hiện các vấn đề không được kiểm thử tự động bao phủ.

Chiến lượcThời gian gián đoạnTốc độ khôi phụcĐộ phức tạp
Rolling updateTối thiểuDần dầnThấp
Blue-greenKhôngTức thờiTrung bình
CanaryKhôngDần dầnCao

Sự khác biệt giữa production và môi trường kiểm thử

Sự khác biệt chính giữa production và các môi trường ít nghiêm ngặt hơn là làm việc với dữ liệu và tải người dùng thực. Môi trường staging được thiết kế để kiểm thử cuối cùng trước khi phát hành nhưng sử dụng dữ liệu tổng hợp hoặc ẩn danh. Production, mặt khác, xử lý các giao dịch trực tiếp, dữ liệu cá nhân và các hoạt động quan trọng, đòi hỏi một cách tiếp cận quản lý hoàn toàn khác.

Cấu hình và cơ sở hạ tầng

Cấu hình môi trường production phải được cô lập nghiêm ngặt khỏi các môi trường khác. Điều này áp dụng cho các biến môi trường, chuỗi kết nối cơ sở dữ liệu, khóa API và chứng chỉ. Cơ sở hạ tầng production thường được nhân bản trên nhiều vùng khả dụng để đảm bảo khả năng chịu lỗi. Đối với ứng dụng di động, production cũng bao gồm cấu hình Apple App Store và Google Play không có trong bản dựng kiểm thử.

Quản lý dữ liệu

Trong production, nghiêm cấm sử dụng dữ liệu thực để kiểm thử — môi trường staging và phát triển tồn tại cho mục đích đó. Tất cả các thay đổi cấu trúc cơ sở dữ liệu phải thông qua di chuyển mà pipeline CI/CD tự động áp dụng. Sao lưu dữ liệu production được thực hiện theo lịch trình với xác minh tính toàn vẹn tự động. Chính sách lưu giữ xác định thời gian lưu trữ bản sao lưu theo yêu cầu GDPR và các quy định khác.

Giám sát cơ sở hạ tầng production

Giám sát production là một quy trình liên tục thu thập và phân tích các số liệu, nhật ký và dấu vết. Nếu không có giám sát toàn diện, không thể đảm bảo SLA và phát hiện sự cố kịp thời. Cách tiếp cận hiện đại đối với giám sát dựa trên ba trụ cột: số liệu (chỉ số định lượng), nhật ký (bản ghi sự kiện có cấu trúc) và dấu vết (theo dõi yêu cầu).

Các số liệu chính

Các số liệu chính của môi trường production bao gồm: uptime (tính khả dụng của dịch vụ), độ trễ (thời gian phản hồi), tỷ lệ lỗi (phần trăm lỗi), thông lượng (băng thông) và độ bão hòa (mức tải tài nguyên). Đối với ứng dụng di động, số liệu thời gian khởi động, tỷ lệ không gặp sự cố và thời gian đồng bộ dữ liệu là rất quan trọng. Cảnh báo được cấu hình dựa trên SLO (Mục tiêu cấp độ dịch vụ) để nhóm nhận được thông báo trước khi SLA bị vi phạm.

Công cụ giám sát

Các nền tảng chuyên dụng được sử dụng để giám sát cơ sở hạ tầng production: Datadog, New Relic, Grafana + Prometheus để thu thập số liệu, Sentry và Crashlytics để theo dõi lỗi trong ứng dụng di động. Nhật ký được tập trung hóa qua ELK stack (Elasticsearch, Logstash, Kibana) hoặc Splunk. Theo dõi yêu cầu được thực hiện bằng Jaeger hoặc Zipkin. Tất cả các công cụ được tích hợp với pipeline CI/CD để tự động tạo bảng điều khiển khi triển khai dịch vụ mới. Hệ thống phản ứng sự cố (PagerDuty, Opsgenie) nhận cảnh báo từ tất cả các công cụ giám sát và tự động chỉ định người trực dựa trên quy tắc luân phiên và leo thang. Runbook cho mỗi loại sự cố được lưu trữ trong kho lưu trữ và được quản lý phiên bản cùng với mã nguồn, đảm bảo tính phù hợp của hướng dẫn khôi phục.

Bảo mật môi trường production

Bảo mật môi trường production là một hệ thống bảo vệ đa lớp bao gồm cơ sở hạ tầng, dữ liệu, quyền truy cập và quy trình triển khai. Mỗi lớp phải được cấu hình sao cho việc xâm phạm một lớp không dẫn đến xâm phạm toàn bộ hệ thống. Pipeline CI/CD đóng vai trò chính trong việc đảm bảo bảo mật thông qua kiểm tra tự động, quét lỗ hổng và kiểm soát tuân thủ ở mỗi giai đoạn pipeline.

Truy cập và vai trò

Quyền truy cập vào môi trường production bị giới hạn nghiêm ngặt theo nguyên tắc đặc quyền tối thiểu. Nhà phát triển không có quyền truy cập trực tiếp vào máy chủ production — tất cả các thay đổi đều thông qua pipeline CI/CD với cơ chế phê duyệt. Đối với truy cập khẩn cấp, thông tin xác thực tạm thời với luân chuyển tự động và ghi nhật ký hành động đầy đủ được sử dụng. Nguyên tắc bốn mắt (mọi hoạt động đều cần sự phê duyệt của hai người) là tiêu chuẩn cho các hoạt động production.

Kiểm toán thay đổi

Mọi thay đổi trong production đều được ghi lại trong hệ thống kiểm toán: ai đã khởi tạo triển khai, commit nào đã được triển khai, những kiểm tra nào đã vượt qua, quá trình triển khai mất bao lâu. Tích hợp CI/CD với hệ thống quản lý sự cố (PagerDuty, Opsgenie) cho phép tự động tạo ticket khi triển khai thất bại hoặc SLO bị vi phạm. Tất cả nhật ký production được lưu trữ trong kho lưu trữ bất biến với thời gian lưu giữ ít nhất 90 ngày theo yêu cầu SOC2 và ISO 27001.

Câu hỏi thường gặp

Production khác staging như thế nào?

Staging là môi trường kiểm thử cuối cùng trước khi phát hành sử dụng dữ liệu tổng hợp hoặc ẩn danh. Production hoạt động với người dùng thực, tải thực và dữ liệu nhạy cảm, do đó yêu cầu về bảo mật và khả năng chịu lỗi trong production cao hơn đáng kể. Staging và production nên giống hệt nhau nhất có thể về cấu hình, nhưng hoàn toàn cô lập.

Bao lâu nên triển khai lên production một lần?

Tần suất triển khai phụ thuộc vào mức độ trưởng thành của quy trình CI/CD và loại ứng dụng. Theo DORA (2024), các nhóm hiệu suất cao triển khai hàng ngày hoặc thậm chí nhiều lần trong ngày. Đối với ứng dụng di động, tần suất bị giới hạn bởi chu kỳ xem xét của App Store và Google Play, nhưng các dịch vụ backend có thể được triển khai nhiều lần trong ngày với kiểm thử tự động toàn diện.

Làm gì khi triển khai lên production thất bại?

Khi triển khai thất bại, quy trình rollback được khởi tạo ngay lập tức — quay trở lại phiên bản ổn định trước đó. Pipeline CI/CD nên hỗ trợ rollback tự động khi các số liệu chính (tỷ lệ lỗi, độ trễ) suy giảm. Sau khi ổn định, phân tích post-mortem được thực hiện: xác định nguyên nhân gốc rễ, tạo tác vụ sửa lỗi và thêm các kiểm tra tự động để ngăn chặn sự cố tái diễn.

Những số liệu nào quan trọng đối với production?

Các số liệu quan trọng: uptime (tính khả dụng của dịch vụ), độ trễ (thời gian phản hồi p95 và p99), tỷ lệ lỗi (phần trăm HTTP 5xx và ngoại lệ), độ bão hòa (CPU, bộ nhớ, đĩa, mạng) và thông lượng (RPS). Đối với ứng dụng di động, tỷ lệ không gặp sự cố, thời gian khởi động nguội và tần suất ANR (Ứng dụng không phản hồi) cũng quan trọng. Mỗi số liệu nên có SLO và cảnh báo tương ứng.

Làm thế nào để bảo vệ production khỏi lỗi con người?

Phương pháp bảo vệ chính là tự động hóa thông qua pipeline CI/CD: tất cả các thay đổi đều thông qua pipeline với kiểm tra bắt buộc và cơ chế xem xét. Ngoài ra, các biện pháp sau được áp dụng: nguyên tắc bốn mắt (phê duyệt bởi hai nhà phát triển cấp cao), feature flag để triển khai dần dần tính năng, canary deployment để giảm rủi ro và kiểm thử tự động bao phủ các kịch bản quan trọng. Truy cập trực tiếp vào production chỉ được phép thông qua các quy trình DevOps đã được phê duyệt.

Tổng kết

  • Production là môi trường cuối cùng để chạy ứng dụng với người dùng thực và dữ liệu quan trọng
  • Pipeline CI/CD tự động hóa quy trình triển khai: từ xây dựng và kiểm thử đến triển khai và giám sát
  • Chiến lược không gián đoạn (rolling update, blue-green, canary) đảm bảo hoạt động production liên tục
  • Giám sát production dựa trên số liệu, nhật ký và dấu vết với SLO và cảnh báo bắt buộc
  • Bảo mật dựa trên nguyên tắc đặc quyền tối thiểu, phê duyệt bốn mắt và kiểm toán đầy đủ mọi thay đổi
  • Tần suất triển khai lên production tương quan trực tiếp với mức độ trưởng thành DevOps và tự động hóa kiểm thử
  • Quy trình rollback phải được chuẩn bị trước: rollback tự động khi số liệu suy giảm và post-mortem sau mỗi sự cố

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm