உங்கள் uptime dashboard உங்களை ஏமாற்றுகிறது. உங்கள் தளம் ஆன்லைனில் இருப்பதாக அது கூறுகிறது. முகப்புப் பக்கம் (homepage) லோட் ஆகிறது. SSL certificate செல்லுபடியாகும் நிலையில் உள்ளது. ஒவ்வொரு பிக்சலும் சரியாகத் தோன்றுகிறது. இதற்கிடையில், உங்கள் ஸ்டோர் கடந்த ஆறு மணிநேரமாக ஒரு உண்மையான ஆர்டரையும் செயல்படுத்தவில்லை, மேலும் தினசரி விற்பனை அறிக்கை ஏன் முடங்கியுள்ளது என்று வியக்கும் உங்கள் வாடிக்கையாளர் தான் இதை உங்களுக்கு முதலில் சொல்வார்.

ஒரு இ-காமர்ஸ் தளத்தை வெறும் தகவல் வழங்கும் தளம் (brochure site) போலக் கருதுவதில் உள்ள அடிப்படைத் தவறு இதுதான். வழக்கமான uptime கண்காணிப்பு ஒரே ஒரு கேள்வியைக் கேட்கிறது: சர்வர் 200 OK status-ஐத் திருப்பித் தந்துவிட்டதா? ஒரு WooCommerce ஸ்டோருக்கு, அந்த கேள்வி முழுமையாகவும் தவறாகவும் இருக்கிறது. சர்வர் சீராக இயங்கலாம், checkout பக்கம் மிகச் சரியாகத் தோன்றலாம், ஆனால் பணப் பரிமாற்றம் நின்றுவிடலாம். இது ஒரு 'அமைதியான தோல்வி' (silent failure), மேலும் இது சர்வர் செயலிழப்பால் (server crash) ஏற்படும் பாதிப்பை விடப் பல மடங்கு அதிகச் செலவை ஏற்படுத்தும்.

"Online" என்பது எதற்கும் உதவாத போது

ஒரு 200 response என்பது PHP இயங்கி முடிந்து, பிரவுசருக்கு HTML-ஐத் திருப்பித் தந்துவிட்டது என்பதை மட்டுமே நிரூபிக்கிறது. அது Stripe-ன் JavaScript லோட் ஆகியதை நிரூபிக்காது. 'place-order' பட்டன் வேலை செய்யும் ஒரு endpoint-க்குத் தகவலை அனுப்புகிறதா என்பதையும் அது நிரூபிக்காது. webhook செயல்பட்டதா, இருப்புகள் (stock) சரிசெய்யப்பட்டதா அல்லது உறுதிப்படுத்தல் மின்னஞ்சல் அனுப்பப்பட்டதா என்பதையும் அது நிரூபிக்காது. ஒரு பார்வையாளர் முழுமையாக லோட் ஆன checkout பக்கத்தைப் பார்த்து, கார்டு எண்ணை உள்ளிட்டு, 'buy' என்பதைக் கிளிக் செய்தும் எதுவும் நடக்காது. அல்லது அதைவிட மோசமாக, பணம் வெற்றிகரமாகப் பரிமாறப்பட்டாலும், ஆர்டர் தோல்வியடைந்ததாகக் குறிக்கப்படலாம்.

உங்கள் கண்காணிப்பு உத்தி முகப்புப் பக்கத்தை (homepage) ping செய்வதோடு தொடங்கி முடிந்துவிடுகிறது என்றால், நீங்கள் தவறான விஷயத்தைக் கவனித்துக் கொண்டிருக்கிறீர்கள். ஹெடரை (header) செயலிழக்கச் செய்யும் ஒரு theme crash-ஐ நீங்கள் கவனிப்பீர்கள். ஆனால், ஒரு payment gateway டெஸ்ட் மோடில் (test mode) சிக்கியிருப்பதை நீங்கள் கவனிக்க மாட்டீர்கள். வருவாய் வரைபடத்தைச் (revenue graph) சரிபார்க்கும்போதோ அல்லது ஒரு கோபமான தொலைபேசி அழைப்பிற்குப் பதிலளிக்கும்போதோ தான் நீங்கள் இதைக் கண்டறிவீர்கள்.

இணையதளம் முடங்காமலேயே ஒரு ஸ்டோர் செயலிழந்து போகும் ஐந்து வழிகள்

WooCommerce ஸ்டோர் 100% uptime-இல் இருந்துகொண்டே, விற்பனை (conversion) பூஜ்ஜியமாக குறையக் காரணமான குறிப்பிட்ட தோல்விகள் இதோ:

  • Payment gateways டெஸ்ட் மோடில் (test mode) சிக்கிக்கொள்ளுதல். ஒரு டெவலப்பர் ஒரு பிழையை (bug) கண்டறிய Stripe அல்லது PayPal-ஐ sandbox முறைக்கு மாற்றி, பிரச்சனையைத் தீர்த்த பிறகு, மீண்டும் பழைய நிலைக்கு மாற்ற மறந்துவிடுவார். உண்மையான வாடிக்கையாளர்கள் உண்மையான கார்டு எண்களை உள்ளிடும்போது, அவர்கள் டெஸ்ட்-மோட் தடையைச் சந்திப்பார்கள். சில நேரங்களில் பிழை தெளிவாகத் தெரியும்; சில நேரங்களில் தெரியாது, பரிவர்த்தனை அப்படியே நின்றுவிடும்.
  • ஒரு plugin அப்டேட் checkout template-ஐச் சிதைப்பது. WooCommerce ஒரு அப்டேட்டை வெளியிடும்போதோ அல்லது ஒரு page builder மாற்றத்தைச் செய்யும்போதோ, checkout படிவம் சரியாகத் தோன்றாமல் போகலாம். பக்கம் லோட் ஆகும், ஆனால் billing விவரங்கள் மறைந்துவிடும் அல்லது 'place-order' பட்டனை கிளிக் செய்யும்போது JavaScript error வரும். சர்வர் சரியாக இருக்கும், ஆனால் பயனர் அனுபவம் (user experience) சிதைந்துவிடும்.
  • Gateway பிழைகளால் தோல்வியடைந்த ஆர்டர்கள் அதிகரிப்பது. API keys காலாவதியாவன, நாணய வேறுபாடுகள் (currency mismatches) ஏற்படுவது, 3D Secure தேவைகள் மாறுவது போன்றவை. இந்தத் தவறுகள் உங்கள் uptime logs-இல் சர்வர் பிழைகளாகத் தெரியாது, மாறாக WooCommerce admin-இல் தோல்வியடைந்த ஆர்டர்களாகத் தெரியும். தவறான திரையைப் பார்த்துக் கொண்டிருந்தால், மெதுவாகக் கசிந்து கொண்டிருக்கும் உங்கள் வருவாயைக் கவனிக்கத் தவறிவிடுவீர்கள்.
  • Server-side order pipeline முடங்குவது. வாடிக்கையாளர் 'buy' என்பதைக் கிளிக் செய்த பிறகு, ஒரு மூன்றாம் தரப்பு ERP integration, ஒரு custom stock-sync function அல்லது shipping-rate calculator காலாவதியாகி (timeout) விடலாம். ஆர்டர் நீண்ட நேரம் 'pending' நிலையிலேயே இருக்கும். வாடிக்கையாளர் பக்கத்தைப் புதுப்பித்து (refresh), குழப்பமடைந்து வெளியேறிவிடுவார். ஆனால் உங்கள் hosting metrics இன்னும் பச்சை நிறத்திலேயே (green) இருக்கும்.
  • எந்தத் தெளிவான காரணமும் இன்றி ஆர்டர் செயல்முறை நின்றுவிடுவது. அங்கு எந்தத் தீவிரமான பிழையோ (fatal error) அல்லது plugin மோதலோ (plugin conflict) இருக்காது. கேச் (cache) பழைய checkout JavaScript-ஐ வழங்கத் தொடங்கும். ஒரு consent-management banner, payment iframe-ஐத் தடுக்கும். ஒரு CDN edge node பழைய ஸ்கிரிப்ட் பதிப்பை வழங்கும். தளம் ஆன்லைனில் இருக்கும், ஆனால் checkout வேலை செய்யாது.

உண்மையில் முக்கியமானவற்றைத் தொடர்ந்து கண்காணித்தல்

இந்தத் தோல்விகளைக் கண்டறிய, நீங்கள் உள்கட்டமைப்பைக் (infrastructure) கவனிப்பதை நிறுத்திவிட்டு, வணிகத் தர்க்கத்தைக் (business logic) கவனிக்கத் தொடங்க வேண்டும். ஒரு உண்மையான பரிவர்த்தனைச் செயல்முறையின் சிக்கல்களைக் கருத்தில் கொண்டு, ஒரு கண்காணிப்பு உத்தியை எவ்வாறு உருவாக்குவது என்பது இதோ.

வெறும் uptime-ஐ மட்டும் பார்க்காமல், ஆர்டர் செயல்முறையைக் (order flow) கண்காணிக்கவும். ஒரு பொருளைக் கூட (cart) சேர்க்க முடிகிறதா, checkout endpoint சரியான JSON-ஐத் தருகிறதா மற்றும் வெற்றிகரமான கட்டணத்திற்குப் பிறகு thank-you பக்கம் சரியாகத் தோன்றுகிறதா என்பதைக் கண்காணிக்கவும். நீங்கள் வெளிப்புற ping கருவிகளைப் பயன்படுத்துகிறீர்கள் என்றால், அவற்றை வெறும் domain root-ஐ மட்டும் பார்க்காமல், முக்கியமான பாதையை (critical path) அணுகுமாறு அமைக்கவும்.

தோல்வியடைந்த ஆர்டர்களை ஏழு நாள் அடிப்படையுடன் (baseline) ஒப்பிட்டுப் பார்க்கவும். வெறும் எண்களை மட்டும் (absolute numbers) பயன்படுத்த வேண்டாம். ஒரு விளம்பரத்திற்குப் பிறகு வரும் திங்கட்கிழமை காலையில் ஒரு மணி நேரத்தில் ஐந்து ஆர்டர்கள் தோல்வியடைவது இயல்பானது. ஆனால், அமைதியான புதன்கிழமை மதிய வேளையில் ஒரு மணி நேரத்தில் ஐந்து ஆர்டர்கள் தோல்வியடைவது ஒரு எச்சரிக்கை அறிகுறியாகும் (red flag). தன்னிச்சையான வரம்புகளை (arbitrary thresholds) பார்க்காமல், உங்கள் சொந்த rolling baseline-லிருந்து ஏற்படும் மாற்றங்களைக் கவனியுங்கள்.

நேரடி gateways சாண்ட்பாக்ஸ் (sandbox) பயன்முறையில் உள்ளனவா என்று சரிபார்க்கவும். இதை உங்கள் deployment checklist மற்றும் தானியங்கிச் சோதனைகளின் (automated tests) ஒரு பகுதியாக ஆக்கிக் கொள்ளுங்கள். செயல்பாட்டில் உள்ள gateway அமைப்புகளை ஆய்வு செய்யவும் அல்லது அவை production credentials தானா என்பதை உறுதிப்படுத்த public API keys-களைப் பகுப்பாய்வு செய்யவும். ஒரு கடை சோதனைச் சூழலை (test environment) நோக்கி இருக்கும்போது ஒருபோதும் நேரலையில் (live) செல்லக்கூடாது.

தினமும் ஒரு server-side smoke test-ஐ இயக்கவும். மனிதக் கண்கள் கண்டறியும் முன்பே, செயலிழந்த checkout-ஐக் கண்டறிய இதுவே மிகவும் பயனுள்ள பாதுகாப்பு வலை ஆகும்.

தினசரி Smoke Test-ஐ உருவாக்குதல்

ஒரு முறையான smoke test, உங்கள் தரவுத்தளத்தில் (database) குழப்பத்தை ஏற்படுத்தாமல் ஒரு யதார்த்தமான ஆர்டரை உருவாக்குகிறது. இந்தச் செயல்முறை இவ்வாறு அமையும்: ஒரு மறைக்கப்பட்ட மெய்நிகர் தயாரிப்பை (virtual product) உருவாக்குதல், WooCommerce API மூலம் ஒரு சோதனை ஆர்டரை இயக்குதல், மொத்தத் தொகைகள் சரியாகக் கணக்கிடப்படுவதை உறுதி செய்தல், ஆர்டரை அதன் நிலைகள் (statuses) வழியாக நகர்த்துதல், மற்றும் இறுதியாக அனைத்துத் தடயங்களையும் (artifacts) நீக்குதல்.

செயல்படுத்தும் விவரங்கள் மிக முக்கியமானவை. நீங்கள் தரவுகளைச் சுத்தம் செய்வதை (cleanup) கவனமாகக் கையாளவில்லை என்றால், உங்கள் அறிக்கைகள் போலி ஆர்டர்கள் மற்றும் போலித் தயாரிப்புகளால் (phantom products) நிறைந்திருக்கும்.

சோதனையின் போது WooCommerce மின்னஞ்சல்களைத் தவிர்க்கவும். ஒரு cron job தனது தினசரிச் சோதனையைச் செய்ததற்குக் காரணமாக, கடை உரிமையாளர் அல்லது ஒரு உண்மையான அட்மின் அதிகாலை 3:00 மணிக்கு "New Order" மின்னஞ்சலைப் பெறுவது நீங்கள் விரும்பாத ஒரு விஷயம். ஸ்கிரிப்ட் இயங்கும் காலத்திற்கு வெளிச்செல்லும் அறிவிப்புகளை (outgoing notifications) முடக்குங்கள் அல்லது சோதனை ஆர்டர் ID-களுடன் தொடர்புடைய எந்த மின்னஞ்சலையும் தடுக்க ஒரு filter-ஐப் பயன்படுத்துங்கள்.

ஸ்கிரிப்ட் செயலிழந்தால் (crash) தரவைச் சுத்தம் செய்ய shutdown function-ஐப் பயன்படுத்தவும். ஒரு fatal error செயல்முறையை நிறுத்தினாலும், இயங்கும் வகையில் ஒரு shutdown function-ஐப் பதிவு செய்ய PHP அனுமதிக்கிறது. வரி (tax) கணக்கிடும் போதோ அல்லது ஆர்டர் நிலைகளை மாற்றும் போதோ உங்கள் smoke test செயலிழந்தால், அந்த cleanup routine கண்டிப்பாக இயங்க வேண்டும். இல்லையெனில், நீங்கள் பயன்படுத்தப்படாத (orphaned) ஆர்டர்கள் மற்றும் தயாரிப்புகளைத் தவிக்க விட்டுவிடுவீர்கள்.

தனித்து விடப்பட்ட தரவைத் (orphan data) தவிர்க்க, உருவாக்கியவுடன் ID-களைப் பதிவு செய்யவும். மெய்நிகர் தயாரிப்பு உருவாக்கப்பட்ட அடுத்த கணமே அதன் ID-யைப் பெற்றுக்கொள்ளுங்கள். சோதனை ஆர்டர் உருவாக்கப்பட்ட அடுத்த கணமே அதன் ID-யைப் பெற்றுக்கொள்ளுங்கள். இவற்றை உடனடியாக variables-களில் சேமிக்கவும். நீங்கள் எதை உருவாக்கினீர்கள் என்று தரவுத்தளத்திடம் கேட்க ஸ்கிரிப்ட் முடியும் வரை காத்திருக்க வேண்டாம். ஸ்கிரிப்ட் பாதியிலேயே தோல்வியடைந்தால், உங்கள் shutdown handler எதை நீக்க வேண்டும் என்பதைத் துல்லியமாகத் தெரிந்துகொள்ள அந்த ID-கள் உங்கள் கையில் இருக்க வேண்டும்.

இந்தச் சோதனை பயனர் இடைமுகத்தைத் (user interface) தவிர்த்துவிட்டு நேரடியாக அப்ளிகேஷன் லேயருடன் (application layer) தொடர்பு கொள்கிறது. அது முக்கியமானது. front end என்பது cache செய்யப்பட்டிருக்கலாம், minified செய்யப்பட்டிருக்கலாம் அல்லது பல browser extensions மூலம் மாற்றப்பட்டிருக்கலாம். API என்பது உண்மையான நிலையைத் தெரிவிக்கிறது: WooCommerce இன்னும் ஒரு ஆர்டரை உருவாக்கவும், கணக்கிடவும் மற்றும் மாற்றவும் முடிகிறதா?

இரண்டு அடுக்கு பாதுகாப்பு முறைகள்

உங்களுக்கு வெளிப்புற (external) மற்றும் உட்புற (internal) கண்காணிப்பு ஆகிய இரண்டும் தேவை, மேலும் ஒவ்வொரு அடுக்கும் உண்மையில் உங்களுக்கு என்ன சொல்கிறது என்பதை நீங்கள் புரிந்துகொள்ள வேண்டும்.

வெளிப்புறக் கண்காணிப்பு, "மக்கள் தளத்தை அடைய முடியுமா?" என்ற கேள்விக்குப் பதிலளிக்கிறது. DNS சிக்கல்கள், SSL காலாவதி, முடங்கிய சர்வர்கள் மற்றும் நெட்வொர்க் பிரிப்பு (network partitioning) போன்றவற்றைத் கண்டறிய இதைப் பயன்படுத்தவும். உள்கட்டமைப்புத் தோல்விகளுக்கு (infrastructure failures) எதிரான உங்கள் முதல் பாதுகாப்பு அரண் இதுவாகும்.

உட்புறக் கண்காணிப்பு, "மக்கள் எதையாவது வாங்க முடியுமா?" என்ற கேள்விக்குப் பதிலளிக்கிறது. இது உங்கள் அப்ளிகேஷினுக்குள்ளேயே இயங்குகிறது. இது ஆர்டர் தோல்வி விகிதங்கள், gateway பயன்முறைகள், checkout நேரத்திலான database செயல்பாடு மற்றும் உங்கள் தினசரி smoke test முடிவுகளைக் கண்காணிக்கிறது. எந்தவொரு வெளிப்புற ping சேவையும் கண்டறிய முடியாத வணிகத் தர்க்கத் தோல்விகளை (business-logic failures) இது கண்டறியும்.

ஒரு தள முடக்கம் (outage) சத்தமானது. தளம் முடங்கும்போது, எச்சரிக்கை (alert) வரும், நீங்கள் அதைச் சரிசெய்வீர்கள். வாடிக்கையாளர்கள் அதிருப்தி அடையலாம், ஆனால் அவர்கள் பெரும்பாலும் மீண்டும் வருவார்கள். ஆனால் ஒரு செயலிழந்த checkout அமைதியானது. உங்கள் விளம்பரங்கள் தொடர்ந்து ஓடிக்கொண்டிருக்கும், உங்கள் வாடிக்கையாளர் ஈர்ப்பு பட்ஜெட் (acquisition budget) வீணாகும், ஆனால் வாடிக்கையாளர்கள் ஒரு வார்த்தை கூட சொல்லாமல் வெளியேறிவிடுவார்கள். உங்கள் uptime dashboard முழு நேரமும் நம்பிக்கையளிக்கும் பச்சை நிறத்திலேயே இருக்கும்.

முகப்புப் பக்கத்தைப் (homepage) பார்ப்பதை நிறுத்துங்கள். பணத்தைக் கவனிக்கத் தொடங்குங்கள்.