KoderKoder.ai
ਕੀਮਤਾਂਐਂਟਰਪ੍ਰਾਈਜ਼ਸਿੱਖਿਆਨਿਵੇਸ਼ਕਾਂ ਲਈ
ਲੌਗ ਇਨਸ਼ੁਰੂ ਕਰੋ

ਉਤਪਾਦ

ਕੀਮਤਾਂਐਂਟਰਪ੍ਰਾਈਜ਼ਨਿਵੇਸ਼ਕਾਂ ਲਈ

ਸਰੋਤ

ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋਸਹਾਇਤਾਸਿੱਖਿਆਬਲੌਗ

ਕਾਨੂੰਨੀ

ਗੋਪਨੀਯਤਾ ਨੀਤੀਵਰਤੋਂ ਦੀਆਂ ਸ਼ਰਤਾਂਸੁਰੱਖਿਆਸਵੀਕਾਰਯੋਗ ਵਰਤੋਂ ਨੀਤੀਦੁਰਵਰਤੋਂ ਦੀ ਰਿਪੋਰਟ ਕਰੋ

ਸੋਸ਼ਲ

LinkedInTwitter
Koder.ai
ਭਾਸ਼ਾ

© 2026 Koder.ai. ਸਾਰੇ ਅਧਿਕਾਰ ਰਾਖਵੇਂ ਹਨ।

ਹੋਮ›ਬਲੌਗ›ਫੀਚਰ ਰੋਲਬੈਕ ਫੈਸਲਿਆਂ ਲਈ ਵੈੱਬ ਐਪ ਕਿਵੇਂ ਬਣਾਈਏ
07 ਸਤੰ 2025·8 ਮਿੰਟ

ਫੀਚਰ ਰੋਲਬੈਕ ਫੈਸਲਿਆਂ ਲਈ ਵੈੱਬ ਐਪ ਕਿਵੇਂ ਬਣਾਈਏ

ਇੱਕ ਐਸੀ ਵੈੱਬ ਐਪ ਡਿਜ਼ਾਇਨ ਅਤੇ ਬਣਾਉਣ ਦਾ ਤਰੀਕਾ ਸਿੱਖੋ ਜੋ ਰੋਲਬੈਕ ਸਿਗਨਲਾਂ, ਮਨਜ਼ੂਰੀਆਂ ਅਤੇ ਆਡਿਟ ਟਰੇਲ ਨੂੰ ਕੇਂਦ੍ਰਿਤ ਕਰੇ—ਤਾਂ ਜੋ ਟੀਮ ਤੇਜ਼ੀ ਨਾਲ ਫੈਸਲੇ ਕਰ ਸਕਣ ਅਤੇ ਜੋਖਮ ਘੱਟ ਹੋਵੇ।

ਫੀਚਰ ਰੋਲਬੈਕ ਫੈਸਲਿਆਂ ਲਈ ਵੈੱਬ ਐਪ ਕਿਵੇਂ ਬਣਾਈਏ

ਐਪ ਨੂੰ ਕਿਹੜੀ ਸਮੱਸਿਆ ਹੱਲ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ (ਅਤੇ ਕਿਸ ਲਈ)

“ਰੋਲਬੈਕ ਫੈਸਲਾ” ਉਹ ਸਮਾਂ ਹੈ ਜਦੋਂ ਟੀਮ ਇਹ ਨਿਰਣਯ ਕਰਦੀ ਹੈ ਕਿ ਪਹਿਲਾਂ ਤੋਂ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਕੀਤੇ ਬਦਲਾਵ ਨੂੰ ਵਾਪਸ ਕਰਨਾ ਹੈ ਜਾਂ ਨਹੀਂ—ਫੀਚਰ ਫਲੈਗ ਨੂੰ ਬੰਦ ਕਰਨਾ, ਡਿਪਲੌਇ ਰਿਵਰਟ ਕਰਨਾ, ਕਨਫਿਗ ਰੋਲਬੈਕ ਕਰਨਾ ਜਾਂ ਰਿਲੀਜ਼ ਖਿੱਚਣਾ। ਇਹ ਸਧਾਰਨ ਲੱਗਦਾ ਹੈ ਪਰ ਘਟਨਾ ਦੇ ਦੌਰਾਨ ਦਿਖਾਈ ਦੇਦਾ ਹੈ: ਸਿਗਨਲ ਟਕਰਾਉਂਦੇ ਹਨ, ਮਾਲਿਕੀਅਤ ਅਸਪਸ਼ਟ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਹਰ ਮਿੰਟ ਦੇ ਬਿਨਾਂ ਫੈਸਲੇ ਦੀ ਕੀਮਤ ਹੁੰਦੀ ਹੈ।

ਟੀਮਾਂ ਨੂੰ ਮੁਸ਼ਕਲ ਇਸ ਲਈ ਆਉਂਦੀ ਹੈ ਕਿ ਸਾਰੇ ਇਨਪੁੱਟ ਵੱਖ-ਵੱਖ ਜਗ੍ਹਾਂ 'ਤੇ ਹੁੰਦੇ ਹਨ। ਮਾਨੀਟਰਿੰਗ ਗ੍ਰਾਫ ਇੱਕ ਟੂਲ ਵਿੱਚ, ਸਪੋਰਟ ਟਿਕਟ ਦੂਜੇ ਵਿੱਚ, CI/CD ਵਿੱਚ ਡਿਪਲੌਇ ਹਿਸਟਰੀ, ਫੀਚਰ ਫਲੈਗ ਕਿਸੇ ਹੋਰ ਥਾਂ ਤੇ, ਅਤੇ “ਫੈਸਲਾ” ਅਕਸਰ ਇੱਕ ਰੈਸ਼-ਚੈਟ ਵਿੱਚ ਹੁੰਦਾ ਹੈ। ਬਾਅਦ ਵਿੱਚ, ਜਦੋਂ ਕੋਈ ਪੁੱਛਦਾ ਹੈ “ਅਸੀਂ ਰੋਲਬੈਕ ਕਿਉਂ ਕੀਤਾ?” ਤਾਂ ਸਬੂਤ ਗਾਇਬ ਹੋ ਜਾਂਦਾ ਹੈ—ਜਾਂ ਦੁਬਾਰਾ ਬਣਾਉਣਾ ਦਰਦਨਾਕ ਹੁੰਦਾ ਹੈ।

ਐਪ ਦਾ ਉਦੇਸ਼

ਇਸ ਵੈੱਬ ਐਪ ਦਾ ਉਦੇਸ਼ ਇੱਕੋ ਥਾਂ ਬਣਾਉਣਾ ਹੈ ਜਿੱਥੇ:

  • ਸਿਗਨਲ ਇਕੱਠੇ ਕੀਤੇ ਜਾਂਦੇ ਹਨ (ਮੈਟ੍ਰਿਕਸ, ਐਰਰ ਰੇਟ, ਗਾਹਕ ਪ੍ਰਭਾਵ, ਐਕਸਪੇਰੀਮੈਂਟ ਨਤੀਜੇ)।
  • ਫੈਸਲੇ ਦਰਜ ਕੀਤੇ ਜਾਂਦੇ ਹਨ (ਤੁਸੀਂ ਕੀ ਚੁਣਿਆ, ਕਿਸ ਨੇ ਮਨਜ਼ੂਰ ਕੀਤਾ, ਕਿਹੜੇ ਵਿੱਕਲਪ ਵੇਖੇ ਗਏ)।
  • ਕਾਰਵਾਈਆਂ ਕੋਆਰਡੀਨੇਟ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ (ਕਿਹੜਾ ਰੋਲਬੈਕ ਕਦਮ ਚਲਾਇਆ ਗਿਆ, ਕਦੋਂ, ਅਤੇ ਕਿਸ ਦੁਆਰਾ)।

ਇਸਦਾ ਮਤਲਬ ਇਹ ਨਹੀਂ ਕਿ ਇਹ ਇਕ ਵੱਡਾ ਲਾਲ ਬਟਨ ਹੋਵੇ ਜੋ ਆਟੋਮੈਟਿਕ ਰੋਲਬੈਕ ਕਰ ਦੇਵੇ। ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ ਇਹ ਫੈਸਲਾ ਸਹਾਇਤਾ ਹੈ: ਇਹ ਲੋਕਾਂ ਨੂੰ “ਅਸੀਂ ਚਿੰਤਤ ਹਾਂ” ਤੋਂ “ਅਸੀਂ ਭਰੋਸੇਮੰਦ ਹਾਂ” ਦੀ ਦਿਸ਼ਾ ਵਿੱਚ ਸਾਂਝਾ ਸੰਦਰਭ ਅਤੇ ਸਪਸ਼ਟ ਵਰਕਫਲੋ ਦੇ ਕੇ ਮਦਦ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਆਟੋਮੇਸ਼ਨ ਜੋੜ ਸਕਦੇ ਹੋ, ਪਰ ਪਹਿਲਾ ਜਿੱਤ ਗਲਬਤਫਹਮੀ ਘਟਾਉਣਾ ਅਤੇ ਇਕੱਠੇ ਸੰਮੇਲਨ ਨੂੰ ਤੇਜ਼ ਕਰਨਾ ਹੈ।

ਇਹ ਕਿਸ ਲਈ ਹੈ

ਰੋਲਬੈਕ ਫੈਸਲਾ ਕਈ ਭੂਮਿਕਾਵਾਂ ਨੂੰ ਛੂਹਦਾ ਹੈ, ਇਸ ਲਈ ਐਪ ਨੂੰ ਵੱਖ-ਵੱਖ ਜ਼ਰੂਰਤਾਂ ਨੂੰ ਸੇਵਾ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਬਿਨਾਂ ਹਰ ਕਿਸੇ ਨੂੰ ਇਕੋ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਫ਼ਸਾਉਣ ਦੇ:

  • ਇੰਜੀਨੀਅਰਿੰਗ: ਕੀ ਬਦਲਿਆ, ਮੌਜੂਦਾ ਵਿਰੁੱਧ ਪਿਛਲੇ ਵਿਵਹਾਰ ਦੀ ਤੁਲਨਾ, ਸੁਰੱਖਿਅਤ ਰੋਲਬੈਕ ਕਦਮ ਚਲਾਉਣਾ।
  • ਪ੍ਰੋਡਕਟ: ਗਾਹਕ ਪ੍ਰਭਾਵ, ਰੇਵਨਿਊ ਜੋਖਮ ਅਤੇ ਕੀ ਆਧਾ ਰੋਲਬੈਕ (ਜਾਂ ਫਲੈਗ-ਬੰਦ) ਮਕਸਦ ਪੂਰੇ ਕਰਦਾ ਹੈ।
  • ਸਪੋਰਟ/ਸਕਸੈਸ: ਅਸਲ ਗਾਹਕ ਰਿਪੋਰਟ, ਤੀਵਰਤਾ ਅਤੇ ਪ੍ਰਭਾਵਿਤ ਸੈਗਮੈਂਟ ਦੇਣੇ।
  • Ops/SRE: ਸਥਿਰਤਾ, ਇੰਸੀਡੈਂਟ ਪ੍ਰਤਿਕ੍ਰਿਆ ਅਤੇ ਬਲਾਸਟ-ਰੇਡੀਅਸ ਨੂੰ ਘਟਾਉਣ 'ਤੇ ਧਿਆਨ।

ਜਦੋਂ ਇਹ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਤੁਸੀਂ ਸਿਰਫ਼ “ਤੈਜ਼ੀ ਨਾਲ ਰੋਲਬੈਕ” ਨਹੀਂ ਕਰਦੇ—ਤੁਸੀਂ ਘਬਰਾਹਟ ਭਰੇ ਕਦਮ ਘੱਟ ਕਰਦੇ ਹੋ, ਆਡਿਟ ਟਰੇਲ ਸਾਫ ਰੱਖਦੇ ਹੋ, ਅਤੇ ਹਰ ਪ੍ਰੋਡਕਸ਼ਨ ਡਰਾਮੇ ਨੂੰ ਇੱਕ ਦੁਹਰਾਯੋਗ ਅਤੇ ਸ਼ਾਂਤ ਫੈਸਲਾ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਬਦਲ ਦਿੰਦੇ ਹੋ।

ਭੂਮਿਕਾਵਾਂ, ਜ਼ਿੰਮੇਵਾਰੀਆਂ, ਅਤੇ ਯੂਜ਼ਰ ਜਰਨੀਜ਼

ਇੱਕ ਰੋਲਬੈਕ ਫੈਸਲਾ ਐਪ ਸਭ ਤੋਂ ਵਧੀਆ ਉਤੇ ਕੰਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਲੋਕ ਖ਼ਤਰੇ ਨੂੰ ਅਸਲ ਵਿੱਚ ਕਿਵੇਂ ਹੰਭਦੇ ਹਨ: ਕਿਸੇ ਨੇ ਇੱਕ ਸਿਗਨਲ ਦੇਖਿਆ, ਕਿਸੇ ਨੇ ਕੋਆਰਡੀਨੇਟ ਕੀਤਾ, ਕਿਸੇ ਨੇ ਫੈਸਲਾ ਕੀਤਾ, ਅਤੇ ਕਿਸੇ ਨੇ ਕਾਰਜਨਵੀਤ ਕੀਤਾ। ਪਹਿਲਾਂ ਮੁੱਖ ਭੂਮਿਕਾਵਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ, ਫਿਰ ਹਰ ਵਿਅਕਤੀ ਲਈ ਜਰਨੀਜ਼ ਡਿਜ਼ਾਇਨ ਕਰੋ ਜੋ ਲੰਬੇ ਸਮੇਂ ਵਿੱਚ ਚਾਹੀਦੀ ਲੋੜ ਪੂਰਤੀ ਕਰਦੇ ਹਨ।

ਪ੍ਰਾਈਮਰੀ ਭੂਮਿਕਾਵਾਂ (ਅਤੇ ਉਹਨਾਂ ਦੀਆਂ ਲੋੜਾਂ)

On-call engineer ਨੂੰ ਤੇਜ਼ੀ ਅਤੇ ਸਪਸ਼ਟਤਾ ਚਾਹੀਦੀ ਹੈ: “ਕੀ ਬਦਲਿਆ ਸੀ, ਕੀ ਟੁੱਟ ਰਿਹਾ ਹੈ, ਅਤੇ ਹੁਣ ਸਭ ਤੋਂ ਸੁਰੱਖਿਅਤ ਕਦਮ ਕੀ ਹੈ?” ਉਹ ਪ੍ਰਸਤਾਵ ਪੇਸ਼ ਕਰ ਸਕਣਾ ਚਾਹੀਦਾ ਹੈ, ਸਾਬਤ সংਲਗਨ ਕਰ ਸਕਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਦੇਖ ਸਕਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕੀ ਮਨਜ਼ੂਰੀਆਂ ਲੋੜੀਂਦੀਆਂ ਹਨ।

Product owner ਨੂੰ ਗਾਹਕ ਪ੍ਰਭਾਵ ਅਤੇ ਤਜਵੀਜ਼ਾਂ ਦੀ ਲੋੜ ਹੈ: “ਕੌਣ ਪ੍ਰਭਾਵਿਤ ਹੈ, ਤੀਵਰਤਾ ਕਿੰਨੀ ਹੈ, ਅਤੇ ਅਸੀਂ ਕੀ ਗੁਆ ਰਹੇ ਹਾਂ ਜੇ ਅਸੀਂ ਰੋਲਬੈਕ ਕਰਦੇ ਹਾਂ?” ਉਹ ਸੰਦਰਭ ਦਿੰਦੇ ਹਨ (ਫੀਚਰ ਦਾ ਇਰਾਦਾ, ਰੋਲਆਫ਼ ਯੋਜਨਾ, ਕਮਿਊਨਿਕੇਸ਼ਨ) ਅਤੇ ਅਕਸਰ ਮਨਜ਼ੂਰੀ ਦਿੰਦੇ ਹਨ।

Incident commander ਨੂੰ ਕੋਆਰਡੀਨੇਸ਼ਨ ਚਾਹੀਦੀ ਹੈ: “ਕੀ ਅਸੀਂ ਮੌਜੂਦਾ ਹਾਇਪੋਥੇਸਿਸ, ਫੈਸਲੇ ਦੀ ਸਥਿਤੀ, ਅਤੇ ਅਗਲੇ ਕਦਮਾਂ 'ਤੇ ਸਹਿਮਤ ਹਾਂ?” ਉਹ ਅਸਾਈਨ ਕਰਨ, ਫੈਸਲੇ ਦੀ ਸਮਾਂ-ਮਿਆਦ ਸੈਟ ਕਰਨ, ਅਤੇ ਹਿੱਸੇਦਾਰਾਂ ਨੂੰ ਸਿੰਕਰਨਾਈਜ਼ ਰੱਖ ਸਕਣਾ ਚਾਹੀਦਾ ਹੈ।

Approver (engineering manager, release captain, compliance) ਨੂੰ ਭਰੋਸਾ ਚਾਹੀਦਾ ਹੈ: “ਕੀ ਇਹ ਫੈਸਲਾ ਠੀਕ ਤਰਹ ਨੁਸਰ ਹੈ ਅਤੇ ਵਾਪਸੀਯੋਗ ਹੈ, ਅਤੇ ਕੀ ਇਹ ਨੀਤੀ ਦੇ ਅਨੁਕੂਲ ਹੈ?” ਉਹ ਇੱਕ ਸੰਖੇਪ ਫੈਸਲੇ ਦਾ ਸਾਰ ਅਤੇ ਸਹਾਇਕ ਸਿਗਨਲ ਦੀ ਲੋੜ ਰੱਖਦੇ ਹਨ।

ਮੁੱਖ ਕੰਮ (ਯੂਜ਼ਰ ਜਰਨੀਜ਼)

  1. ਮਸਲੇ ਦਾ ਪਤਾ ਲਗਾਉਣਾ: ਮਾਨੀਟਰਿੰਗ ਅਲਰਟ, ਸਪੋਰਟ ਟਿਕਟ, ਅਤੇ ਡਿਪਲੌਇ ਨੋਟ ਇਕ ਇੰਸੀਡੈਂਟ ਵਿਊ ਵਿੱਚ ਆ ਜਾਂਦੇ ਹਨ।
  2. ਪ੍ਰਭਾਵ ਦਾ ਅੰਕਲਨ: ਤੇਜ਼ੀ ਨਾਲ ਐਰਰ ਰੇਟ, ਪ੍ਰਭਾਵਿਤ ਕੋਹੋਰਟ, ਅਤੇ ਹਾਲੀਆ ਬਦਲਾਵਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ।
  3. ਫੈਸਲਾ ਕਰੋ: ਵਿਕਲਪ (ਰੋਲਬੈਕ, ਫਲੈਗ ਬੰਦ, ਹੋਰ ਡੇਟਾ ਦਾ ਇੰਤਜ਼ਾਰ) ਪ੍ਰਸਤਾਵਿਤ ਕਰੋ ਅਤੇ ਵਜ੍ਹਾਂ ਖੁੱਲ੍ਹ੍ਹੀ ਲਿਖੋ।
  4. ਐੱਗਜ਼ੀਕਿਊਟ ਕਰੋ: ਰੋਲਬੈਕ ਜਾਂ ਫਲੈਗ ਬਦਲਾਅ ਨੂੰ ਟਰਿਗਰ ਕਰੋ (ਜਾਂ ਕਿਸੇ ਟੂਲ ਨੂੰ ਸੌਂਪੋ) ਅਤੇ ਪੂਰਨਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।
  5. ਦਸਤਾਵੇਜ਼ ਕਰੋ: ਕਿਸ ਨੇ ਕੀ ਫੈਸਲਾ ਕੀਤਾ, ਕਦੋਂ, ਅਤੇ ਕਿਉਂ—ਬਿਨਾਂ ਵਾਧੂ ਬਿਜ਼ੀ ਵਰਕ ਦੇ।

ਅਧਿਕਾਰ ਜੋ ਕਾਉਸ ਰੋਕਣ

ਚਾਰ ਸਾਫ਼ ਸਮਰੱਥਾਵਾਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ: ਪੇਸ਼ਕਸ਼, ਮਨਜ਼ੂਰ, ਲਾਗੂ, ਅਤੇ ਦੇਖੋ। ਬਹੁਤ ਸਾਰੀਆਂ ਟੀਮਾਂ ਉੱਕਤ-ਅਨੁਸਾਰ ਕਿਸੇ ਵੀ ਆਨ-ਕਾਲ ਨੂੰ ਪ੍ਰਸਤਾਵ ਪੇਸ਼ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ, ਇੱਕ ਛੋਟੀ ਗਰੁੱਪ ਮਨਜ਼ੂਰੀ ਦੇ ਸਕਦੀ ਹੈ, ਅਤੇ ਸਿਰਫ਼ ਕੁਝ ਹੀ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਲਾਗੂ ਕਰਨ ਦੀ ਆਗਿਆ ਰੱਖਦੇ ਹਨ।

ਆਮ ਫੇਲਯਾਨਾਂ ਜਿਨ੍ਹਾਂ ਦੇ ਖਿਲਾਫ ਡਿਜ਼ਾਈਨ ਕਰੋ

ਅਧਿਕांश ਰੋਲਬੈਕ ਫੈਸਲੇ ਵੱਖ-ਵੱਖ ਸੰਦਰਭ, ਅਸਪਸ਼ਟ ਮਾਲਿਕੀਅਤ, ਅਤੇ ਗੁੰਮ ਆਈ ਲੌਗ/ਸਬੂਤ ਕਾਰਨ ਗਲਤ ਹੋ ਜਾਂਦੇ ਹਨ। ਤੁਹਾਡੀ ਐਪ ਮਾਲਿਕੀਅਤ ਨੂੰ ਸਪਸ਼ਟ ਬਣਾਏ, ਸਾਰੇ ਇਨਪੁੱਟ ਇੱਕ ਹੀ ਥਾਂ ਰੱਖੇ, ਅਤੇ ਫੈਸਲੇ ਦੇ ਸਮੇਂ ਜੋ ਜਾਣਕਾਰੀ ਸੀ ਉਹ ਦਰਜ ਕਰਕੇ ਇੱਕ ਮਜ਼ਬੂਤ ਰਿਕਾਰਡ ਕੈਪਚਰ ਕਰੇ।

ਡਾਟਾ ਮਾਡਲ: ਫੀਚਰ, ਰਿਲੀਜ਼, ਇੰਸੀਡੈਂਟ, ਅਤੇ ਫੈਸਲੇ

ਇੱਕ ਰੋਲਬੈਕ ਐਪ ਉਸ ਦੀ ਡਾਟਾ ਮਾਡਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ आपकी ਟੀਮ ਅਸਲ ਵਿੱਚ ਸੌਫਟਵੇਅਰ ਕਿਵੇਂ ਸ਼ਿਪ ਕਰਦੀ ਹੈ ਅਤੇ ਖਤਰੇ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦੀ ਹੈ। ਛੋਟੀ, ਸਪਸ਼ਟ ਇੰਟੀਟੀਆਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਟੈਕਸੋਨੌਮੀ ਅਤੇ ਸਨੈਪਸ਼ਾਟ ਵਰਗੇ ਸਟਰੱਕਚਰ ਜੋੜੋ ਜੋ ਬਾਅਦ ਵਿੱਚ ਫੈਸਲਿਆਂ ਨੂੰ ਸਮਝਣਯੋਗ ਬਣਾਉਂਦੇ ਹਨ।

ਕੋਰ ਇੰਟੀਟੀਆਂ ("ਨਾਊਂਸ")

ਘੱਟੋ-ਘੱਟ ਇਹਨਾਂ ਨੂੰ ਮਾਡਲ ਕਰੋ:

  • Feature: ਜਿਸ ਵਿਚ ਬਦਲਾਵ ਹੋ ਰਿਹਾ ਹੈ (ਅਕਸਰ ਫਲੈਗ, ਕੰਫਿਗ, ਜਾਂ ਕੋਡ ਪਾਥ ਨਾਲ ਜੁੜਿਆ)।
  • Release: ਇੱਕ ਡਿਪਲੌਏਬਲ ਪੈਕੇਜ/ਵਰਜ਼ਨ ਜੋ ਕਈ ਫੀਚਰ ਸ਼ਾਮਲ ਕਰ ਸਕਦਾ ਹੈ।
  • Environment: ਜਿੱਥੇ ਰਿਲੀਜ਼ ਚਲਦੀ ਹੈ (prod, staging, ਰੀਜਨ, ਟੇਨੈਂਟ ਆਦਿ)।
  • Incident: ਗਾਹਕ-ਪਰਭਾਵਿਤ ਘਟਨਾ ਜਾਂ ਅੰਦਰੂਨੀ ਅਲਰਟ ਕੁਝ ਸਮੇਤ।
  • Decision: ਦਰਜ ਕੀਤਾ ਫੈਸਲਾ (rollback, mitigate, monitor ਆਦਿ)।
  • Action: ਜੋ ਕੀ ਕੀਤਾ ਗਿਆ (ਫਲੈਗ ਬੰਦ, commit ਰਿਵਰਟ, redeploy, hotfix)।
  • Metric Snapshot: ਫੈਸਲੇ ਦੇ ਸਮੇਂ ਕੈਪਚਰ ਕੀਤੇ ਸਬੂਤ (error rate, latency ਆਦਿ)।

ਉਹ ਰਿਸ਼ਤੇ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਭਰੋਸਾ ਕਰੋਗੇ

ਰਿਸ਼ਤਿਆਂ ਨੂੰ ਸਪਸ਼ਟ ਰੱਖੋ ਤਾਂ ਕਿ ਡੈਸ਼ਬੋਰਡ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਤੇਜ਼ੀ ਨਾਲ ਦੇ ਸਕਣ:

  • Feature ↔ Release: many-to-many (ਇੱਕ ਫੀਚਰ ਕਈ ਰਿਲੀਜ਼ਾਂ ਵਿੱਚ ਸ਼ਿਪ ਹੋ ਸਕਦਾ ਹੈ; ਇੱਕ ਰਿਲੀਜ਼ ਕਈ ਫੀਚਰ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ)।
  • Release ↔ Environment: ਇੱਕ ਰਿਲੀਜ਼ ਕਈ ਇਨਵਾਇਰਨਮੈਂਟਾਂ 'ਤੇ ਡਿਪਲੌਇ ਹੋ ਸਕਦੀ ਹੈ, ਹਰ ਇੱਕ ਲਈ ਵੱਖਰਾ ਟਾਈਮਸਟੈਂਪ ਅਤੇ ਹੈਲਥ।
  • Incident ↔ Decision: ਆਮ ਤੌਰ 'ਤੇ one-to-many (ਇੱਕ ਇੰਸੀਡੈਂਟ ਕਈ ਵਾਰੀ ਕਈ ਫੈਸਲੇ ਟ੍ਰਿੱਗਰ ਕਰ ਸਕਦਾ ਹੈ)।
  • Decision ↔ Action: one-to-many (ਇੱਕ ਫੈਸਲੇ ਨੂੰ ਕਈ ਐਕਸ਼ਨ ਅਤੇ ਵੇਰੀਫਿਕੇਸ਼ਨ ਦੀ ਲੋੜ ਹੋ سکتی ਹੈ)।

ਅਟੱਲ vs ਸੋਧਯੋਗ ਡਾਟਾ

ਪਹਿਲਾਂ ਫੈਸਲਾ ਕਰੋ ਕਿ ਕੀ ਕਦੇ ਵੀ ਬਦਲੇ ਨਹੀਂ ਜਾਣਾ ਚਾਹੀਦਾ:

  • ਅਟੱਲ: ਆਡਿਟ ਇਵੈਂਟ (ਕੌਣ ਮਨਜ਼ੂਰ ਕੀਤਾ, ਕਦੋਂ ਚਲਾਇਆ, ਪਹਿਲਾਂ/ਬਾਅਦ ਵਾਲੀਆਂ ਕਦਰਾਂ, ਸਬੂਤ ਦੇ ਲਿੰਕ), ਮੈਟ੍ਰਿਕ ਸਨੈਪਸ਼ਾਟ.
  • ਸੋਧਯੋਗ: ਨੋਟ, ਟੈਗ, ਇੰਸੀਡੈਂਟ ਸਮਰੀ, ਅਤੇ ਵਿਕਲਪਿਕ “ਕਾਰਨ” ਟੈਕਸਟ—ਇਹਨਾਂ ਨੂੰ ਵਰਜ਼ਨ ਹਿਸਟਰੀ ਨਾਲ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ।

ਰਿਪੋਰਟਿੰਗ ਲਈ ਟੈਕਸੋਨੌਮੀ

ਛੋਟੀ enums ਜੋ ਫਿਲਟਰਿੰਗ ਨੂੰ ਇਕਸਾਰ ਰੱਖਦੇ ਹਨ:

  • Severity (S0–S4), Impact (ਗਾਹਕ ਪ੍ਰਭਾਵ, ਰੇਵਨਯੂ ਜੋਖਮ), Status (open/monitoring/resolved)
  • Decision outcome (rollback/disable flag/partial rollout/monitor)
  • Reason codes (performance regression, elevated errors, billing mismatch, UX break, security concern)

ਇਹ ਸਰਚ-ਫਿਲਟਰ ਅਤੇ ਡੈਸ਼ਬੋਰਡ ਲਈ ਤੇਜ਼ ਟਰੀਏਜ ਸਹਾਇਕ ਹਨ ਅਤੇ ਪੋਸਟ-ਇੰਸੀਡੈਂਟ ਰਿਵਿਊ ਵਿੱਚ ਆਡਿਟ ਟਰੇਲ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ।

ਰੋਲਬੈਕ ਕਿਸਮਾਂ ਅਤੇ ਤੁਹਾਡੇ ਟੀਮ ਵਿੱਚ “ਰੋਲਬੈਕ” ਦਾ ਅਰਥ

ਵਰਕਫਲੋ ਅਤੇ ਡੈਸ਼ਬੋਰਡ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਤਿਆਰ ਕਰੋ ਕਿ ਤੁਹਾਡੀ ਟੀਮ “ਰੋਲਬੈਕ” ਨਾਲ ਕੀ ਮਤਲਬ ਲੈਂਦੀ ਹੈ। ਵੱਖ-ਵੱਖ ਟੀਮ ਇੱਕੋ ਸ਼ਬਦ ਨੂੰ ਬਹੁਤ ਵੱਖ-ਵੱਖ ਕਾਰਵਾਈਆਂ ਲਈ ਵਰਤਦੀਆਂ ਹਨ—ਜਿਨ੍ਹਾਂ ਦੇ ਜੋਖਮ ਪ੍ਰੋਫਾਇਲ ਬਹੁਤ ਵੱਖਰੇ ਹੋ ਸਕਦੇ ਹਨ। ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਰੋਲਬੈਕ ਦੀ ਕਿਸਮ ਸਪਸ਼ਟ ਬਣਾਉਣੀ ਚਾਹੀਦੀ ਹੈ, ਆਧਾਰਿਤ ਨਹੀਂ।

ਰੋਲਬੈਕ ਮਕੈਨਿਜ਼ਮ ਚੁਣੋ

ਜ਼ਿਆਦਾਤਰ ਟੀਮਾਂਨੂੰ ਤਿੰਨ ਮੁੱਖ ਮਕੈਨਿਜ਼ਮ ਚਾਹੀਦੇ ਹਨ:

  • ਪਿਛਲੀ ਵਰਜ਼ਨ ਨੂੰ ਮੁੜ-ਡਿਪਲੌਇ ਕਰੋ: ਸੇਵਾ ਜਾਂ ਫਰੰਟਐਂਡ ਬੰਡਲ ਨੂੰ ਪਿਛਲੇ ਜਾਣੇ-ਪਛਾਣੇ ਆਰਟੀਫੈਕਟ 'ਤੇ ਰਿਹਾ ਰੱਦ ਕਰਨਾ। ਇਹ ਵਿਸ਼ਾਲ ਅਤੇ ਢੀਲਾ ਹੈ ਅਤੇ ਸਬੰਧਤ ਨ ਹੋਣ ਵਾਲੇ ਬਦਲਾਵ ਵੀ ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ।
  • ਫੀਚਰ ਫਲੈਗ ਨੂੰ ਬੰਦ ਕਰਨਾ: ਇੱਕ ਖਾਸ ਫੀਚਰ ਨੂੰ ਬੰਦ ਕਰਨਾ ਬਿਨਾਂ ਡਿਪਲੌਇ ਨੂੰ ਛੇੜੇ। ਜੇ ਫਲੈਗ ਉਪਲਬਧ ਹੋਵੇ ਤਾਂ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਸਭ ਤੋਂ ਤੇਜ਼ ਅਤੇ ਸੁਰੱਖਿਅਤ ਰਾਹ ਹੁੰਦਾ ਹੈ।
  • ਕਨਫਿਗ ਟੌਗਲ / ਕਿਲ-ਸਵਿੱਚ: ਰਨਟਾਈਮ ਕਨਫਿਗ ਬਦਲਣਾ (ਰੇਟ-ਲਿਮਿਟ, ਰੂਟਿੰਗ ਨਿਯਮ, ਰੀਕਮੰਡੇਸ਼ਨ ਵਜ਼ਨ ਆਦਿ)। ਜਦੋਂ ਫਲੈਗ ਨ ਹੋਣ ਤਾਂ ਇਹ ਲਾਭਦਾਇਕ ਹੈ, ਪਰ ਇਸ ਨੂੰ ਸਮਝਣਾ ਅਤੇ ਵੇਰੀਫਾਈ ਕਰਨਾ ਔਖਾ ਹੋ ਸਕਦਾ ਹੈ।

UI ਵਿੱਚ ਇਨ੍ਹਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ “action types” ਵਜੋਂ ਦਰਸਾਓ ਜਿਨ੍ਹਾਂ ਦੀਆਂ ਆਪਣੀਆਂ ਪੂਰਵ-ਸ਼ਰਤਾਂ, ਉਮੀਦ ਕੀਤੀ ਪ੍ਰਭਾਵ ਅਤੇ ਵੇਰੀਫਿਕੇਸ਼ਨ ਕਦਮ ਹੁੰਦੇ ਹਨ।

ਇਨਵਾਇਰਨਮੈਂਟ ਅਤੇ ਰੀਜਨਾਂ ਪਿਛੇ ਨਹੀਂ ਹੋਣੇ ਚਾਹੀਦੇ

ਰੋਲਬੈਕ ਫੈਸਲਾ ਅਕਸਰ ਇਸ 'ਤੇ ਨਿਰਭਰ ਹੁੰਦਾ ਹੈ ਕਿ ਮਸਲਾ ਕਿੱਥੇ ਆ ਰਿਹਾ ਹੈ। ਸਕੋਪ ਨੂੰ ਸਪਸ਼ਟ ਮਾਡਲ ਕਰੋ:

  • Environment: dev/staging/prod (ਅਤੇ ਕੋਈ ਸਾਂਝਾ ਟੈਸਟ env)
  • Region or shard: us-east, eu-west, ਇੱਕ ਖਾਸ ਕਲੱਸਟਰ, ਜਾਂ ਇੱਕ ਪ੍ਰਤੀਸ਼ਤ ਰੋਲਆਉਟ

ਰਿਵਿਊਅਰ ਨੂੰ “prod ਵਿੱਚ ਫਲੈਗ ਬੰਦ ਕਰੋ, ਸਿਰਫ EU” ਦੇਖਣ ਦੇ ਯੋਗ ਬਣਾਓ ਬਜਾਏ “ਗਲੋਬਲ ਪ੍ਰੋਡ ਰੋਲਬੈਕ” ਦੇ, ਕਿਉਂਕਿ ਇਹ ਦੋਹਾਂ ਸਮਾਨ ਨਹੀਂ ਹਨ।

ਸੁਰੱਖਿਅਤ ਕਾਰਵਾਈਆਂ vs ਕੇਵਲ ਟਰੈਕ ਕੀਤੀਆਂ ਕਾਰਵਾਈਆਂ

ਐਪ ਨੂੰ ਇਹ ਫੈਸਲਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕੀ ਉਹ ਸਿਧੀ ਤੌਰ 'ਤੇ ਟਰਿਗਰ ਕਰ ਸਕਦਾ ਹੈ:

  • ਸੁਰੱਖਿਅਤ, ਆਟੋਮੇਟੇਬਲ ਕਾਰਵਾਈਆਂ (ਜਿਵੇਂ, ਫਲੈਗ ਬੰਦ ਕਰਨਾ, ਰੋਲਆਉਟ ਰੋਕਣਾ) ਨੂੰ ਗਾਰਡਰੈਲਜ਼ ਨਾਲ ਸਿੱਧਾ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।
  • ਉੱਚ-ਜੋਖਮ ਜਾਂ ਬਹੁ-ਕਦਮੀ ਕਾਰਵਾਈਆਂ (ਜਿਵੇਂ ਡੇਟਾਬੇਸ ਰੋਲਬੈਕ, ਐਮਰਜੈਂਸੀ redeploy) ਨੂੰ ਟ੍ਰੈਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: ਐਪ ਦਰਜ ਕਰੇ ਕਿ ਕਿਸ ਨੇ ਮਨਜ਼ੂਰੀ ਦਿੱਤੀ, ਕੀ ਕੀਤਾ ਗਿਆ, ਅਤੇ ਸਬੂਤ—ਜਦਕਿ ਕਾਰਜ CI/CD ਜਾਂ SRE ਦੁਆਰਾ ਕੀਤਾ ਜਾਵੇ।

ਆਈਡੈਂਟੋਟੈਂਸੀ: ਡਬਲ ਰੋਲਬੈਕ ਪ੍ਰਤੀ ਰੋਕ

ਇਕਸ਼ਨ ਨੂੰ ਆਈਡੈਂਟੋਟੈਂਟ ਬਣਾਓ ਤਾਂ ਜੋ ਘਟਨਾ ਦੌਰਾਨ ਟਕਰਾਉਂਦੀਆਂ ਕਲਿੱਕਾਂ ਤੋਂ ਬਚਿਆ ਜਾ ਸਕੇ:

  • ਇੱਕ ਯੂਨੀਕ ਐਕਸ਼ਨ ਕੀ ਵਰਤੋ (feature + environment + region + mechanism + target state).
  • “ਪਹਿਲਾਂ ਹੀ ਲਾਗੂ” ਹਾਲਤਾਂ ਦਾ ਪਤਾ ਲਗਾਓ ਅਤੇ Execute ਨੂੰ Verify ਵਿੱਚ ਬਦਲ ਦਿਓ।
  • ਟਕਰਾਉਂਦੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਲੌਕ ਜਾਂ ਸਿਰੀਅਲਾਈਜ਼ ਕਰੋ (ਉਦਾਹਰਨ ਲਈ, ਜਦ “redeploy previous version” ਚੱਲ ਰਿਹਾ ਹੋਵੇ ਤਾਂ “flag off” ਨੂੰ ਅਨੁਮਤ ਨਾ ਕਰੋ)।

ਇੱਥੇ ਸਪਸ਼ਟ ਪਰਿਭਾਸ਼ਾਵਾਂ ਤੁਹਾਡੀ ਮਨਜ਼ੂਰੀ ਵਰਕਫਲੋ ਨੂੰ ਸ਼ਾਂਤ ਅਤੇ ਇੰਸੀਡੈਂਟ ਟਾਈਮਲਾਈਨ ਨੂੰ ਸਾਫ ਰੱਖਦੀਆਂ ਹਨ।

ਫੈਸਲਾ ਇਨਪੁੱਟ: ਸਿਗਨਲ, ਥ੍ਰੇਸ਼ਹੋਲਡ, ਅਤੇ ਸੰਦਰਭ

Generate your data model fast
ਆਪਣੇ Feature Release Incident ਮਾਡਲ ਨੂੰ React ਸਕ੍ਰੀਨਾਂ ਨਾਲ Go ਅਤੇ Postgres ਬੈਕਐਂਡ ਵਿੱਚ ਬਦਲੋ।
ਬਣਾਉਣਾ ਸ਼ੁਰੂ ਕਰੋ

ਜਦੋਂ ਟੀਮ ਇਹ ਮਿਲ ਕੇ ਤਹਿ ਕਰ ਲੈਂਦੀ ਹੈ ਕਿ “ਚੰਗਾ ਸਬੂਤ” ਕੀ ਹੁੰਦਾ ਹੈ ਤਾਂ ਰੋਲਬੈਕ ਫੈਸਲੇ ਆਸਾਨ ਹੋ ਜਾਂਦੇ ਹਨ। ਤੁਹਾਡੀ ਐਪ ਵਿਖੇ ਫੈਸਲਾ ਕਰਨ ਲਾਇਕ ਇਕ ਢਾਂਚਾਬੱਧ ਪੈਕੇਟ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ: ਸਿਗਨਲ, ਥ੍ਰੇਸ਼ਹੋਲਡ, ਅਤੇ ਉਹ ਸੰਦਰਭ ਜੋ ਸਮਝਾਉਂਦਾ ਹੈ ਕਿਉਂ ਇਹ ਨੰਬਰ ਬਦਲੇ।

ਇੱਕ ਸਿਗਨਲ ਚੈੱਕਲਿਸਟ (ਮਿਆਰੀ, ਨਾ ਵਿਕਲਪੀ)

ਰਿਲੀਜ਼ ਜਾਂ ਫੀਚਰ ਦੀ ਸਮੀਖਿਆ ਲਈ ਹਮੇਸ਼ਾ ਇੱਕ ਚੈੱਕਲਿਸਟ ਬਣਾਓ। ਇਸਨੂੰ ਛੋਟਾ ਪਰ ਪੂਰਾ ਰੱਖੋ:

  • Error rate (ਕੁੱਲ ਅਤੇ endpoint ਅਨੁਸਾਰ)
  • Latency (p95/p99) ਅਤੇ timeouts
  • Conversion ਜਾਂ funnel ਵਿੱਚ ਕਟੌਤੀ
  • Crash reports (app ਵਰਜ਼ਨ, ਡਿਵਾਈਸ/OS, ਟਾਪ ਸਟੈਕ)
  • Support tickets (ਵਾਲੀਅਮ ਅਤੇ ਟਾਪ ਸ਼੍ਰੇਣੀਆਂ)

ਮਕਸਦ ਇਹ ਨਹੀਂ ਕਿ ਹਰ ਚਾਰਟ ਦਿਖਾਈ ਜਾਵੇ—ਇਹ ਹੈ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨੀ ਕਿ ਹਰ ਵਾਰੀ ਇੱਕੋ ਮੁੱਖ ਸਿਗਨਲ ਚੈੱਕ ਕੀਤੇ ਗਏ।

ਟ੍ਰੈਂਡ ਨੂੰ ਮੰਨਣ ਵਾਲੇ ਥ੍ਰੇਸ਼ਹੋਲਡ (ਇੱਕ-ਸਪਰਕ ਨਹੀਂ)

ਇੱਕਲਾ spike ਹੋ ਸਕਦਾ ਹੈ। ਫੈਸਲੇ ਨੂੰ ਸਥਾਈ विचਲਨ ਅਤੇ ਤਬਦੀਲੀ ਦੀ ਦਰ ਦ੍ਵਾਰਾ ਚਲਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।

ਦੋ ਤਰੀਕੇ ਸਹਿਯੋਗ ਕਰੋ:

  • ਸਟੈਟਿਕ ਥ੍ਰੇਸ਼ਹੋਲਡ (ਉਦਾਹਰਨ: “error rate > 2% ਲਈ 10 ਮਿੰਟ”)
  • ਬੇਸਲਾਈਨ-ਅਵੇਅਰ ਥ੍ਰੇਸ਼ਹੋਲਡ (ਉਦਾਹਰਨ: “conversion 5% ਘੱਟ ਹੈ ਬਨਾਮ ਪਿਛਲੇ ਹਫਤੇ ਦੇ ਇੱਕੋ ਦਿਨ”)

UI ਵਿੱਚ ਹਰ ਮੈਟ੍ਰਿਕ ਦੇ ਨਾਲ ਇੱਕ ਛੋਟਾ “ਟ੍ਰੈਂਡ ਸਟ੍ਰਿਪ” ਦਿਖਾਓ (ਆਖਰੀ 60–120 ਮਿਨਟ) ਤਾਂ ਜੋ ਸਮੀਖਿਆਕਾਰ ਵੇਖ ਸਕਣ ਕਿ ਸਮੱਸਿਆ ਵੱਧ ਰਹੀ ਹੈ, ਸਥਿਰ ਹੈ ਜਾਂ ਸੁਧਰ ਰਹੀ ਹੈ।

ਸੰਦਰਭ: “ਜਾਣਿਆ ਹੋਇਆ ਬਦਲਾਅ” ਪੈਨਲ

ਸੰਖਿਆਵਾਂ ਬਿਨਾਂ ਸੰਦਰਭ ਦੇ ਸਮਾਂ ਬਰਬਾਦ ਕਰਦੀਆਂ ਹਨ। ਇੱਕ “ਜਾਣਿਆ ਬਦਲਾਅ” ਪੈਨਲ ਜੋ ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ:

  • ਪਿਛਲੇ 24 ਘੰਟਿਆਂ ਵਿੱਚ ਕੀ ਸ਼ਿਪ ਹੋਇਆ?
  • ਇਹ ਕਿੱਥੇ ਸ਼ਿਪ ਹੋਇਆ (ਰੀਜਨ, ਪਲੇਟਫਾਰਮ, ਕੋਹੋਰਟ)?
  • ਬਾਹਰੂ ਬਦਲਾਅ (ਕੈਂਪੇਨ, ਆਉਟੇਜ, ਤੀਸਰੇ-ਪੱਖ ਦੀ ਸਥਿਤੀ) ਵਿੱਚ ਕੀ ਬਦਲਿਆ?

ਇਹ ਪੈਨਲ ਰਿਲੀਜ਼ ਨੋਟ, ਫੀਚਰ ਫਲੈਗ ਅਤੇ ਡਿਪਲੌਇਮੈਂਟ ਤੋਂ ਡੇਟਾ ਖਿੱਚਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ “ਕੁਝ ਵੀ ਬਦਲਿਆ ਨਹੀਂ” ਇਕ ਸਪਸ਼ਟ ਬਿਆਨ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ—ਮੰਨਣ ਦੀ ਆਧਾਰ ਤੇ ਨਹੀਂ।

ਗਹਿਰਾਈ ਵਾਲੇ ਸਬੂਤ ਤੱਕ ਤੇਜ਼ ਰਸਤੇ

ਜਦੋਂ ਕਿਸੇ ਨੂੰ ਵਿਸਥਾਰ ਚਾਹੀਦਾ ਹੈ, ਉਹਨਾਂ ਲਈ ਤੁਰੰਤ ਲਿੰਕ ਦਿਓ ਜੋ ਸਹੀ ਥਾਂ ਖੋਲ੍ਹਦੇ ਹਨ (ਡੈਸ਼ਬੋਰਡ, ਟਰੇਸ, ਟਿਕਟ) /integrations ਰਾਹੀਂ, ਬਿਨਾਂ ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਹੋਰ ਇੱਕ ਮਾਨੀਟਰਿੰਗ ਟੂਲ ਬਣਾਉਣ ਦੇ।

ਵਰਕਫਲੋ: ਪੇਸ਼ਕਸ਼, ਸਮੀਖਿਆ, ਮਨਜ਼ੂਰੀ, ਕਾਰਜਨਵੀਤੀ

ਇਕ ਰੋਲਬੈਕ ਫੈਸਲਾ ਐਪ ਆਪਣੀ ਕੀਮਤ ਉਸ ਵੇਲੇ ਦਿਖਾਉਂਦਾ ਹੈ ਜਦੋਂ ਇਹ “ਸਭ ਚੈਟ ਥ੍ਰੇਡ ਵਿੱਚ” ਨੂੰ ਇੱਕ ਸਪਸ਼ਟ, ਸਮਾਂ-ਬੱਧ ਵਰਕਫਲੋ ਵਿੱਚ ਬਦਲ ਦੇਂਦਾ ਹੈ। ਲਕੜੀ ਦਾ ਟੀਚਾ ਸਧਾਰਨ ਹੈ: ਇਕ ਜ਼ਿੰਮੇਵਾਰ ਪ੍ਰਸਤਾਵਕ, ਇੱਕ ਪਰਿਭਾਸ਼ਤ ਸਮੀਖਿਆਕਾਰ ਗਰੁੱਪ, ਅਤੇ ਇਕ ਅੰਤਿਮ ਮਨਜ਼ੂਰ ਕਰਨ ਵਾਲਾ—ਬਿਨਾਂ ਜ਼ਰੂਰੀ ਕਾਰਵਾਈਆਂ ਨੂੰ ਢੀਲਾ ਕੀਤੇ।

1) Propose: ਇੱਕ ਫੈਸਲਾ ਰਿਕਾਰਡ ਬਣਾਓ

ਪੇਸ਼ਕਸ਼ਕ ਇੱਕ Rollback Proposal ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਜੋ ਕਿਸੇ ਨਿਰਧਾਰਤ release/feature ਨਾਲ ਜੁੜਿਆ ਹੋਵੇ। ਫਾਰਮ ਤੇਜ਼ ਪਰ ਸੰਰਚਿਤ ਰੱਖੋ:

  • ਕੀ ਪ੍ਰਭਾਵਿਤ ਹੈ: feature, environment, rollout percentage
  • ਸੁਝਾਏ ਗਏ ਕਦਮ: rollback / pause rollout / keep shipping
  • ਪ੍ਰਭਾਵ ਸਨੈਪਸ਼ਾਟ: ਮੁੱਖ ਮੈਟ੍ਰਿਕਸ ਅਤੇ ਗਾਹਕ ਲੱਛਣ
  • “ਕਿਉਂ” (ਲਾਜ਼ਮੀ): ਸੰਰਚਿਤ ਕਾਰਨ (ਜਿਵੇਂ ਐਰਰ spike, ਰੇਵਨਿਊ ਡ੍ਰਾਪ, ਸੁਰੱਖਿਆ ਚਿੰਤਾ) ਨਾਲ ਫ੍ਰੀ-ਟੈਕਸਟ ਨੋਟ

ਪ੍ਰਸਤਾਵ ਤੁਰੰਤ ਇੱਕ ਸਾਂਝਾ-ਯੋਗ ਲਿੰਕ ਜਨਰੇਟ ਕਰੇ ਅਤੇ ਨਿਰਧਾਰਤ ਸਮੀਖਿਆਕਾਰਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰੇ।

2) Review: ਸਿਰਫ ਸਬੂਤ ਇਕੱਠੇ ਕਰੋ, ਰਾਏ ਨਹੀਂ

ਸਮੀਖਿਆਕਾਰਾਂ ਨੂੰ ਸਬੂਤ ਜੋੜਨ ਅਤੇ ਸਥਿਤੀ ਦਰਜ ਕਰਨ ਲਈ ਪ੍ਰੇਰਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ:

  • Approve, Request changes, ਜਾਂ Block (ਕਾਰਨ ਦਿੱਤਾ ਜਾਵੇ)

ਚਰਚਾ ਉਤਪਾਦਕ ਰਹਿਣ ਲਈ, ਨੋਟ ਪ੍ਰਸਤਾਵ ਦੇ ਨਾਲ ਹੀ ਸਟੋਰ ਕਰੋ (ਵੱਖ-ਵੱਖ ਟੂਲਾਂ 'ਚ ਨਹੀਂ), ਅਤੇ ਟਿਕਟਾਂ ਜਾਂ ਮਾਨੀਟਰਾਂ ਨੂੰ ਸਾਪੇੱਖ ਲਿੰਕਾਂ ਨਾਲ ਲਿੰਕ ਕਰਨ ਦੀ ਪ੍ਰੇਰਣਾ ਦਿਓ ਜਿਵੇਂ /incidents/123 ਜਾਂ /releases/45।

3) Approve: ਇੱਕ ਵਿਅਕਤੀ ਫੈਸਲਾ ਕਰਦਾ ਹੈ

ਇੱਕ final approver (ਅਕਸਰ on-call lead ਜਾਂ product owner) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। ਉਹਨਾਂ ਦੀ ਮਨਜ਼ੂਰੀ:

  • ਚੁਣੀ ਹੋਈ ਕਾਰਵਾਈ ਨੂੰ ਲਾਕ ਕਰਦੀ ਹੈ
  • ਮਨਜ਼ੂਰ ਕਰਨ ਵਾਲੇ ਦਾ ਕਾਰਨ ਦਰਜ ਕਰਦੀ ਹੈ
  • ਸਮਾਂ, ਪਛਾਣ ਅਤੇ ਕੋਈ ਸ਼ਰਤਾਂ (ਜਿਵੇਂ "ਹੁਣ ਰੋਲਬੈਕ ਕਰੋ, 30 ਮਿੰਟ ਵਿੱਚ ਮੁੜ-ਅੰਕਲਨ") ਟੈਗ ਕਰਦੀ ਹੈ

SLA ਅਤੇ ਯਾਦ ਦਿਵਾਣਾ

ਰੋਲਬੈਕ ਸਮੇਂ-ਸੰਵੇਦਨਸ਼ੀਲ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ SLA ਨਿਰਧਾਰਤ ਕਰੋ:

  • ਸਮੀਖਿਆਕਾਰ ਜਵਾਬ SLA (ਉਦਾਹਰਨ: 10 ਮਿੰਟ)
  • ਅੰਤਿਮ ਮਨਜ਼ੂਰੀ SLA (ਉਦਾਹਰਨ: ਸਮੀਖਿਆ ਪੂਰਾ ਹੋਣ 'ਤੇ 5 ਮਿੰਟ)

ਜੇ SLA ਛੁੱਟ ਜਾਂਦੀ ਹੈ, ਐਪ ਐਸਕਲੇਟ ਕਰੇ—ਪਹਿਲਾਂ ਬੈਕਅੱਪ ਸਮੀਖਿਆਕਾਰ ਨੂੰ, ਫਿਰ on-call ਮੈਨੇਜਰ ਨੂੰ—ਜਦੋਂ ਕਿ ਫੈਸਲਾ ਰਿਕਾਰਡ ਬਦਲਦਾ ਨਹੀਂ ਅਤੇ ਆਡਿਟ ਯੋਗ ਰਹਿੰਦਾ ਹੈ।

ਐਮਰਜੈਂਸੀ ਮੋਡ (break-glass)

ਕੁਈ ਵਾਰੀ ਇੰਤਜ਼ਾਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਇੱਕ Break-glass Execute ਰਾਹ ਰੱਖੋ ਜੋ ਤੁਰੰਤ ਕਾਰਵਾਈ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਪਰ ਇਹ ਲਾਜ਼ਮੀ ਬਣਾਓ:

  • ਓਥੇ ਇੱਕ ਲਾਜ਼ਮੀ “ਕਿਉਂ” ਨੋਟ
  • ਵਾਧੂ ਲੌਗਿੰਗ (ਕੌਣ ਚਲਾਇਆ, ਕਿਸ ਥਾਂ ਤੋਂ, ਕੀ ਬਦਲਿਆ)
  • ਆਟੋ-ਤਿਆਰ ਫਾਲੋ-ਅਪ ਟਾਸਕ: ਪੋਸਟ-ਇੰਸੀਡੈਂਟ ਰਿਵਿਊ, ਗਾਹਕ ਸੰਚਾਰ ਡਰਾਫਟ, ਅਤੇ ਵੇਰੀਫਿਕੇਸ਼ਨ ਚੈੱਕਲਿਸਟ

4) Execute: ਪੁਸ਼ਟੀ ਕਰੋ, ਵੇਰੀਫਾਈ ਕਰੋ, ਬੰਦ ਕਰੋ

ਕਾਰਜ "ਬਟਨ ਕੁਲਿੱਕ ਕੀਤਾ" 'ਤੇ ਖਤਮ ਨਾ ਹੋਵੇ। ਪੁਸ਼ਟੀ ਕਦਮ (ਰੋਲਬੈਕ ਮੁਕੰਮਲ, ਫਲੈਗ ਅੱਪਡੇਟ, ਮਾਨੀਟਰਿੰਗ ਚੈੱਕ) ਕੈਪਚਰ ਕਰੋ ਅਤੇ ਰਿਕਾਰਡ ਨੂੰ ਉਸ ਵੇਲੇ ਬੰਦ ਕਰੋ ਜਦੋਂ ਵੇਰੀਫਿਕੇਸ਼ਨ ਸਾਈਨ-ਆਫ਼ ਹੋ ਜਾਵੇ।

UI/UX: ਐਸੇ ਡੈਸ਼ਬੋਰਡ ਜੋ ਤੇਜ਼, ਸ਼ਾਂਤ ਫੈਸਲੇ ਸਹਾਰਦੇ ਹਨ

ਜਦੋਂ ਇੱਕ ਰਿਲੀਜ਼ ਖਰਾਬ ਹੈ, ਲੋਕਾਂ ਕੋਲ “ਟੂਲ ਨੂੰ ਸਮਝਣ” ਲਈ ਸਮਾਂ ਨਹੀਂ ਹੁੰਦਾ। ਤੁਹਾਡੀ UI ਨੂੰ ਸਮਝ ਬੋਝ ਨੂੰ ਘਟਾਉਣਾ ਚਾਹੀਦਾ ਹੈ: ਦਿਖਾਓ ਕਿ ਕੀ ਹੋ ਰਿਹਾ ਹੈ, ਕੀ ਫੈਸਲਾ ਹੋ ਰਿਹਾ ਹੈ, ਅਤੇ ਕਿਹੜੇ ਸੁਰੱਖਿਅਤ ਅਗਲੇ ਕਦਮ ਹਨ—ਬਿਨਾਂ ਕਿਸੇ ਨੂੰ ਚਾਰਟਾਂ ਵਿੱਚ ਡੁੱਬਣ ਲਈ।

ਮੁੱਖ ਸਕ੍ਰੀਨਾਂ ਜੋ ਯੋਜਨਾ ਬਣਾਉਣੀਆਂ ਹਨ

Overview (home dashboard). ਇਹ ਟ੍ਰਾਇਅਜ ਐਂਟਰੀ ਪੁਆਇੰਟ ਹੈ। ਇਹ ਸੈਕਿੰਡ ਵਿੱਚ ਤਿੰਨ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ: ਹੁਣ ਕੀ ਖਤਰੇ 'ਚ ਹੈ? ਕਿਹੜੇ ਫੈਸਲੇ ਪੈਂਡਿੰਗ ਹਨ? ਕੀ ਹਾਲ ਹੀ ਵਿੱਚ ਬਦਲਿਆ? ਇੱਕ ਵਧੀਆ ਲੇਆਉਟ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਸਕੈਨ ਵਾਲਾ ਹੋ ਸਕਦਾ ਹੈ: ਸਰਗਰਮ ਇੰਸੀਡੈਂਟ, ਪੈਂਡਿੰਗ ਮਨਜ਼ੂਰੀਆਂ, ਅਤੇ "ਹਾਲੀਆ ਰਿਲੀਜ਼/ਫਲੈਗ ਬਦਲਾਅ" ਸਟਰੀਮ।

Incident/Decision page. ਇਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਟੀਮ ਇਕੱਠੀ ਹੁੰਦੀ ਹੈ। ਨੈਰੇਟਿਵ ਸਮਰੀ ("ਅਸੀਂ ਕੀ ਵੇਖ ਰਹੇ ਹਾਂ") ਨੂੰ ਲਾਈਵ ਸਿਗਨਲਾਂ ਅਤੇ ਇੱਕ ਸਪਸ਼ਟ ਫੈਸਲਾ ਪੈਨਲ ਨਾਲ ਜੋੜੋ। ਫੈਸਲੇ ਦੇ ਕੰਟਰੋਲ ਇੱਕ ਨਿਰੀਤ ਸਥਾਨ (ਸੱਜਾ ਰੇਲ ਜਾਂ ਸਟਿਕੀ ਫੁੱਟਰ) 'ਤੇ ਰੱਖੋ ਤਾਂ ਲੋਕਾਂ ਨੂੰ "Propose rollback" ਲੱਭਣ ਲਈ ਖੋਜ ਨਹੀਂ ਕਰਨੀ ਪਏ।

Feature page. ਇਸ ਨੂੰ "owner view" ਵਜੋਂ ਵਰਤੋ: ਮੌਜੂਦਾ ਰੋਲਆਉਟ ਸਥਿਤੀ, ਫੀਚਰ ਨਾਲ ਜੁੜੇ ਹਾਲੀਆ ਇੰਸੀਡੈਂਟ, ਸੰਬੰਧਿਤ ਫਲੈਗ, ਖਤਰناک ਸੈਗਮੈਂਟ, ਅਤੇ ਫੈਸਲਿਆਂ ਦਾ ਇਤਿਹਾਸ।

Release timeline. ਡਿਪਲੌਇਮੈਂਟ, ਫਲੈਗ ਰੈਂਪ, ਕਨਫਿਗ ਬਦਲਾਅ, ਅਤੇ ਇੰਸੀਡੈਂਟਾਂ ਦੀ ਕ੍ਰਮਿਕ ਦਰਸ਼ਨੀ। ਇਹ ਟੀਮਾਂ ਨੂੰ ਕਾਰਣ-ਅਤੇ-ਪਰਭਾਵ ਜੁੜਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਬਿਨਾਂ ਟੂਲਾਂ ਦੇ ਵਿਚਕਾਰ ਛਾਲਾਂ ਮਾਰਨ ਦੇ।

ਸਥਿਤੀ ਨੂੰ ਸਪਸ਼ਟ ਬਣਾ ਦਿਓ (ਅਤੇ ਗਲਤ ਪੜ੍ਹਨ ਮੁਸ਼ਕਲ)

ਉਜਰੇ, ਲਗਾਤਾਰ ਸਥਿਤੀ ਬੈਜ਼ ਤੇ ਵਰਤੋ:

  • ਮੌਜੂਦਾ ਖਤਰਾ ਦਰਜੇ: ਉਦਾਹਰਨ ਲਈ Normal / Elevated / Critical
  • ਫੈਸਲਾ ਸਥਿਤੀ: Draft → In Review → Approved → Executing → Completed (ਜਾਂ Rejected)
  • ਆਖਰੀ ਕਾਰਵਾਈ: ਕਿਸ ਨੇ ਕੀ ਕੀਤਾ, ਅਤੇ ਕਦੋਂ (ਇੱਕ-ਕਲਿੱਕ ਵੇਰਵੇ)

ਸਿਰਫ਼ ਰੰਗ ਦੇ ਸੰਕੇਤ ਬਰਤਣ ਤੋਂ ਬਚੋ। ਰੰਗ ਨਾਲ-ਨਾਲ ਲੇਬਲ ਅਤੇ ਆਇਕਨ ਵੀ ਦਿਓ, ਅਤੇ ਹਰ ਸਕ੍ਰੀਨ 'ਤੇ ਸ਼ਬਦਾਵਲੀ ਇੱਕੋ ਜਿਹੀ ਰੱਖੋ।

“ਫੈਸਲਾ ਪੈੱਕ” ਵਿਊ

ਫੈਸਲਾ ਪੈੱਕ ਇੱਕ ਸਾਂਝਾ-ਯੋਗ ਸਨੈਪਸ਼ੌਟ ਹੁੰਦਾ ਹੈ ਜੋ ਜਵਾਬ ਦਿੰਦਾ ਹੈ: ਅਸੀਂ ਰੋਲਬੈਕ ਕਿਉਂ ਸੋਚ ਰਹੇ ਹਾਂ, ਅਤੇ ਵਿਕਲਪ ਕੀ ਹਨ?

ਸ਼ਾਮਲ ਕਰੋ:

  • ਸਿਗਨਲ: ਮੁੱਖ ਮੈਟ੍ਰਿਕਸ, ਐਰਰ ਟ੍ਰੈਂਡ, ਯੂਜ਼ਰ ਪ੍ਰਭਾਵ, ਅਤੇ ਅਲਰਟ (ਥ੍ਰੇਸ਼ਹੋਲਡ ਹਾਈਲਾਈਟ ਹੋਏ)
  • ਚੇਂਜ ਸਮਰੀ: ਕੀ ਸ਼ਿਪ ਹੋਇਆ, ਕਿਹੜੀਆਂ ਫਲੈਗਾਂ ਬਦਲੀਆਂ, ਅਤੇ ਪ੍ਰਭਾਵਿਤ ਸਰਵਿਸਾਂ
  • ਸੁਝਾਏ ਵਿਕਲਪ: ਟੀਮ ਲਈ ਉਪਲਬਧ ਰੋਲਬੈਕ ਕਿਸਮਾਂ (ਜਿਵੇਂ, ਫਲੈਗ ਬੰਦ, deploy revert), ਅੰਦਾਜ਼ਾ ਲੱਗਦਾ ਹੋਇਆ blast radius ਅਤੇ time-to-execute

ਇਹ ਵਿਊ ਚੈਟ ਵਿੱਚ ਪੇਸਟ ਕਰਨ ਲਈ ਆਸਾਨ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਰਿਪੋਰਟਿੰਗ ਲਈ ਐਕਸਪੋਰਟ ਕਰਨ ਲਈ ਸਰਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

ਐਕਸੈਸਬਿਲਿਟੀ ਬੁਨਿਆਦੀ ਗੱਲਾਂ ਜੋ ਦਬਾਅ ਹੇਠ ਮਹੱਤਵਪੂਰਨ ਹਨ

  • ਸਪਸ਼ਟ ਲੇਬਲ (ਜਿਵੇਂ "Execute" ਵਰਗੇ ਜਰੂਰੀ context ਦੇ ਬਿਨਾਂ jargon-ਭਰਿਆ ਨਾ ਹੋਵੇ)
  • ਮਜ਼ਬੂਤ ਕੰਟ੍ਰਾਸਟ ਅਤੇ ਪੜ੍ਹਨਯੋਗ ਫੋਂਟ ਆਕਾਰ
  • ਆਵਸ਼ਕ ਕਾਰਵਾਈਆਂ ਲਈ ਪੂਰਾ ਕੀਬੋਰਡ ਨੈਵੀਗੇਸ਼ਨ (review, approve, execute)
  • ਫੋਕਸ ਸਟੇਟ ਅਤੇ ਪੁਸ਼ਟੀ ਡਾਇਲਾਗ ਜੋ ਉੱਚ-ਸਟੇਕ ਕਲਿੱਕਾਂ ਤੋਂ ਬਚਾਓ

ਮਕਸਦ ਚਮਕਦਾਰ ਡੈਸ਼ਬੋਰਡ ਨਹੀਂ—ਇੱਕ ਐਸਾ ਸ਼ਾਂਤ ਇੰਟਰਫੇਸ ਹੈ ਜੋ ਸਹੀ ਕਾਰਵਾਈ ਨਿੱਘੀ ਅਤੇ ਸਪਸ਼ਟ ਮਹਿਸੂਸ ਕਰਵਾਏ।

ਇੰਟੀਗ੍ਰੇਸ਼ਨ: ਡਿਪਲੌਇਮੈਂਟ, ਫਲੈਗ, ਮਾਨੀਟਰਿੰਗ, ਅਤੇ ਟਿਕਟਿੰਗ

Iterate with snapshots
ਸਨੈਪਸ਼ਾਟ ਅਤੇ ਰੋਲਬੈਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਇਰੀਟੇਟ ਕਰੋ ਜਦੋਂ ਤੁਸੀਂ ਉੱਚ-ਜੋਖਮ ਫਲੋਜ਼ ਨੂੰ ਸੁਧਾਰ ਰਹੇ ਹੋ।
ਹੁਣ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਇੰਟੀਗ੍ਰੇਸ਼ਨਸ ਇੱਕ ਰੋਲਬੈਕ ਐਪ ਨੂੰ "ਫਾਰਮ ਨਾਲ ਰਾਏ" ਤੋਂ ਨਿਰਣਯ ਕੈਬਿਨੇਟ ਬਣਾਉਂਦੇ ਹਨ। ਲਕੜੀ ਦਾ ਟੀਚਾ ਇਹ ਨਹੀਂ ਕਿ ਸਭ ਕੁਝ ਖਿੱਚੋ—ਪਰ ਇਹ ਹੈ ਕਿ ਉਹ ਕੁਝ ਸਿਗਨਲ ਅਤੇ ਕੰਟਰੋਲ ਭਰੋਸੇਯੋਗੀ ਢੰਗ ਨਾਲ ਖਿੱਚੇ ਜੋ ਟੀਮ ਨੂੰ ਫੈਸਲਾ ਅਤੇ ਕਾਰਵਾਈ ਤੇਜ਼ੀ ਨਾਲ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦੇ ਹਨ।

ਮੁੱਖ ਇੰਟੀਗ੍ਰੇਸ਼ਨ পોઈਂਟ

ਪੰਜ ਅਜਿਹੇ ਸਰੋਤ ਸ਼ੁਰੂ ਕਰੋ ਜੋ ਅਕਸਰ ਟੀਮਾਂ ਪਹਿਲਾਂ ਹੀ ਵਰਤਦੀਆਂ ਹਨ:

  • Deployment system (CI/CD): ਕੀ ਸ਼ਿਪ ਹੋਇਆ, ਕਦੋਂ, ਕਿਸ ਦੁਆਰਾ, ਅਤੇ ਰੋਲਆਉਟ ਸਕੋਪ (ਰੀਜਨ, ਕਲੱਸਟਰ, %)
  • Feature flag service: ਮੌਜੂਦਾ ਫਲੈਗ ਸਥਿਤੀ, ਟਾਰਗੇਟਿੰਗ ਨਿਯਮ, ਅਤੇ ਬਦਲਾਅ ਇਤਿਹਾਸ
  • Monitoring & analytics: error rate, latency, crash-free users, conversion drops, ਮੁੱਖ ਬਿਜ਼ਨਸ KPIs
  • Ticketing / incident tools: ਇੰਸੀਡੈਂਟ ਸਥਿਤੀ, ਤੀਵਰਤਾ, ਪ੍ਰਭਾਵਿਤ ਸਰਵਿਸ, ਨਿਰਧਾਰਿਤ ਜਵਾਬਦੇਹ
  • Chat (Slack/Teams): ਹਲਕੇ ਅਪਡੇਟ, ਮਨਜ਼ੂਰੀਆਂ, ਅਤੇ ਫੈਸਲਾ ਰਿਕਾਰਡ ਵੱਲ ਲਿੰਕ

ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਸਟਾਈਲ ਚੁਣਨਾ (ਸੁਰੱਖਿਅਤ ਫੈਲਬੈਕ ਨਾਲ)

ਲੋੜੀਨੂੰ ਘੱਟ ਨਾਜੁਕ ਤਰੀਕੇ ਵਰਤੋ ਜੋ ਤੁਹਾਡੇ ਤੇਜ਼ੀ ਦੀ ਮੰਗ ਪੂਰੀ ਕਰੇ:

  • Webhooks ਤੁਰੰਤ ਘਟਨਾਵਾਂ ਲਈ (ਡਿਪਲੌਇ ਮੁਕੰਮਲ, ਫਲੈਗ ਟੌਗਲ, ਇੰਸੀਡੈਂਟ ਬਣਿਆ)
  • Polling ਉਨ੍ਹਾਂ ਟੂਲਾਂ ਲਈ ਜਿਨ੍ਹਾਂ ਕੋਲ ਭਰੋਸੇਯੋਗ webhooks ਨਹੀਂ (ਕੁਝ ਐਨਾਲਿਟਿਕਸ APIs), ਸਪਸ਼ਟ ਇੰਟਰਵਲ ਅਤੇ ਬੈਕਆਫ਼ ਨਾਲ
  • API clients ਓਨ-ਡਿਮੈਂਡ ਲੁਕਅਪ ਲਈ ("ਆਖਰੀ 5 ਡਿਪਲੌਇਜ਼ ਦਿਖਾਓ ਸਰਵਿਸ X ਨੂੰ")
  • Manual entry fallback ਜਦੋਂ ਸਿਸਟਮ ਡਾਊਨ ਹੋ ਜਾਂ ਪਹੁੰਚ ਉਪਲਬਧ ਨਹੀਂ। ਇਸਨੂੰ ਲੇਬਲ ਕਰੋ: “manual” ਅਤੇ ਇੱਕ ਛੋਟਾ ਕਾਰਨ ਲਾਜ਼ਮੀ ਕਰੋ।

ਘਟਨਾਵਾਂ ਨੂੰ ਇੱਕ ਰੂਪ ਵਿੱਚ ਨਾਰਮਲਾਈਜ਼ ਕਰੋ

ਵੱਖ-ਵੱਖ ਸਿਸਟਮ ਇੱਕੋ ਗੱਲ ਨੂੰ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਨਾਲ ਦਰਸਾਉਂਦੇ ਹਨ। ਆਉਣ ਵਾਲੇ ਡੇਟਾ ਨੂੰ ਇੱਕ ਛੋਟੇ, ਸਥਿਰ ਸਕੀਮਾ ਵਿੱਚ ਨਾਰਮਲਾਈਜ਼ ਕਰੋ ਜਿਵੇਂ:

  • source (deploy/flags/monitoring/ticketing/chat)
  • entity (release, feature, service, incident)
  • timestamp (UTC)
  • environment (prod/staging)
  • severity ਅਤੇ metric_values
  • links (ਅੰਦਰੂਨੀ ਪੰਨਿਆਂ ਵਾਂਗ /incidents/123 ਵਰਗੇ ਸਾਪੇੱਖ ਲਿੰਕ)

ਇਸ ਨਾਲ UI ਇੱਕ ਟਾਈਮਲਾਈਨ ਦਿਖਾ ਸਕਦੀ ਹੈ ਅਤੇ ਸਿਗਨਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰ ਸਕਦੀ ਹੈ ਬਿਨਾਂ ਹਰ ਟੂਲ ਲਈ ਵਿਸ਼ੇਸ਼ ਲੌਜਿਕ ਦੇ।

ਫੇਲਯਾਨ ਨੂੰ ਸੰਭਾਲਣਾ بغیر ਭਰੋਸਾ ਖੋਏ

ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਫੇਲ ਹੁੰਦੇ ਹਨ; ਐਪ ਸੀਲੈਂਟ ਜਾਂ ਗਲਤ ਜਾਣਕਾਰੀ ਨਾ ਬਣੇ:

  • ਟ੍ਰਾਂਜ਼ੀਐਂਟ ਐਰਰ ਲਈ Retries with backoff
  • ਗਲਤ ਪੇਲੋਡ ਲਈ dead-letter queue ਅਤੇ ਮੈਪਿੰਗ ਠੀਕ ਕਰਨ 'ਤੇ ਰੀਪਲੇ ਕਰਨ ਦੀ ਸੁਵਿਧਾ
  • integration health page (/integrations/health) ਜੋ ਆਖਰੀ ਸਫਲ ਸਮਾਂ, ਐਰਰ ਗਿਣਤੀ, ਅਤੇ degraded-mode ਬਿਹੈਵਿਅਰ ਦਿਖਾਂ

ਜਦੋਂ ਸਿਸਟਮ ਸਿਗਨਲ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਦੱਸੋ—ਅਨਿਸ਼ਚਿਤਤਾ ਵੀ ਜਾਣਕਾਰੀ ਹੈ।

ਆਡਿਟ ਟਰੇਲ, ਸਬੂਤ ਸਨੈਪਸ਼ਾਟ, ਅਤੇ ਰਿਪੋਰਟਿੰਗ

ਜਦੋਂ ਰੋਲਬੈਕ ਮਸਲੇ 'ਤੇ ਆਇਆ ਹੋਵੇ, ਫੈਸਲਾ ਸਿਰਫ਼ ਆਧਾ ਕਹਾਣੀ ਹੈ। ਦੂਜਾ ਹਿੱਸਾ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਜਵਾਬ ਦੇ ਸਕੋ: ਅਸੀਂ ਇਹ ਕਿਉਂ ਕੀਤਾ, ਅਤੇ ਉਸ ਸਮੇਂ ਸਾਨੂੰ ਕੀ ਪਤਾ ਸੀ? ਇੱਕ ਸਪਸ਼ਟ ਆਡਿਟ ਟਰੇਲ ਦੂਜੀ-ਸਵਾਲ-ਮੁਕਾਬਲਾ ਘਟਾਉਂਦੀ ਹੈ, ਰਿਵਿਊਜ਼ ਤੇਜ਼ ਕਰਦੀ ਹੈ, ਅਤੇ ਟੀਮਾਂ ਵਿਚਕਾਰ ਹੈਂਡਆਫ਼ ਨੂੰ ਸਾਂਤ ਬਣਾਉਂਦੀ ਹੈ।

ਆਡਿਟ ਇਵੈਂਟ ਪਰਿਭਾਸ਼ਾ ("ਕੌਣ/ਕੀ/ਕਦੋਂ/ਕਿੱਥੇ")

ਆਡਿਟ ਟਰੇਲ ਨੂੰ ਇੱਕ ਐਪੈਂਡ-ਓਨਲੀ ਰਿਕਾਰਡ ਵਜੋਂ ਸਮਝੋ। ਹਰ ਘਟਨਾ ਲਈ ਕੈਪਚਰ ਕਰੋ:

  • Who: user ID, ਡਿਸਪਲੇ ਨਾਂਮ, ਭੂਮਿਕਾ, ਅਤੇ ਟੀਮ
  • What: ਕਾਰਵਾਈ (ਉਦਾਹਰਨ: “Proposed rollback,” “Approved,” “Executed,” “Cancelled”) ਅਤੇ ਪ੍ਰਭਾਵਿਤ ऑਬਜੈਕਟ (feature/release/incident)
  • When: UTC ਟਾਈਮਸਟੈਂਪ (ਡਿਸਪਲੇ ਲਈ ਵਿਕਲਪੀ ਲਈ ਲੋ컬 ਟਾਈਮ)
  • From where: IP ਐਡਰੈੱਸ, ਯੂਜ਼ਰ ਏਜੰਟ, ਅਤੇ ਵਰਕਸਪੇਸ/ENV (prod/staging)
  • What changed: ਮੁੱਖ ਫੀਲਡਾਂ ਲਈ ਪਹਿਲਾਂ/ਬਾਅਦ ਮੁੱਲ (thresholds, rollout %, ਚੁਣੀ ਰੋਲਬੈਕ ਕਿਸਮ, ਲਿੰਕਡ ਟਿਕਟ)

ਇਸ ਨਾਲ ਆਡਿਟ ਲਾਗ ਉਪਯੋਗੀ ਬਣ ਜਾਂਦਾ ਹੈ ਬਿਨਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਜਟਿਲ “ਕੰਪਲਾਇੰਸ” ਕਹਾਣੀ ਵਿੱਚ ਫਸਣ ਦੇ।

ਸਬੂਤ ਸਨੈਪਸ਼ਾਟ: ਫੈਸਲੇ ਦੇ ਸਮੇਂ ਤਥਿਆਂ ਨੂੰ ਫ੍ਰੀਜ਼ ਕਰੋ

ਮੈਟ੍ਰਿਕਸ ਅਤੇ ਡੈਸ਼ਬੋਰਡ ਮਿੰਟ-ਬ-ਮਿੰਟ ਬਦਲਦੇ ਹਨ। “ਮੂਵਿੰਗ ਟਾਰਗਟ” ਗੁਮਰਾਹੀ ਤੋਂ ਬਚਣ ਲਈ, ਜਦੋਂ ਵੀ ਪ੍ਰਸਤਾਵ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਅਪਡੇਟ ਹੁੰਦਾ ਹੈ, ਮਨਜ਼ੂਰ ਹੁੰਦਾ ਹੈ, ਜਾਂ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ evidence snapshots ਸਟੋਰ ਕਰੋ।

ਇੱਕ ਸਨੈਪਸ਼ਾਟ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋ ਸਕਦਾ ਹੈ: ਵਰਤਿਆ ਕ੍ਵੈਰੀ (ਉਦਾਹਰਨ: feature ਕੋਹੋਰਟ ਲਈ error rate), ਪਰਤ ਆਏ ਮੁੱਲ, ਚਾਰਟ/ਪਰਸੇਂਟਾਈਲ, ਅਤੇ ਮੂਲ ਸਰੋਤ ਦੇ ਲਿੰਕ। ਲਕੜੀ ਦਾ ਟੀਚਾ ਇਹ ਨਹੀਂ ਕਿ ਤੁਸੀਂ ਮਾਨੀਟਰਿੰਗ ਟੂਲ ਦੀ ਨਕਲ ਕਰੋ—ਬਲਕਿ ਉਹਨਾਂ ਖਾਸ ਸਿਗਨਲਾਂ ਨੂੰ ਸੰਭਾਲੋ ਜਿਨ੍ਹਾਂ 'ਤੇ ਟੀਮ ਨੇ ਭਰੋਸਾ ਕੀਤਾ।

ਰੀਟੇਨਸ਼ਨ, ਐਕਸਪੋਰਟ, ਅਤੇ ਰਿਪੋਰਟਿੰਗ

ਪ੍ਰੈਕਟਿਕਲਟੀ ਅਨੁਸਾਰ ਰਿਟੇਨਸ਼ਨ ਨਿਰਧਾਰਤ ਕਰੋ: ਤੁਸੀਂ ਕਿੰਨੀ ਦੇਰ ਲਈ ਇੰਸੀਡੈਂਟ/ਫੈਸਲਾ ਇਤਿਹਾਸ ਨੂੰ ਖੋਜਯੋਗ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਅਤੇ ਕੀ ਅਰਕਾਈਵ ਕੀਤਾ ਜਾਵੇ। ਐਕਸਪੋਰਟ ਉਹੋ ਤਰ੍ਹਾਂ ਦਿਓ ਜੋ ਟੀਮ ਵਰਤੇ:

  • CSV ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ
  • PDF ਫੈਸਲਾ ਸਾਰਾਂਸ਼ ਸਾਂਝਾ ਕਰਨ ਲਈ

ਇਨਸੀਡੈਂਟ ਅਤੇ ਫੈਸਲਿਆਂ 'ਤੇ ਤੇਜ਼ search ਅਤੇ filters ਸ਼ਾਮਲ ਕਰੋ (service, feature, date range, approver, outcome, severity)। ਬੁਨਿਆਦੀ ਰਿਪੋਰਟਿੰਗ ਰੋਲਬੈਕ ਦੀ ਗਿਣਤੀ, ਮੱਧਮ ਸਮਾਂ-ਤੱਕ ਮਨਜ਼ੂਰੀ, ਅਤੇ ਆਮ ਟ੍ਰਿਗਰ ਸੰਖੇਪ ਕਰ ਸਕਦੀ ਹੈ—ਪ੍ਰੋਡਕਟ ਓਪਰੇਸ਼ਨਜ਼ ਅਤੇ ਪੋਸਟ-ਇੰਸੀਡੈਂਟ ਰਿਵਿਊ ਲਈ ਉਪਯੋਗ।

ਸੁਰੱਖਿਆ ਅਤੇ ਐਕਸੈਸ ਕੰਟਰੋਲ ਬੱਚੇ-ਵੱਡੀਆਂ ਕਾਰਵਾਈਆਂ ਲਈ

Make decision pages quickly
ਇੱਕ ਇੰਸੀਡੈਂਟ ਹੱਬ ਬਣਾਓ ਜੋ ਸਿਗਨਲ, ਫੈਸਲੇ ਅਤੇ ਕਾਰਵਾਈਆਂ ਨੂੰ ਇੱਕ ਹੀ ਜਗ੍ਹਾ ਰੱਖੇ।
ਹੁਣ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਇੱਕ ਰੋਲਬੈਕ ਫੈਸਲਾ ਐਪ ਤਦ ਹੀ ਉਪਯੋਗੀ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਲੋਕ ਇਸ 'ਤੇ ਭਰੋਸਾ ਕਰਨ—ਖ਼ਾਸ ਕਰਕੇ ਜਦ ਇਹ ਪ੍ਰੋਡਕਸ਼ਨ ਹਲਤ ਬਦਲ ਸਕਦਾ ਹੈ। ਸੁਰੱਖਿਆ ਸਿਰਫ਼ "ਕੌਣ ਲੌਗਿਨ ਕਰ ਸਕਦਾ" ਨਹੀਂ ਹੈ; ਇਹ ਇਹ ਵੀ ਹੈ ਕਿ ਤੁਸੀਂ ਹਿੱਡੇ, ਗ਼ਲਤੀ-ਰੁਝਾਨ, ਜਾਂ ਗੈਰ-ਅਧਿਕ੍ਰਿਤ ਕਾਰਵਾਈਆਂ ਤੋਂ ਕਿਵੇਂ ਬਚਾਓਗੇ ਜਦਕਿ ਘਟਨਾ ਦੌਰਾਨ ਤੁਰੰਤ ਕਾਰਵਾਈ ਜ਼ਰੂਰੀ ਹੋਵੇ।

ਪ੍ਰਮਾਣੀਕਰਨ: ਪਛਾਣ ਸਾਬਤ ਕਰੋ (ਅਨੁਭਵੀ ਅਤੇ ਸਿਸਟਮਾਂ ਲਈ)

  • SSO/OAuth ਕਰਮਚਾਰੀਆਂ ਲਈ (Google Workspace, Okta, Azure AD). ਇਹ ਪਾਸਵਰਡ ਖਤਰੇ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਆਫ਼ਬੋਰਡਿੰਗ ਕੇਂਦਰੀ ਬਣਾਉਂਦਾ ਹੈ।
  • Email login ਛੋਟੇ ਬਦਲ-ਪੁਸ਼ਟ ਜਾਂ ਠੇਕੇਦਾਰਾਂ ਲਈ ਫੈਲਬੈਕ, ਮੈਜਿਕ ਲਿੰਕ ਜਾਂ MFA ਨਾਲ।
  • Service accounts ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਲਈ (CI/CD, monitoring, ticketing). ਇਹ ਗੈਰ-ਮਾਨਵ ਪਛਾਣਾਂ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ, ਤੰਗ-ਸਕੋਪ ਕੀਤੇ ਗਏ ਅਧਿਕਾਰਾਂ ਨਾਲ ਅਤੇ ਸੰਭਵ ਹੋਵੇ ਤਾਂ ਛੋਟੀ ਮਿਆਦ ਵਾਲੇ ਟੋਕਨ।

ਅਥਾਰਾਈਜ਼ੇਸ਼ਨ: ਹਰ ਪਛਾਣ ਲਈ ਫਰਕ ਅਧਿਕਾਰ

RBAC (role-based access control) ਵਰਤੋਂ ਕਰੋ ਨਾਲ environment scoping ਤਾਂ ਜੋ dev/staging/production ਲਈ ਅਧਿਕਾਰ ਵੱਖਰੇ ਹੋ ਸਕਣ।

ਓਪਰੇਸ਼ਨਲ ਮਾਡਲ:

  • Viewer: ਡੈਸ਼ਬੋਰਡ, ਆਡਿਟ ਟਰੇਲ, evidence snapshots ਵੇਖ ਸਕਦਾ ਹੈ।
  • Operator: ਪ੍ਰਸਤਾਵ ਪੇਸ਼ ਕਰ ਸਕਦਾ, ਸਬੂਤ ਜੋੜ ਸਕਦਾ, dry-run ਚੈੱਕ ਚਲਾ ਸਕਦਾ।
  • Approver: production rollbacks ਮਨਜ਼ੂਰ/ਰੱਦ ਕਰ ਸਕਦਾ।
  • Admin: ਭੂਮਿਕਾਵਾਂ, ਇੰਟੀਗ੍ਰੇਸ਼ਨ, retention ਮੈਨੇਜ ਕਰਦਾ।

Environment scoping ਅਹਿਮ ਹੈ: ਕੋਈ ਵਿਅਕਤੀ staging ਵਿੱਚ Operator ਹੋ ਸਕਦਾ ਹੈ ਪਰ production ਵਿੱਚ ਸਿਰਫ Viewer।

ਸਭ ਤੋਂ ਖ਼ਤਰਨਾਕ ਕਾਰਵਾਈਆਂ ਦੀ ਰੱਖਿਆ

ਰੋਲਬੈਕ ਉੱਚ-ਪ੍ਰਭਾਵ ਵਾਲੇ ਹੋ ਸਕਦੇ ਹਨ, ਇਸ ਲਈ ਗਲਤੀ ਰੋਕਣ ਲਈ ਘਰਕਾਜ਼ ਜੋੜੋ:

  • ਸਪਸ਼ਟ ਪੁਸ਼ਟ ("Rollback feature X in production to version Y")
  • ਉੱਚ-ਜੋਖਮ ਕਦਮਾਂ ਲਈ ਦੋ-ਵਿਆਕਤੀ ਨਿਯਮ (ਉਦਾਹਰਨ: production rollback ਚਲਾਉਣ ਲਈ ਇੱਕ ਪ੍ਰਸਤਾਵਕ ਅਤੇ ਇੱਕ ਵੱਖਰਾ approver ਲਾਜ਼ਮੀ)
  • ਵਿਕਲਪੀ ਟਾਈਮ-ਬਾਊਂਡ ਮਨਜ਼ੂਰੀਆਂ (15 ਮਿੰਟ ਬਾਅਦ ਮਨਜ਼ੂਰੀ ਮਿਆਦ-ਮੁਕਤ ਹੋ ਸਕਦੀ ਹੈ) ਤਾਂ ਜੋ "ਸਟੇਲ ਗ੍ਰੀਨ ਲਾਈਟ" ਘਟੇ।

ਸੁਰੱਖਿਅਤ ਟੋਕਨ ਅਤੇ ਇੱਕ ਦਲੀਲਯੋਗ ਆਡਿਟ ਬਣਾਉ

ਸੰਵੇਦਨਸ਼ੀਲ ਪਹੁੰਚ (ਕਿਸ ਨੇ ਇੰਸੀਡੈਂਟ ਸਬੂਤ ਵੇਖਿਆ, thresholds ਬਦਲੀਆਂ, ਰੋਲਬੈਕ ਚਲਾਇਆ) ਨੂੰ ਟਾਈਮਸਟੈਂਪ ਅਤੇ ਰਿਕਵੇਸਟ ਮੈਟਾ ਨਾਲ ਲੌਗ ਕਰੋ। ਲਾਗਜ਼ ਐਪੈਂਡ-ਓਨਲੀ ਅਤੇ ਐਕਸਪੋਰਟ ਯੋਗ ਹੋਣ ਚਾਹੀਦੇ ਹਨ।

API ਟੋਕਨ, webhook ਸਾਇਨਿੰਗ ਕੀਜ਼ ਨੁੰਨਾਂ, ਵਰਗੀਆਂ ਰਾਜ਼ਾਂ ਨੂੰ ਕੋਡ ਵਿੱਚ ਜਾਂ ਪLAIN ਡੇਟਾਬੇਸ ਫੀਲਡ ਵਿੱਚ ਨਾ ਰੱਖੋ—ਇन्हਾਂ ਨੂੰ ਇੱਕ vault ਵਿੱਚ ਰੱਖੋ। ਟੋਕਨਾਂ ਨੂੰ ਰੋਟੇਟ ਅਤੇ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਹਟਣ ਤੇ ਤੁਰੰਤ ਰੱਦ ਕਰੋ।

ਆਰਕੀਟੈਕਚਰ ਅਤੇ ਬਣਾਉਣ ਦੀ ਯੋਜਨਾ (MVP ਤੋਂ ਪ੍ਰੋਡਕਸ਼ਨ)

ਇੱਕ ਰੋਲਬੈਕ ਫੈਸਲਾ ਐਪ ਵਰਤਣ ਵਿੱਚ ਹਲਕੀ ਲੱਗਣੀ ਚਾਹੀਦੀ ਹੈ, ਪਰ ਫਿਰ ਵੀ ਇਹ ਉੱਚ-ਸ턱 ਕਾਰਵਾਈਆਂ ਨੂੰ ਕੋਆਰਡੀਨੇਟ ਕਰ ਰਿਹਾ ਹੈ। ਇੱਕ ਸਾਫ਼ ਬਿਲਡ ਪਲੈਨ ਤੁਹਾਨੂੰ MVP ਤੇਜ਼ੀ ਨਾਲ ਸ਼ਿਪ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਬਿਨਾਂ ਇੱਕ “ਰਹੱਸਮਈ ਡੱਬੇ” ਨੂੰ ਬਣਾਉਣ ਦੇ ਜਿਸ 'ਤੇ ਕਿਸੇ ਦਾ ਭਰੋਸਾ ਨਾ ਹੋਵੇ।

ਸਧਾਰਨ ਸ਼ੁਰੂਆਤ: UI + API + ਡੇਟਾਬੇਸ + ਜੋਬਜ਼

MVP ਲਈ ਮੁੱਖ ਆਰਕੀਟੈਕਚਰ ਸਧਾਰਨ ਰੱਖੋ:

  • Web UI: ਡੈਸ਼ਬੋਰਡ, ਫੈਸਲਾ ਫਾਰਮ, ਮਨਜ਼ੂਰੀਆਂ, ਹਿਸਟਰੀ ਵਿਊ
  • API: ਇੱਕ ਸੇਵਾ ਜੋ ਬਿਜਨਸ ਨਿਯਮਾਂ ਨੂੰ ਰੱਖਦੀ ਹੈ (ਕੌਣ ਮਨਜ਼ੂਰ ਕਰ ਸਕਦਾ, ਕਿਸ ਨਾਲ, ਕਿਹੜੇ ਸਬੂਤ ਲੋੜੀਂਦੇ)
  • ਡੇਟਾਬੇਸ: releases, features/flags, incidents, decisions, evidence snapshots ਸਟੋਰ ਕਰਨ ਲਈ
  • Background jobs: webhook इਨਜੈਸਟ, metrics polling, ਰਿਪੋਰਟ ਜਨਰੇਸ਼ਨ, ਨੋਟੀਫਿਕੇਸ਼ਨ ਭੇਜਣਾ

ਇਹ ਰੂਪ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਲਕੜੀ ਦਾ ਟੀਚਾ ਸਹਾਰਦਾ ਹੈ: ਇੱਕ ਸਿੰਗਲ ਸੋורס ਆਫ ਟਰੂਥ ਕਿ ਕੀ ਫੈਸਲਾ ਕੀਤਾ ਗਿਆ ਅਤੇ ਕਿਉਂ, ਅਤੇ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਨੌਜਵਾਨੀ ਤਰੀਕੇ ਨਾਲ ਅਸਿੰਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (ਇਸ ਤਰ੍ਹਾਂ ਕਿ ਕੋਈ ਸੌਫਟਥਰਡ-ਪਾਰਟੀ API ਵੀ UI ਨੂੰ ਬਲੌਕ ਨਾ ਕਰੇ)।

ਸਟੈਕ ਚੁਣੋ ਜੋ ਤੁਹਾਡੀ ਟੀਮ ਲਈ ਢਿੱਠ ਹੋਵੇ

ਜੋ ਟੀਮ ਚਲਾਉ ਸਕਦੀ ਹੈ ਉਹੀ ਚੁਣੋ। ਆਮ ਮੇਲ:

  • Backend: Node.js (Express/Nest), Python (Django/FastAPI), Ruby on Rails, ਜਾਂ Go.
  • Frontend: React, Vue, ਜਾਂ ਸਰਵਰ-ਰੇਂਡਰਡ ਟੈਂਪਲੇਟ ਸਧਾਰਤਾ ਲਈ.
  • Database: Postgres (ਰਿਲੇਸ਼ਨਲ ਡੇਟਾ + ਆਡਿਟ ਇਤਿਹਾਸ)
  • Jobs/queue: Sidekiq, Celery, BullMQ, ਜਾਂ ਮੈਨੇਜਡ ਕਯੂ

ਜੇ ਤੁਸੀਂ ਛੋਟੀ ਟੀਮ ਹੋ, ਘੱਟ ਮੂਵਿੰਗ ਪਾਰਟ ਪਸੰਦ ਕਰੋ। ਇੱਕ ਰੇਪੋ ਅਤੇ ਇੱਕ ਡਿਪਲੋਏਬਲ ਸੇਵਾ ਅਕਸਰ ਕਾਫ਼ੀ ਹੈ ਜਦ ਤੱਕ ਉਪਯੋਗ ਸਾਬਿਤ ਨਹੀਂ ਹੁੰਦਾ।

ਜੇ ਤੁਸੀਂ ਪਹਿਲੀ ਵਰਕਿੰਗ ਵਰਜ਼ਨ ਤੇਜ਼ ਤੇ ਬਣਾਉਣ ਚਾਹੁੰਦੇ ਹੋ ਬਿਨਾਂ ਨਿਰੰਤਰਤਾ ਘਟਾਏ, ਤਾਂ Koder.ai ਵਰਗਾ vibe-coding ਪਲੇਟਫਾਰਮ ਇਕ ਪ੍ਰਯੋਗੀ ਸ਼ੁਰੂਆਤ ਹੋ ਸਕਦਾ ਹੈ: ਤੁਸੀਂ roles, entities, ਅਤੇ workflow chat ਵਿੱਚ ਵਰਣਨ ਕਰ ਸਕਦੇ ਹੋ, React UI ਅਤੇ Go + PostgreSQL ਬੈਕਐਂਡ ਦੇ ਨਾਲ ਇੱਕ ਕੰਮ ਕਰਨ ਯੋਗ ਐਪ ਜਨਰੇਟ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਫਿਰ ਫਾਰਮ, ਟਾਈਮਲਾਈਨ, ਅਤੇ RBAC 'ਤੇ ਤੇਜੀ ਨਾਲ ਇੰਟਰੈਟ ਕਰੋ। ਇਹ ਅਜਿਹਾ ਇੰਟਰਨਲ ਟੂਲ ਲਈ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ MVP ਬਣਾਕੇ ਸੋурс ਕੋਡ ਨਿਕਾਸ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਫਿਰ ਇੰਟੀਗ੍ਰੇਸ਼ਨ, ਆਡਿਟ ਲੌਗਿੰਗ, ਅਤੇ ਡਿਪਲੌਇਮੈਂਟ ਨੂੰ ਹੋਰ ਸਖ਼ਤ ਕਰ ਸਕਦੇ ਹੋ।

ਟੈਸਟਿੰਗ ਰਣਨੀਤੀ: ਜਿੱਥੇ ਦਿਲਾਸਾ ਲੋੜੀਦਾ ਹੈ ਉੱਥੇ ਵਿਸ਼ਵਾਸ

ਉਹ ਹਿੱਸਿਆਂ 'ਤੇ ਟੈਸਟ ਫੋਕਸ ਕਰੋ ਜੋ ਗਲਤੀਆਂ ਰੋਕਦੇ ਹਨ:

  • Unit tests for decision rules: thresholds, required approvers, time windows, ਅਤੇ “ਦੋ ਵਾਰ_execute ਨਹੀਂ ਹੋ ਸਕਦਾ” ਸੁਰੱਖਿਆ
  • Integration tests for webhooks: ਸਾਇਨਚਰੈਲਿਟੀ ਚੈੱਕ, retries, ਅਤੇ idempotency ਨੂੰ ਵੀਰੇਫਾਈ ਕਰੋ
  • UI smoke tests: ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਕ੍ਰਿਟੀਕਲ ਯਾਤਰਾ (open release → review signals → approve → execute) ਨਹੀਂ ਟੁਟਦੀ

ਓਪਰੇਸ਼ਨਲ ਬੁਨਿਆਦੀ ਗੱਲਾਂ ਜੋ ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਸ਼ੁਕਰਗੁਜ਼ਾਰ ਰਹਿ​ਹੋ

ਐਪ ਨੂੰ ਪਹਿਲੇ ਦਿਨ ਤੋਂ ਪ੍ਰੋਡਕਸ਼ਨ ਸੋਫਟਵੇਅਰ ਸਮਝੋ:

  • Monitoring: API latency, job queue depth, webhook failures, execution success rate
  • Backups: automated DB backups with periodic restore tests
  • Runbooks: ਇੱਕ ਸਧਾਰਨ ਪੰਨਾ ਜਿਵੇਂ /docs/runbooks ਜੋ ਕਵਰ ਕਰੇ "webhooks failing", "queue stuck", "can’t execute rollback", ਅਤੇ "ਕਿਵੇਂ ਪਹੁੰਚ ਰੱਦ ਕਰਨੀ ਹੈ" ਵਰਗੀਆਂ ਸਥਿਤੀਆਂ

MVP ਨੂੰ ਫੈਸਲਾ ਕੈਪਚਰ + ਆਡਿਟਯੋਗਤਾ 'ਤੇ ਕੇਂਦਰਿਤ ਕਰੋ, ਫਿਰ ਟੀਮ ਦੈਨੂੰਪਾਏ ਵਰਤਣਾ ਸ਼ੁਰੂ ਕਰੇ ਤਾਂ ਹੋਰ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਅਤੇ ਰਿਪੋਰਟਿੰਗ ਵਿੱਚ ਵਾਧਾ ਕਰੋ।

ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ

What is a “rollback decision,” and why is it hard in practice?

ਰੋਲਬੈਕ ਫੈਸਲਾ ਉਹ ਮੁਕਾਮ ਹੈ ਜਦੋਂ ਟੀਮ ਇਸ ਗੱਲ 'ਤੇ ਫੈਸਲਾ ਕਰਦੀ ਹੈ ਕਿ ਪ੍ਰੋਡਕਸ਼ਨ ਚANGES ਨੂੰ ਉਲਟਣਾ ਹੈ ਜਾਂ ਨਹੀਂ—ਡਿਪਲੌਇ ਵਾਪਸ ਰਿਵਰਟ ਕਰਨਾ, ਫੀਚਰ ਫਲੈਗ ਨੂੰ ਬੰਦ ਕਰਨਾ, ਕਨਫਿਗ ਰੋਲਬੈਕ ਕਰਨਾ ਜਾਂ ਰਿਲੀਜ਼ ਨੂੰ ਖਿੱਚਣਾ। ਮੁਸ਼ਕਲ ਗੱਲ ਮਕੈਨਿਜ਼ਮ ਨਹੀਂ; ਮੁਸ਼ਕਲ ਗੱਲ ਇਹ ਹੈ ਕਿ ਘਟਨਾ ਦੌਰਾਨ ਤੇਜ਼ੀ ਨਾਲ ਸਬੂਤ, ਮਾਲਿਕੀਅਤ, ਅਤੇ ਅਗਲੇ ਕਦਮ 'ਤੇ ਸਹਿਮਤੀ ਬਣਾਈ ਜਾਵੇ।

Is this app supposed to automatically roll things back?

ਇਹ ਪਹਿਲਾਂ ਫੈਸਲੇ ਲਈ ਸਹਾਇਤਾ ਲਈ ਹੈ: ਸਿਗਨਲ ਨੂੰ ਇਕੱਠਾ ਕਰੋ, ਪ੍ਰਸਤਾਵ/ਸਮੀਖਿਆ/ਮਨਜ਼ੂਰੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਢਾਂਚਾ ਦਿਓ, ਅਤੇ ਆਡਿਟ ਟਰੇਲ ਸੁਰੱਖਿਅਤ ਰੱਖੋ। ਆਟੋਮੇਸ਼ਨ ਬਾਅਦ ਵਿੱਚ ਜੋੜੀ ਜਾ ਸਕਦੀ ਹੈ, ਪਰ ਸ਼ੁਰੂਆਤੀ ਲਾਭ ਗਲਬਤਫਹਮੀ ਘਟਾਉਣਾ ਅਤੇ ਸਾਂਝਾ ਸੰਦਰਭ ਨਾਲ ਤੁਰੰਤ ਸਹਿਮਤੀ ਤੇਜ਼ ਕਰਨਾ ਹੈ।

Who should use a rollback decision app?
  • On-call engineering: ਕੀ ਬਦਲਿਆ, ਕੀ ਟੁੱਟ ਰਿਹਾ, ਅਤੇ ਹੁਣ ਸਭ ਤੋਂ ਸੁਰੱਖਿਅਤ ਕਦਮ ਕੀ ਹੈ
  • Incident commander: ਸਹਿਕਾਰ, ਅਸਾਈਨਮੈਂਟ, ਡੈਡਲਾਈਨ, ਫੈਸਲੇ ਦੀ ਸਥਿਤੀ
  • Product owner: ਯੂਜ਼ਰ/ਰੇਵਨਿਊ ਪ੍ਰਭਾਵ, ਤਹੁਫ਼ੇ, ਕਮਿਊਨਿਕੇਸ਼ਨ ਸੰਦੇਸ਼
  • Approvers (EM/release captain/compliance): ਜਾਇਜ਼ਾ, ਵਾਪਸੀ ਯੋਗਤਾ, ਨੀਤੀ ਪਾਲਣਾ
  • Support/Success: ਗਾਹਕ ਰਿਪੋਰਟਸ, ਪ੍ਰਭਾਵਿਤ ਖੰਡ, ਤੀਵਰਤਾ

ਇੱਕੋ ਫੈਸਲਾ ਰਿਕਾਰਡ ਸਾਰਿਆਂ ਲਈ ਸਮਝਣਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਬਿਨਾਂ ਇਹ ਲਾਗੂ ਕੀਤੇ ਬਿਨਾਂ ਕਿ ਸਭ ਦਾ ਵਰਕਫਲੋ ਇਕੋ ਹੋਵੇ।

What’s the minimum data model needed for this kind of app?

ਇੱਕ ਛੋਟੇ ਕੋਰ ਇੰਟੀਟੀਆਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ:

  • Feature, Release, Environment
  • Incident, Decision, Action
  • Metric Snapshot (ਫੈਸਲੇ ਦੇ ਸਮੇਂ ਦੀ ਜੰਚ ਲਈ ਫ਼੍ਰੋਜ਼ਨ ਸਬੂਤ)

ਫਿਰ ਰਿਸ਼ਤਿਆਂ ਨੂੰ ਵਿਆਪਕ ਬਣਾਓ (ਉਦਾਹਰਨ ਲਈ Feature ↔ Release ਬਹੁ-ਤੋ-ਬਹੁ), ਤਾਂ ਜੋ ਘਟਨਾ ਦੌਰਾਨ ਜਵਾਬ ਦੇਣਾ ਤੇਜ਼ ਹੋਵੇ।

What rollback types should the app support?

“Rollback” ਨੂੰ ਵੱਖ-ਵੱਖ ਕਾਰਵਾਈਆਂ ਵਜੋਂ ਸਪਸ਼ਟ ਕਰੋ:

  • Redeploy previous version (ਵਿਆਪਕ, ਹੋਰ ਬਦਲਾਵਾਂ ਨੂੰ ਵੀ ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ)
  • Disable a feature flag (ਜਦੋਂ ਫਲੈਗ ਹੋਵੇ ਤਾਂ ਆਮ ਤੌਰ 'ਤੇ ਸਭ ਤੋਂ ਤੇਜ਼/ਸੁਰੱਖਿਅਤ)
  • Config toggle / kill switch (ਤਾਕਤਵਰ ਪਰ ਸਮਝਣਾ ਔਖਾ)

UI ਵਿੱਚ ਇਹਨਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ action types ਵਜੋਂ ਦਰਸਾਓ ਅਤੇ ਸਕੋਪ (env/region/% rollout) ਫਰਮਾ ਵਿੱਚ ਲਿਖਵਾਓ।

What signals should be included in a “decision pack”?

ਇੱਕ ਅਮਲੀ ਚੈੱਕਲਿਸਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ:

  • Error rate (ਸੰਪੂਰਣ ਅਤੇ endpoint ਅਨੁਸਾਰ)
  • Latency p95/p99 ਅਤੇ timeout
  • Conversion / funnel drop
  • Crash reports (ਟਾਪ ਸਕੈਸ਼/ਵਰਜ਼ਨ/ਡਿਵਾਈਸ)
  • Support ticket ਵੋਲੀਅਮ ਅਤੇ ਮੁੱਖ ਸ਼੍ਰੇਣੀਆਂ

ਹਰ ਮੈਟ੍ਰਿਕ ਲਈ ਛੋਟਾ “ਟ੍ਰੈਂਡ ਸਕ੍ਰਿਪ” ਦਿਖਾਓ ਤਾਂ ਜੋ ਸਮੀਖਿਆਕਾਰ ਦਿਸ਼ਾ ਦੇਖ ਸਕਣ, ਸਿਰਫ਼ ਇਕ ਨੁਕਤੇ ਦੀ ਮੂਲ्य ਨਹੀਂ।

How should the propose-review-approve-execute workflow work?

ਢਾਂਚਾਬੱਧ, ਸਮਾਂ-ਬੱਧ ਫਲੋ ਵਰਤੋ:

  1. Propose: ਇੱਕ ਸੰਰਚਿਤ ਪ੍ਰਸਤਾਵ ਬਣਾਓ ਜੋ release/feature ਨਾਲ ਜੁੜਿਆ ਹੋਵੇ ਅਤੇ “ਕਿਉਂ” ਲਾਜ਼ਮੀ ਹੋਵੇ
  2. Review: ਸਮੀਖਿਆਕਾਰ ਸਬੂਤ ਜੋੜਦੇ ਹਨ ਅਤੇ ਰਾਏ ਦੇਂਦੇ ਹਨ (Approve / Request changes / Block)
  3. Approve: ਨਿਰਧਾਰਤ ਫਾਈਨਲ approver ਰਾਜ਼ੀ ਕਰਦਾ ਹੈ ਅਤੇ ਸ਼ਰਤਾਂ ਲਿਖਦਾ ਹੈ
  4. Execute: ਪੂਰਾ ਕਾਰਵਾਈ ਟਰੈਕ ਕਰੋ ਅਤੇ ਵੇਰੀਫਿਕੇਸ਼ਨ ਹੋਣ ਤੱਕ ਰਿਕਾਰਡ ਬੰਦ ਨਾ ਕਰੋ

SLAs ਅਤੇ ਐਸਕਲੇਸ਼ਨ ਮਕੈਨਿਜ਼ਮ ਜੋੜੋ ਤਾਂ ਕਿ ਤੇਜ਼ ਦਬਾਅ ਹਾਲਤ ਵਿੱਚ ਵੀ ਰਿਕਾਰਡ ਸਾਫ਼ ਰਹੇ।

What is “break-glass” mode and what safeguards should it require?

Break-glass ਰਾਹਦਾਰੀ ਤੁਰੰਤ ਕਾਰਵਾਈ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ ਪਰ ਨਿਯਮ ਵਧਾਉਂਦੀ ਹੈ:

  • ਲਾਜ਼ਮੀ “ਕਿਉਂ” ਨੋਟ
  • ਵਧੇਰੇ ਲੌਗਿੰਗ (ਕੌਣ ਚਲਾਇਆ, ਕਿੱਥੋਂ, ਕੀ ਬਦਲਿਆ)
  • ਆਟੋ-ਤਿਆਰ ਫਾਲੋ-ਅਪ ਟਾਸਕ (ਪੋਸਟ-ਇੰਸੀਡੈਂਟ ਰਿਵਿਊ, ਗਾਹਕ ਸੰਚਾਰ ਦਾ ਡਰਾਫਟ, ਵੇਰੀਫਿਕੇਸ਼ਨ ਚੈੱਕਲਿਸਟ)

ਇਸ ਨਾਲ ਖ਼ਾਸ ਐਮਰਜੈਂਸੀ ਦੌਰਾਨ ਟੀਮ ਤੇਜ਼ ਰਹਿੰਦੀ ਹੈ ਪਰ ਬਾਅਦ ਵਿੱਚ ਜਵਾਬਦੇਹੀ ਮੌਜੂਦ ਰਹਿੰਦੀ ਹੈ।

How do you prevent double rollbacks or conflicting actions during an incident?

ਐਕਸ਼ਨਾਂ ਨੂੰ idempotent ਬਣਾਓ ਤਾਂ ਕਿ ਦੁਹਰਾਈ ਗਈ ਕਲਿੱਕਾਂ ਟਕਰਾਉਂਦੀਆਂ ਨਤੀਜੇ ਨਾ ਪੈਦਾ ਕਰਨ:

  • ਇੱਕ ਯੂਨੀਕ ਕਿ (feature + env + region + mechanism + target state) ਬਣਾਓ
  • “ਪਹਿਲਾਂ ਹੀ ਲਾਗੂ ਹੋ ਚੁੱਕਾ” ਸਪਟ ਕਰਨ 'ਤੇ Execute ਨੂੰ Verify ਬਣਾਓ
  • ਟਕਰਾਉਂਦੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਲੌਕ/ਸਿਰੀਅਲਾਈਜ਼ ਕਰੋ (ਜਿਵੇਂ “redeploy previous version” ਦੌਰਾਨ “flag off” ਪੈਂਡਿੰਗ ਨਾ ਹੋਵੇ)

ਇਸ ਨਾਲ ਡਬਲ ਰੋਲਬੈਕ ਟਲਦੇ ਹਨ ਅਤੇ ਘਟਨਾ ਦੌਰਾਨ ਕਾਓਸ ਘਟਦਾ ਹੈ।

Which integrations matter most, and how should you implement them safely?

ਪ੍ਰਫੈਰੰਸ ਵਾਲੇ ਪੰਜ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਸ਼ੁਰੂ ਕਰੋ:

  • CI/CD deployments (ਕੀ ਸ਼ਿਪ ਹੋਇਆ, ਕਦੋਂ, ਸਕੋਪ)
  • Feature flag service (ਫਲੈਗ ਸਥਿਤੀ, ਟਾਰਗੇਟਿੰਗ, ਇਤਿਹਾਸ)
  • Monitoring/analytics (errors, latency, KPIs)
  • Ticketing/incident tools (severity, ownership)
  • Chat (अपਡੇਟ ਅਤੇ ਫੈਸਲਾ ਰਿਕਾਰਡ ਨਾਲ ਲਿੰਕ)

ਜਰੂਰੀ ਘਟਨਾਵਾਂ ਲਈ , ਜਿੱਥੇ ਲੋੜ ਹੋਵੇ ਔਥੇ , ਅਤੇ ਸਿਸਟਮ ਡਾਊਨ ਹੋਣ 'ਤੇ ਸਪਸ਼ਟ “manual” fallback ਰੱਖੋ ਜਿਸ ਲਈ ਕਾਰਨ ਲਾਜ਼ਮੀ ਹੋਵੇ।

ਸਮੱਗਰੀ
ਐਪ ਨੂੰ ਕਿਹੜੀ ਸਮੱਸਿਆ ਹੱਲ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ (ਅਤੇ ਕਿਸ ਲਈ)ਭੂਮਿਕਾਵਾਂ, ਜ਼ਿੰਮੇਵਾਰੀਆਂ, ਅਤੇ ਯੂਜ਼ਰ ਜਰਨੀਜ਼ਡਾਟਾ ਮਾਡਲ: ਫੀਚਰ, ਰਿਲੀਜ਼, ਇੰਸੀਡੈਂਟ, ਅਤੇ ਫੈਸਲੇਰੋਲਬੈਕ ਕਿਸਮਾਂ ਅਤੇ ਤੁਹਾਡੇ ਟੀਮ ਵਿੱਚ “ਰੋਲਬੈਕ” ਦਾ ਅਰਥਫੈਸਲਾ ਇਨਪੁੱਟ: ਸਿਗਨਲ, ਥ੍ਰੇਸ਼ਹੋਲਡ, ਅਤੇ ਸੰਦਰਭਵਰਕਫਲੋ: ਪੇਸ਼ਕਸ਼, ਸਮੀਖਿਆ, ਮਨਜ਼ੂਰੀ, ਕਾਰਜਨਵੀਤੀUI/UX: ਐਸੇ ਡੈਸ਼ਬੋਰਡ ਜੋ ਤੇਜ਼, ਸ਼ਾਂਤ ਫੈਸਲੇ ਸਹਾਰਦੇ ਹਨਇੰਟੀਗ੍ਰੇਸ਼ਨ: ਡਿਪਲੌਇਮੈਂਟ, ਫਲੈਗ, ਮਾਨੀਟਰਿੰਗ, ਅਤੇ ਟਿਕਟਿੰਗਆਡਿਟ ਟਰੇਲ, ਸਬੂਤ ਸਨੈਪਸ਼ਾਟ, ਅਤੇ ਰਿਪੋਰਟਿੰਗਸੁਰੱਖਿਆ ਅਤੇ ਐਕਸੈਸ ਕੰਟਰੋਲ ਬੱਚੇ-ਵੱਡੀਆਂ ਕਾਰਵਾਈਆਂ ਲਈਆਰਕੀਟੈਕਚਰ ਅਤੇ ਬਣਾਉਣ ਦੀ ਯੋਜਨਾ (MVP ਤੋਂ ਪ੍ਰੋਡਕਸ਼ਨ)ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ
ਸਾਂਝਾ ਕਰੋ
Koder.ai
Build your own app with Koder today!

The best way to understand the power of Koder is to see it for yourself.

Start FreeBook a Demo
webhooks
polling