ரோப்லாக்ஸின் உள்கட்டமைப்பை நாங்கள் எவ்வாறு மேலும் திறமையாகவும் மீள்திறனுடனும் மாற்றுகிறோம்

கடந்த 16+ ஆண்டுகளில் ராப்லாக்ஸ் வளர்ந்தது போலவே, மில்லியன் கணக்கான ஆழ்ந்த 3D கூட்டு அனுபவங்களை ஆதரிக்கும் தொழில்நுட்ப உள்கட்டமைப்பின் அளவும் சிக்கலான தன்மையும் அதிகரித்துள்ளது. கடந்த இரண்டு ஆண்டுகளில் நாங்கள் ஆதரிக்கும் இயந்திரங்களின் எண்ணிக்கை மூன்று மடங்கிற்கும் அதிகமாக அதிகரித்துள்ளது, ஜூன் 30, 2021 அன்று சுமார் 36,000 ஆக இருந்த இது, இன்று கிட்டத்தட்ட 145,000 ஆக உயர்ந்துள்ளது. உலகம் முழுவதிலும் உள்ள மக்களுக்கான இந்த எப்போதும் இயங்கும் அனுபவங்களை ஆதரிக்க, 1,000-க்கும் மேற்பட்ட உள் சேவைகள் தேவைப்படுகின்றன. செலவுகள் மற்றும் நெட்வொர்க் தாமதத்தைக் கட்டுப்படுத்த எங்களுக்கு உதவ, இந்த இயந்திரங்களை நாங்கள் முதன்மையாக எங்கள் வளாகத்திலேயே இயங்கும், பிரத்தியேகமாக உருவாக்கப்பட்ட மற்றும் கலப்பின தனியார் கிளவுட் உள்கட்டமைப்பின் ஒரு பகுதியாகப் பயன்படுத்தி நிர்வகிக்கிறோம்.
எங்கள் உள்கட்டமைப்பு, தங்கள் வணிகங்களுக்காக ராப்லாக்ஸ் பொருளாதாரத்தைச் சார்ந்திருக்கும் படைப்பாளிகள் உட்பட, உலகெங்கிலும் உள்ள 70 மில்லியனுக்கும் அதிகமான தினசரி செயலில் உள்ள பயனர்களுக்கு தற்போது ஆதரவளிக்கிறது. இந்த மில்லியன் கணக்கான மக்கள் அனைவரும் மிக உயர்ந்த அளவிலான நம்பகத்தன்மையை எதிர்பார்க்கிறார்கள். எங்கள் அனுபவங்களின் மூழ்கடிக்கும் தன்மையைக் கருத்தில் கொண்டு, தாமதங்கள் அல்லது தாமதத்திற்கான சகிப்புத்தன்மை மிகவும் குறைவாக உள்ளது, மின்வெட்டுகளைப் பற்றிச் சொல்லவே வேண்டாம். ராப்லாக்ஸ் என்பது மக்கள் மூழ்கடிக்கும் 3D அனுபவங்களில் ஒன்றுகூடும் ஒரு தகவல் தொடர்பு மற்றும் இணைப்புத் தளமாகும். மக்கள் ஒரு மூழ்கடிக்கும் இடத்தில் தங்கள் அவதாரங்களாகத் தொடர்பு கொள்ளும்போது, ஒரு குறுஞ்செய்தி உரையாடல் அல்லது மாநாட்டு அழைப்பை விட சிறிய தாமதங்கள் அல்லது பிழைகள் கூட அதிகமாகக் கவனிக்கப்படுகின்றன.
அக்டோபர் 2021-ல், நாங்கள் ஒரு அமைப்பு தழுவிய செயலிழப்பை அனுபவித்தோம். இது ஒரு தரவு மையத்தில் உள்ள ஒரு கூற்றில் ஒரு சிக்கலுடன் சிறியதாகத் தொடங்கியது. ஆனால் நாங்கள் விசாரித்துக் கொண்டிருந்தபோது அது வேகமாகப் பரவியது, இறுதியில் 73 மணி நேர செயலிழப்புக்கு வழிவகுத்தது. அந்த நேரத்தில், என்ன நடந்தது என்பது பற்றிய விவரங்களையும், இந்தச் சிக்கலிலிருந்து நாங்கள் கற்றுக்கொண்ட சில ஆரம்பப் பாடங்களையும் பகிர்ந்து கொண்டோம். அப்போதிருந்து, நாங்கள் அந்தக் கற்றல்களைப் பற்றி ஆய்வு செய்து வருகிறோம், மேலும் தீவிரமான போக்குவரத்து அதிகரிப்பு, வானிலை, வன்பொருள் செயலிழப்பு, மென்பொருள் பிழைகள் அல்லது மனிதத் தவறுகள் போன்ற காரணிகளால் அனைத்து பெரிய அளவிலான அமைப்புகளிலும் ஏற்படும் தோல்விகளின் வகைகளுக்கு எதிராக எங்கள் உள்கட்டமைப்பின் மீள்தன்மையை அதிகரிக்கப் பணியாற்றி வருகிறோம். இந்தத் தோல்விகள் நிகழும்போது, ஒரு தனிப்பட்ட கூறு அல்லது கூறுகளின் குழுவில் ஏற்படும் சிக்கல் முழு அமைப்பிலும் பரவாமல் இருப்பதை நாங்கள் எப்படி உறுதி செய்வது? கடந்த இரண்டு ஆண்டுகளாக இந்தக் கேள்வியே எங்கள் கவனமாக இருந்து வருகிறது. இந்தப் பணி தொடர்ந்து நடைபெற்று வரும் நிலையில், நாங்கள் இதுவரை செய்துள்ளவை ஏற்கனவே பலனளிக்கின்றன. உதாரணமாக, 2022-ஆம் ஆண்டின் முதல் பாதியுடன் ஒப்பிடும்போது, 2023-ஆம் ஆண்டின் முதல் பாதியில், நாங்கள் மாதத்திற்கு 125 மில்லியன் ஈடுபாட்டு மணிநேரத்தைச் சேமித்தோம். இன்று, நாங்கள் ஏற்கனவே செய்துள்ள பணிகளையும், மேலும் வலுவான உள்கட்டமைப்பு அமைப்பை உருவாக்குவதற்கான எங்கள் நீண்ட காலக் பார்வையையும் பகிர்ந்து கொள்கிறோம்.

ஒரு பேக்கப்பை உருவாக்குதல்
பெரும் அளவிலான உள்கட்டமைப்பு அமைப்புகளில், சிறிய அளவிலான தோல்விகள் ஒரு நாளைக்கு பலமுறை நிகழ்கின்றன. ஒரு கணினியில் சிக்கல் ஏற்பட்டு சேவையிலிருந்து நீக்கப்பட வேண்டியிருந்தால், அது நிர்வகிக்கக்கூடியது, ஏனெனில் பெரும்பாலான நிறுவனங்கள் தங்கள் பின்தள சேவைகளின் (back-end services) பல பிரதிகளைப் பராமரிக்கின்றன. எனவே, ஒரு தனிப்பட்ட பிரதி செயலிழக்கும்போது, மற்றவை பணிச்சுமையை ஏற்றுக்கொள்கின்றன. இந்த அடிக்கடி ஏற்படும் தோல்விகளைச் சமாளிக்க, கோரிக்கைகளுக்குப் பிழை ஏற்பட்டால், அவை தானாகவே மீண்டும் முயற்சி செய்யும்படி பொதுவாக அமைக்கப்படுகின்றன.
ஒரு அமைப்பு அல்லது நபர் மிகவும் தீவிரமாக மீண்டும் முயற்சிக்கும்போது இது சவாலாகிறது, இது அந்த சிறிய அளவிலான தோல்விகள் உள்கட்டமைப்பு முழுவதும் மற்ற சேவைகள் மற்றும் அமைப்புகளுக்குப் பரவ ஒரு வழியாக மாறக்கூடும். நெட்வொர்க் அல்லது ஒரு பயனர் தொடர்ந்து போதுமான அளவு மீண்டும் முயற்சித்தால், அது இறுதியில் அந்த சேவையின் ஒவ்வொரு நிகழ்வையும், மேலும் உலகளவில் மற்ற அமைப்புகளையும் அதிகப்படியான சுமையால் தாக்கும். எங்களின் 2021-ஆம் ஆண்டு சேவைத் தடை, பெரிய அளவிலான அமைப்புகளில் பொதுவாக நிகழக்கூடிய ஒன்றின் விளைவாக ஏற்பட்டது: ஒரு தோல்வி சிறியதாகத் தொடங்கி, அமைப்பு முழுவதும் பரவி, அனைத்தும் செயலிழப்பதற்குள் அதைச் சரிசெய்வது கடினமாகிவிடும் அளவுக்கு மிக வேகமாகப் பெரிதாகிறது.
எங்கள் சேவைநிறைவு நடந்த நேரத்தில், எங்களிடம் ஒரு செயல்திறன்மிக்க தரவு மையம் இருந்தது (அதன் உள்ளகக் கூறுகள் காப்புப் பிரதியாகச் செயல்பட்டன). ஒரு சிக்கல் தற்போதைய தரவு மையத்தைச் செயலிழக்கச் செய்யும்போது, ஒரு புதிய தரவு மையத்திற்கு கைமுறையாக மாறும் திறன் எங்களுக்குத் தேவைப்பட்டது. எங்களின் முதல் முன்னுரிமை, ராப்ளக்ஸின் ஒரு காப்புப் பிரதி வரிசைப்படுத்தலை (backup deployment) உறுதி செய்வதாகும், எனவே நாங்கள் அதை வேறுபட்ட புவியியல் பிராந்தியத்தில் அமைந்துள்ள ஒரு புதிய தரவு மையத்தில் உருவாக்கினோம். இது மிக மோசமான சூழ்நிலைக்கு கூடுதல் பாதுகாப்பைச் சேர்த்தது: ஒரு தரவு மையத்திற்குள் போதுமான கூறுகளுக்கு ஒரு செயலிழப்பு பரவி, அது முற்றிலும் செயல்படாத நிலையை அடைவது. இப்போது எங்களிடம் ஒரு தரவு மையம் பணிச்சுமைகளைக் கையாளுகிறது (செயல்பாட்டில்) மற்றும் மற்றொன்று காப்புப் பிரதியாக காத்திருக்கிறது (செயலற்ற நிலையில்). எங்களின் நீண்டகால இலக்கு, இந்த செயலில்-செயலற்ற உள்ளமைப்பிலிருந்து செயலில்-செயலில் உள்ளமைப்பிற்கு மாறுவதாகும். இதில், இரண்டு தரவு மையங்களும் பணிச்சுமைகளைக் கையாளும், மேலும் தாமதம், திறன் மற்றும் செயல்திறன் ஆகியவற்றின் அடிப்படையில் கோரிக்கைகளை அவற்றுக்கிடையே ஒரு சுமை சமநிலைப்படுத்தி (load balancer) விநியோகிக்கும். இது நடைமுறைக்கு வந்தவுடன், ரோப்லாக்ஸ் முழுவதற்கும் இன்னும் அதிக நம்பகத்தன்மை கிடைக்கும் என்றும், பல மணிநேரங்களுக்குப் பதிலாக கிட்டத்தட்ட உடனடியாகத் தோல்வியைச் சமாளித்து மாற முடியும் என்றும் நாங்கள் எதிர்பார்க்கிறோம்.

செல்யூலர் உள்கட்டமைப்பிற்கு மாறுதல்
ஒரு முழு டேட்டா சென்டரும் செயலிழக்கும் வாய்ப்பைக் குறைப்பதற்காக, ஒவ்வொரு டேட்டா சென்டரின் உள்ளேயும் வலுவான வெடிப்புத் தடுப்புச் சுவர்களை உருவாக்குவதே எங்கள் அடுத்த முன்னுரிமையாக இருந்தது. செல்கள் (சில நிறுவனங்கள் அவற்றை கிளஸ்டர்கள் என்று அழைக்கின்றன) என்பவை அடிப்படையில் ஒரு தொகுதி இயந்திரங்களாகும், மேலும் இந்தச் சுவர்களை நாங்கள் உருவாக்குவது இந்த முறையில்தான். கூடுதல் மீதமுள்ள தன்மைக்காக, நாங்கள் சேவைகளை செல்களுக்குள்ளும் மற்றும் செல்களுக்கு இடையேயும் பிரதிபலிக்கிறோம். இறுதியில், ராப்லாக்ஸில் உள்ள அனைத்து சேவைகளும் செல்களில் இயங்க வேண்டும் என்பதே எங்கள் விருப்பம், அப்போதுதான் அவை வலுவான வெடிப்புத் தடுப்புச் சுவர்கள் மற்றும் மீதமுள்ள தன்மை ஆகிய இரண்டிலிருந்தும் பயனடைய முடியும். ஒரு செல் இனி செயல்படாத நிலையில் இருந்தால், அதைப் பாதுகாப்பாக செயலிழக்கச் செய்யலாம். செல்களுக்கு இடையேயான பிரதிபலிப்பு, செல் பழுதுபார்க்கப்படும்போது சேவையைத் தொடர்ந்து இயங்க உதவுகிறது. சில சமயங்களில், செல் பழுதுபார்ப்பது என்பது அந்தச் செல்லை முழுமையாக மீண்டும் ஒதுக்குவதாக இருக்கலாம். இந்தத் துறையில், ஒரு தனிப்பட்ட இயந்திரத்தையோ அல்லது ஒரு சிறிய இயந்திரக் குழுவையோ அழித்து மீண்டும் ஒதுக்குவது மிகவும் பொதுவானது, ஆனால் ~1,400 இயந்திரங்களைக் கொண்ட ஒரு முழு செல் அளவுக்கு இதைச் செய்வது வழக்கமில்லை.
இது செயல்பட, இந்த செல்கள் பெரும்பாலும் ஒரே மாதிரியாக இருக்க வேண்டும், அப்போதுதான் நாங்கள் பணிச்சுமைகளை ஒரு செல்லிலிருந்து மற்றொன்றுக்கு விரைவாகவும் திறமையாகவும் மாற்ற முடியும். ஒரு சேவை ஒரு செல்லில் இயங்குவதற்கு முன், அது பூர்த்தி செய்ய வேண்டிய சில தேவைகளை நாங்கள் நிர்ணயித்துள்ளோம். உதாரணமாக, சேவைகள் கன்டெய்னரைஸ்டு (containerized) செய்யப்பட வேண்டும், இது அவற்றை மிகவும் பெயர்வுத்திறன் மிக்கதாக ஆக்குகிறது மற்றும் யாரும் OS மட்டத்தில் உள்ளமைவு மாற்றங்களைச் செய்வதைத் தடுக்கிறது. செல்களுக்காக நாங்கள் உள்கட்டமைப்பை-ஒரு-கோடாக (infrastructure-as-code) என்ற தத்துவத்தை ஏற்றுக்கொண்டுள்ளோம்: எங்கள் மூல குறியீடு களஞ்சியத்தில், ஒரு செலில் உள்ள அனைத்தின் வரையறையையும் நாங்கள் சேர்க்கிறோம், இதன் மூலம் தானியங்கு கருவிகளைப் பயன்படுத்தி அதை ஆரம்பத்திலிருந்து விரைவாக மீண்டும் உருவாக்க முடியும்.
தற்போது அனைத்து சேவைகளும் இந்தத் தேவைகளைப் பூர்த்தி செய்வதில்லை, எனவே சேவை உரிமையாளர்கள் அவற்றை முடிந்தவரை பூர்த்தி செய்ய நாங்கள் உதவியுள்ளோம், மேலும் தயாரானதும் சேவைகளை செல்களுக்குள் இடமாற்றம் செய்வதை எளிதாக்க புதிய கருவிகளை உருவாக்கியுள்ளோம். உதாரணமாக, எங்கள் புதிய வரிசைப்படுத்தல் கருவி, சேவை உரிமையாளர்கள் நகலெடுக்கும் உத்தியைப் பற்றி சிந்திக்க வேண்டியதில்லை என்பதற்காக, ஒரு சேவை வரிசைப்படுத்தலை தானாகவே செல்கள் முழுவதும் "பிரிக்கப்பட்ட வரிசைப்படுத்தல்" செய்கிறது. இந்த அளவிலான கடுமையான தன்மை, இடமாற்ற செயல்முறையை மிகவும் சவாலானதாகவும் அதிக நேரம் எடுக்கக்கூடியதாகவும் ஆக்குகிறது, ஆனால் நீண்ட கால பலனாக ஒரு அமைப்பு இருக்கும், அதில்:
- ஒரு தோல்வியைக் கட்டுப்படுத்துவதும், அது மற்ற செல்களுக்குப் பரவாமல் தடுப்பதும் மிகவும் எளிதானது;
- எங்கள் உள்கட்டமைப்புப் பொறியாளர்கள் மிகவும் திறமையாகவும் விரைவாகவும் செயல்பட முடியும்; மற்றும்
- இறுதியில் செல்களில் வரிசைப்படுத்தப்படும் தயாரிப்பு-நிலை சேவைகளை உருவாக்கும் பொறியாளர்கள், தங்கள் சேவைகள் எந்தச் செல்களில் இயங்குகின்றன என்பதைப் பற்றி அறிந்திருக்கவோ அல்லது கவலைப்படவோ தேவையில்லை.
பெரிய சவால்களைத் தீர்த்தல்
தீயைக் கட்டுப்படுத்த தீயணைப்புக் கதவுகள் பயன்படுத்தப்படுவதைப் போலவே, ஒரு செல்லுக்குள் தோன்றும் தோல்வியைத் தூண்டும் எந்தவொரு சிக்கலையும் கட்டுப்படுத்த உதவுவதற்காக, எங்கள் உள்கட்டமைப்பில் செல்கள் வலுவான வெடிப்புத் தடைகளாகச் செயல்படுகின்றன. இறுதியில், ராப்லாக்ஸை உருவாக்கும் அனைத்து சேவைகளும் செல்களுக்குள் மற்றும் செல்களுக்கு இடையே நகலெடுக்கப்பட்டு வரிசைப்படுத்தப்படும். இந்த வேலை முடிந்தவுடன், சிக்கல்கள் ஒரு முழு செல்லைச் செயல்பட முடியாத அளவுக்கு பரவக்கூடும், ஆனால் ஒரு சிக்கல் அந்த செல்லைத் தாண்டிப் பரவுவது மிகவும் கடினமாக இருக்கும். மேலும், செல்களை ஒன்றுக்கொன்று மாற்றிக்கொள்ளக்கூடியதாக மாற்றுவதில் நாம் வெற்றி பெற்றால், மீட்பு செயல்முறை கணிசமாக வேகமாக இருக்கும், ஏனெனில் நாம் வேறு ஒரு செல்லுக்குத் தாவ முடியும் மற்றும் அந்தச் சிக்கல் இறுதிப் பயனர்களைப் பாதிக்காமல் தடுக்க முடியும்.
பிழைகள் பரவும் வாய்ப்பைக் குறைக்கும் அளவுக்கு இந்த செல்களைப் பிரித்தெடுப்பது, அதே நேரத்தில் செயல்திறனுடனும் செயல்பாட்டுடனும் வைத்திருப்பதுதான் இதில் சிக்கலான விஷயம். ஒரு சிக்கலான உள்கட்டமைப்பு அமைப்பில், சேவைகள் விசாரணைகள், தகவல்கள், பணிச்சுமைகள் போன்றவற்றைப் பகிர்ந்து கொள்ள ஒருவருக்கொருவர் தொடர்பு கொள்ள வேண்டும். இந்த சேவைகளை நாம் செல்களாகப் பிரதிபலிக்கும்போது, குறுக்கு-தொடர்பை நாம் எவ்வாறு நிர்வகிக்கிறோம் என்பது பற்றி சிந்தனையுடன் இருக்க வேண்டும். ஒரு சிறந்த உலகில், ஒரு ஆரோக்கியமற்ற செல்லிலிருந்து மற்ற ஆரோக்கியமான செல்களுக்குப் போக்குவரத்தைத் திருப்புகிறோம். ஆனால், ஒரு செல்லை ஆரோக்கியமற்றதாக்கும் "மரண வினவல்" ஒன்றை நாம் எப்படி நிர்வகிப்பது? அந்த வினவலை மற்றொரு செல்லுக்குத் திருப்பிவிட்டால், நாம் தவிர்க்க முயற்சிக்கும் வகையிலேயே அந்த செல்லும் ஆரோக்கியமற்றதாகிவிடும். ஆரோக்கியமற்ற செல்களில் இருந்து "நல்ல" போக்குவரத்தை மாற்றவும், அதே நேரத்தில் செல்களை ஆரோக்கியமற்றதாக்கும் போக்குவரத்தைக் கண்டறிந்து தடுக்கவும் நாம் வழிமுறைகளைக் கண்டறிய வேண்டும்.
குறுகிய காலத்தில், கணினி மையத்திற்கான பெரும்பாலான கோரிக்கைகளை ஒரு தனி செல் மூலம் வழங்குவதற்காக, ஒவ்வொரு கணினி செல்லிலும் கணினி சேவைகளின் நகல்களை நாங்கள் நிலைநிறுத்தியுள்ளோம். மேலும், நாங்கள் செல்லுகளுக்கு இடையே போக்குவரத்தைச் சுமை சமநிலைப்படுத்துகிறோம். எதிர்காலத்தை நோக்கி, ஒரு சேவை வலைப்பின்னல் (service mesh) மூலம் பயன்படுத்தப்படவுள்ள அடுத்த தலைமுறை சேவை கண்டறிதல் செயல்முறையை நாங்கள் உருவாக்கத் தொடங்கியுள்ளோம், அதை 2024-ல் நிறைவு செய்வோம் என நம்புகிறோம். இது, தோல்வி நிலை செல்களில் (failover cells) எதிர்மறையான தாக்கத்தை ஏற்படுத்தாதபோது மட்டுமே செல்களுக்கு இடையேயான தகவல்தொடர்பை அனுமதிக்கும் நவீன கொள்கைகளைச் செயல்படுத்த எங்களை அனுமதிக்கும். மேலும், 2024-ல், சார்பு கோரிக்கைகளை (dependent requests) அதே செல்லில் உள்ள ஒரு சேவைப் பதிப்பிற்கு (service version) வழிநடத்தும் ஒரு முறையையும் கொண்டுவரவுள்ளோம். இது செல்களுக்கு இடையேயான போக்குவரத்தை குறைத்து, அதன் மூலம் தோல்விகளின் பரவல் அபாயத்தைக் குறைக்கும்.
உச்சக்கட்டத்தில், எங்கள் பின்தள சேவைப் போக்குவரத்தில் 70 சதவீதத்திற்கும் அதிகமானவை செல்களுக்கு வெளியே இருந்து வழங்கப்படுகின்றன, மேலும் செல்களை எவ்வாறு உருவாக்குவது என்பது பற்றி நாங்கள் நிறைய கற்றுக்கொண்டோம். ஆனால், 2024 மற்றும் அதற்குப் பிறகும் எங்கள் சேவைகளை நாங்கள் தொடர்ந்து இடம்பெயர்த்தும்போது, மேலும் ஆராய்ச்சி மற்றும் சோதனைகள் தேவைப்படும் என நாங்கள் எதிர்பார்க்கிறோம். நாங்கள் முன்னேற முன்னேற, இந்த வெடிப்புத் தடுப்பணைகள் மேலும் வலுவடையும்.

எப்போதும் இயங்கும் உள்கட்டமைப்பை இடமாற்றம் செய்தல்
ராப்லாக்ஸ் என்பது உலகம் முழுவதும் உள்ள பயனர்களுக்கு ஆதரவளிக்கும் ஒரு உலகளாவிய தளமாகும், எனவே நாங்கள் சேவைகளைப் பயன்பாடு குறைந்த நேரங்களிலோ அல்லது "இடைநிறுத்த நேரத்திலோ" (down time) நகர்த்த முடியாது, இது எங்கள் எல்லா இயந்திரங்களையும் செல்களுக்குள் (cells) மற்றும் எங்கள் சேவைகளை அந்த செல்களில் இயக்க இடம்பெயர்த்தல் செயல்முறையை மேலும் சிக்கலாக்குகிறது. அவை இயங்கும் இயந்திரங்களையும் அவற்றை ஆதரிக்கும் சேவைகளையும் நாங்கள் நகர்த்தும்போதும் கூட, தொடர்ந்து ஆதரிக்கப்பட வேண்டிய மில்லியன் கணக்கான எப்போதும்-இயங்கும் அனுபவங்கள் எங்களிடம் உள்ளன. நாங்கள் இந்த செயல்முறையைத் தொடங்கியபோது, பல்லாயிரக்கணக்கான இயந்திரங்கள் பயன்படுத்தப்படாமல் சும்மா இருந்து, இந்த பணிச்சுமைகளை நகர்த்துவதற்குக் கிடைத்ததாக எங்களிடம் இல்லை.
இருப்பினும், எதிர்கால வளர்ச்சியை எதிர்பார்த்து வாங்கப்பட்ட ஒரு சில கூடுதல் கணினிகள் எங்களிடம் இருந்தன. தொடக்கத்தில், அந்தக் கணினிகளைப் பயன்படுத்தி நாங்கள் புதிய செல்களை உருவாக்கினோம், பின்னர் பணிச்சுமைகளை அவற்றுக்கு இடமாற்றம் செய்தோம். நாங்கள் செயல்திறனையும் நம்பகத்தன்மையையும் மதிக்கிறோம், எனவே எங்களிடம் "உபரி" இயந்திரங்கள் தீர்ந்துவிட்டதும், புதிய இயந்திரங்களை வாங்கிச் சேர்ப்பதற்குப் பதிலாக, நாங்கள் இடமாற்றம் செய்த இயந்திரங்களைத் துடைத்து மீண்டும் ஒதுக்கீடு செய்வதன் மூலம் கூடுதல் செல்களை உருவாக்கினோம். பின்னர் நாங்கள் அந்த மீண்டும் ஒதுக்கப்பட்ட இயந்திரங்களுக்கு பணிச்சுமைகளை இடமாற்றம் செய்து, இந்த செயல்முறையை மீண்டும் தொடங்கினோம். இந்த செயல்முறை சிக்கலானது—ஏனெனில் இயந்திரங்கள் மாற்றப்பட்டு செல்களாக உருவாக்கப்படும்போது, அவை ஒரு சிறந்த, ஒழுங்கான முறையில் விடுவிக்கப்படுவதில்லை. அவை தரவு அரங்குகள் முழுவதும் பௌதீக ரீதியாக சிதறடிக்கப்பட்டுள்ளன, இது அவற்றை நாங்கள் சிறு துண்டுகளாக ஒதுக்க வேண்டிய கட்டாயத்தை ஏற்படுத்துகிறது. இந்த செயல்முறை, வன்பொருள் இருப்பிடங்களை பெரிய அளவிலான பௌதீக செயலிழப்புப் பகுதிகளுடன் சீரமைக்க, வன்பொருள்-நிலை சிதறல் நீக்கும் செயல்முறையைத் தேவைப்படுத்துகிறது.
எங்கள் உள்கட்டமைப்புப் பொறியியல் குழுவின் ஒரு பகுதி, எங்கள் பழைய, அல்லது "செல்-முந்தைய" சூழலில் இருந்து ஏற்கனவே உள்ள பணிச்சுமைகளை செல்களுக்குள் இடமாற்றம் செய்வதில் கவனம் செலுத்துகிறது. ஆயிரக்கணக்கான பல்வேறு உள்கட்டமைப்பு சேவைகளையும் ஆயிரக்கணக்கான பின்னணி சேவைகளையும் புதிதாக உருவாக்கப்பட்ட செல்களுக்குள் நாங்கள் இடமாற்றம் செய்யும் வரை இந்தப் பணி தொடரும். சில சிக்கலான காரணிகளால், இதற்கு அடுத்த ஆண்டு முழுவதும் மற்றும் சாத்தியமானால் 2025 வரையிலும் ஆகும் என்று நாங்கள் எதிர்பார்க்கிறோம். முதலாவதாக, இந்தப் பணிக்கு வலுவான கருவிகள் உருவாக்கப்பட வேண்டும். உதாரணமாக, ஒரு புதிய செல்லை நாங்கள் வரிசைப்படுத்தும்போது, எங்கள் பயனர்களைப் பாதிக்காமல், அதிக எண்ணிக்கையிலான சேவைகளைத் தானாகவே மறுசமநிலைப்படுத்த எங்களுக்குக் கருவிகள் தேவை. எங்கள் உள்கட்டமைப்பைப் பற்றிய அனுமானங்களுடன் உருவாக்கப்பட்ட சேவைகளையும் நாங்கள் கண்டறிந்துள்ளோம். நாங்கள் செல்களுக்குள் நகரும்போது எதிர்காலத்தில் மாறக்கூடிய விஷயங்களைச் சார்ந்திருக்காமல் இருக்க, இந்தச் சேவைகளை நாங்கள் திருத்த வேண்டும். செல்லுலார் கட்டமைப்புடன் சிறப்பாகச் செயல்படாத அறியப்பட்ட வடிவமைப்பு முறைகளைத் தேடுவதற்கான ஒரு வழியையும், இடம்பெயர்ந்த ஒவ்வொரு சேவைக்கான ஒரு முறையான சோதனை செயல்முறையையும் நாங்கள் செயல்படுத்தியுள்ளோம். இந்தச் செயல்முறைகள், ஒரு சேவை செல்லுலார் அமைப்புடன் பொருந்தாததால் ஏற்படும் பயனர் தொடர்பான எந்தவொரு சிக்கல்களையும் முன்கூட்டியே தடுக்க உதவுகின்றன.
இன்று, கிட்டத்தட்ட 30,000 இயந்திரங்கள் செல்கள் மூலம் நிர்வகிக்கப்படுகின்றன. இது எங்கள் மொத்த இயந்திரங்களின் ஒரு சிறு பகுதி மட்டுமே, ஆனால் இதுவரை எந்த எதிர்மறையான செயல்திறன் பாதிப்பும் இல்லாமல் இந்த மாற்றம் மிகவும் சுமூகமாக நடைபெற்றுள்ளது. எங்கள் அமைப்புகள் ஒவ்வொரு மாதமும் 99.99 சதவீதம் பயனர் இயக்க நேரத்தை அடைவதே எங்கள் இறுதி இலக்கு, அதாவது நாங்கள் ஈடுபாட்டு மணிநேரத்தில் 0.01 சதவீதத்திற்கும் அதிகமாக இடையூறு செய்ய மாட்டோம். தொழில் முழுவதும், செயலிழப்பை முழுமையாக அகற்ற முடியாது, ஆனால் எந்தவொரு Roblox செயலிழப்பையும் கிட்டத்தட்ட கவனிக்க முடியாத அளவிற்கு குறைப்பதே எங்கள் குறிக்கோள்.
நாங்கள் விரிவாக்கம் செய்யும்போது எதிர்காலத்திற்குத் தயாராகுதல்
எங்கள் ஆரம்பகால முயற்சிகள் வெற்றிகரமாக அமைந்தாலும், செல்கள் மீதான எங்கள் பணி இன்னும் முழுமையாகவில்லை. ராப்ளக்ஸ் தொடர்ந்து விரிவடையும்போது, இந்த மற்றும் பிற தொழில்நுட்பங்கள் மூலம் எங்கள் அமைப்புகளின் செயல்திறன் மற்றும் மீள்தன்மையை மேம்படுத்த நாங்கள் தொடர்ந்து பணியாற்றுவோம். நாங்கள் முன்னேற முன்னேற, இந்தத் தளம் சிக்கல்களுக்கு எதிராக மேலும் மேலும் மீள்தன்மை கொண்டதாக மாறும், மேலும் ஏற்படும் எந்தவொரு சிக்கல்களும் எங்கள் தளத்தில் உள்ள மக்களுக்குப் படிப்படியாகக் குறைவாகத் தெரியும் மற்றும் குறுக்கிடும்.
சுருக்கமாக, இன்றுவரை, நாங்கள்:
- இரண்டாவது தரவு மையத்தை உருவாக்கி, செயல்திறன்/செயலற்ற நிலையை வெற்றிகரமாக அடைந்துள்ளோம்.
- எங்கள் செயலில் மற்றும் செயலற்ற தரவு மையங்களில் செல்களை உருவாக்கி, எங்கள் பின்தள சேவைப் போக்குவரத்தில் 70 சதவீதத்திற்கும் மேலானதை இந்த செல்களுக்கு வெற்றிகரமாக இடம்பெயர்த்தோம்.
- எங்கள் உள்கட்டமைப்பின் மீதமுள்ள பகுதிகளை இடம்பெயர்த்தலைத் தொடரும்போது, அனைத்து செல்களையும் சீராக வைத்திருக்க நாங்கள் பின்பற்ற வேண்டிய தேவைகள் மற்றும் சிறந்த நடைமுறைகளை நடைமுறைப்படுத்தியுள்ளோம்.
- செல்கள் இடையில் வலுவான "வெடிப்புச் சுவர்களை" உருவாக்கும் ஒரு தொடர்ச்சியான செயல்முறையைத் தொடங்கியுள்ளோம்.
இந்த செல்கள் மேலும் மாற்றக்கூடியவையாக மாறும்போது, செல்களுக்கு இடையிலான குறுக்கீடுகள் குறையும். இது கண்காணிப்பு, பிழைதிருத்தம் மற்றும் பணிச்சுமைகளைத் தானாகவே மாற்றுவது போன்றவற்றில் தானியக்கத்தை அதிகரிப்பதற்கான சில மிகவும் சுவாரஸ்யமான வாய்ப்புகளை எங்களுக்குத் திறக்கிறது.
செப்டம்பரில், எங்கள் தரவு மையங்கள் முழுவதும் ஆக்டிவ்/ஆக்டிவ் சோதனைகளை நடத்தத் தொடங்கினோம். இது நம்பகத்தன்மையை மேம்படுத்தவும், ஃபெயில்ஓவர் நேரங்களைக் குறைக்கவும் நாங்கள் சோதித்து வரும் மற்றொரு வழிமுறையாகும். முழுமையாக ஆக்டிவ்-ஆக்டிவ் ஆகும் பாதையில் நாங்கள் முன்னேறும்போது, மீண்டும் வடிவமைக்க வேண்டிய தரவு அணுகல் தொடர்பான பல சிஸ்டம் வடிவமைப்பு முறைகளைக் கண்டறிய இந்தச் சோதனைகள் உதவின. ஒட்டுமொத்தமாக, எங்கள் பயனர்களில் ஒரு குறிப்பிட்ட எண்ணிக்கையினரின் போக்குவரத்துக்காக இந்தச் சோதனையைத் தொடர்ந்து இயக்க இது போதுமான அளவு வெற்றிகரமாக இருந்தது.



