ஸ்லாக்கில் பயன்படுத்தப்படும் திட்ட வரிசைப்படுத்தல் முறை

ஒரு புதிய திட்ட வெளியீட்டை உற்பத்தியில் கொண்டு வர, வரிசைப்படுத்தல் வேகம் மற்றும் தீர்வு நம்பகத்தன்மை ஆகியவற்றுக்கு இடையே கவனமாக சமநிலை தேவைப்படுகிறது. ஸ்லாக் வேகமான மறு செய்கைகள், குறுகிய பின்னூட்ட சுழற்சிகள் மற்றும் பயனர் கோரிக்கைகளுக்கு உடனடி பதில் ஆகியவற்றை மதிப்பிடுகிறது. கூடுதலாக, நிறுவனத்தில் நூற்றுக்கணக்கான புரோகிராமர்கள் உள்ளனர், அவர்கள் முடிந்தவரை உற்பத்தி செய்ய முயற்சி செய்கிறார்கள்.

ஸ்லாக்கில் பயன்படுத்தப்படும் திட்ட வரிசைப்படுத்தல் முறை

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

இன்று திட்ட வரிசைப்படுத்தல் செயல்முறைகள் எவ்வாறு செயல்படுகின்றன

Slack இல் உள்ள ஒவ்வொரு PR (இழுக்கும் கோரிக்கை) குறியீடு மதிப்பாய்வுக்கு உட்பட்டதாக இருக்க வேண்டும் மற்றும் அனைத்து சோதனைகளிலும் வெற்றிகரமாக தேர்ச்சி பெற வேண்டும். இந்த நிபந்தனைகள் பூர்த்தி செய்யப்பட்ட பின்னரே, புரோகிராமர் தனது குறியீட்டை திட்டத்தின் முதன்மைக் கிளையில் இணைக்க முடியும். இருப்பினும், இந்த குறியீடு வணிக நேரங்களில், வட அமெரிக்க நேரத்தின் போது மட்டுமே பயன்படுத்தப்படுகிறது. இதன் விளைவாக, எங்கள் ஊழியர்கள் தங்கள் பணியிடங்களில் இருப்பதால், எதிர்பாராத பிரச்சனைகளை தீர்க்க நாங்கள் முழுமையாக தயாராக இருக்கிறோம்.

ஒவ்வொரு நாளும் நாங்கள் சுமார் 12 திட்டமிடப்பட்ட வரிசைப்படுத்தல்களை மேற்கொள்கிறோம். ஒவ்வொரு வரிசைப்படுத்தலின் போதும், வரிசைப்படுத்தல் முன்னணியாக நியமிக்கப்பட்ட புரோகிராமர் புதிய கட்டமைப்பை உற்பத்திக்கு கொண்டு வருவதற்கு பொறுப்பாவார். இது பல-படி செயல்முறையாகும், இது அசெம்பிளி சீராக உற்பத்திக்கு கொண்டு வரப்படுவதை உறுதி செய்கிறது. இந்த அணுகுமுறைக்கு நன்றி, எங்கள் பயனர்கள் அனைவரையும் பாதிக்கும் முன் பிழைகளைக் கண்டறிய முடியும். பல பிழைகள் இருந்தால், சட்டசபையின் வரிசைப்படுத்தலை திரும்பப் பெறலாம். வெளியீட்டிற்குப் பிறகு ஒரு குறிப்பிட்ட சிக்கல் கண்டறியப்பட்டால், அதற்கான தீர்வை எளிதாக வெளியிடலாம்.

ஸ்லாக்கில் பயன்படுத்தப்படும் திட்ட வரிசைப்படுத்தல் முறை
சோதனைச் சாவடி அமைப்பின் இடைமுகம், இது திட்டப்பணிகளை வரிசைப்படுத்த ஸ்லாக்கில் பயன்படுத்தப்படுகிறது

உற்பத்திக்கு ஒரு புதிய வெளியீட்டை வரிசைப்படுத்தும் செயல்முறை நான்கு படிகளைக் கொண்டதாக கருதலாம்.

▍1. வெளியீட்டு கிளையை உருவாக்குதல்

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

▍2. ஸ்டேஜிங் சூழலில் வரிசைப்படுத்தல்

அடுத்த கட்டம், ஸ்டேஜிங் சர்வர்களில் அசெம்பிளியை வரிசைப்படுத்துவது மற்றும் திட்டத்தின் ஒட்டுமொத்த செயல்திறனுக்கான தானியங்கி சோதனையை இயக்குவது (புகை சோதனை). ஸ்டேஜிங் சூழல் என்பது வெளிப்புற போக்குவரத்தைப் பெறாத உற்பத்திச் சூழலாகும். இந்த சூழலில், நாங்கள் கூடுதல் கையேடு சோதனை செய்கிறோம். மாற்றியமைக்கப்பட்ட திட்டம் சரியாகச் செயல்படும் என்ற கூடுதல் நம்பிக்கையை இது வழங்குகிறது. இந்த அளவிலான நம்பிக்கையை வழங்க தானியங்கு சோதனைகள் மட்டும் போதாது.

▍3. டாக்ஃபுட் மற்றும் கேனரி சூழல்களில் வரிசைப்படுத்தல்

எங்கள் உள் ஸ்லாக் பணியிடங்களுக்குச் சேவை செய்யும் ஹோஸ்ட்களின் தொகுப்பால் பிரதிநிதித்துவப்படுத்தப்படும் டாக்ஃபுட் சூழலில் உற்பத்திக்கான வரிசைப்படுத்தல் தொடங்குகிறது. நாங்கள் மிகவும் சுறுசுறுப்பான ஸ்லாக் பயனர்கள் என்பதால், இந்த அணுகுமுறையைப் பயன்படுத்துவது, வரிசைப்படுத்தலின் ஆரம்பத்தில் நிறைய பிழைகளைப் பிடிக்க எங்களுக்கு உதவியது. கணினியின் அடிப்படை செயல்பாடு உடைக்கப்படவில்லை என்பதை நாங்கள் உறுதிசெய்த பிறகு, கேனரி சூழலில் சட்டசபை பயன்படுத்தப்படுகிறது. இது உற்பத்தி போக்குவரத்தில் தோராயமாக 2% இருக்கும் அமைப்புகளைக் குறிக்கிறது.

▍4. உற்பத்திக்கு படிப்படியாக வெளியீடு

புதிய வெளியீட்டிற்கான கண்காணிப்பு குறிகாட்டிகள் நிலையானதாக மாறினால், மற்றும் கேனரி சூழலில் திட்டத்தைப் பயன்படுத்திய பிறகு, எங்களுக்கு எந்த புகாரும் வரவில்லை என்றால், உற்பத்தி சேவையகங்களை படிப்படியாக புதிய வெளியீட்டிற்கு மாற்றுவோம். வரிசைப்படுத்தல் செயல்முறை பின்வரும் நிலைகளாக பிரிக்கப்பட்டுள்ளது: 10%, 25%, 50%, 75% மற்றும் 100%. இதன் விளைவாக, கணினியின் புதிய வெளியீட்டிற்கு உற்பத்தி போக்குவரத்தை மெதுவாக மாற்றலாம். அதே நேரத்தில், ஏதேனும் முரண்பாடுகள் கண்டறியப்பட்டால், நிலைமையை ஆராய்வதற்கு எங்களுக்கு நேரம் உள்ளது.

▍பயன்படுத்தும் போது ஏதேனும் தவறு நடந்தால் என்ன செய்வது?

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

உண்மையில் ஏதாவது தவறு நடந்தால், முடிந்தவரை விரைவில் சிக்கலைக் கண்டறிய முயற்சிக்கிறோம். நாங்கள் சிக்கலை ஆராய்ந்து, பிழைகளை ஏற்படுத்தும் PR ஐக் கண்டுபிடித்து, அதைத் திரும்பப் பெறுகிறோம், அதை முழுமையாக பகுப்பாய்வு செய்து, புதிய கட்டமைப்பை உருவாக்குகிறோம். உண்மை, சில சமயங்களில் திட்டம் உற்பத்திக்கு செல்லும் வரை பிரச்சனை கவனிக்கப்படாமல் போகும். அத்தகைய சூழ்நிலையில், மிக முக்கியமான விஷயம் சேவையை மீட்டெடுப்பதாகும். எனவே, சிக்கலைப் பற்றி ஆராயத் தொடங்குவதற்கு முன், நாங்கள் உடனடியாக முந்தைய வேலை கட்டமைப்பிற்கு திரும்புவோம்.

வரிசைப்படுத்தல் அமைப்பின் கட்டுமானத் தொகுதிகள்

எங்கள் திட்ட வரிசைப்படுத்தல் அமைப்பின் அடிப்படையிலான தொழில்நுட்பங்களைப் பார்ப்போம்.

▍விரைவான வரிசைப்படுத்தல்கள்

மேலே விவரிக்கப்பட்ட பணிப்பாய்வு, பின்னோக்கிப் பார்த்தால், ஓரளவு தெளிவாகத் தோன்றலாம். ஆனால் எங்கள் வரிசைப்படுத்தல் அமைப்பு உடனடியாக இந்த வழியில் மாறவில்லை.

நிறுவனம் மிகவும் சிறியதாக இருந்தபோது, ​​எங்கள் முழு பயன்பாடும் 10 Amazon EC2 நிகழ்வுகளில் இயங்கும். இந்த சூழ்நிலையில் ப்ராஜெக்ட்டை வரிசைப்படுத்துவது என்பது அனைத்து சர்வர்களையும் விரைவாக ஒத்திசைக்க rsync ஐப் பயன்படுத்துவதாகும். முன்னதாக, புதிய குறியீடு உற்பத்தியில் இருந்து ஒரு படி தொலைவில் இருந்தது, இது ஒரு நிலை சூழலால் குறிப்பிடப்படுகிறது. அத்தகைய சூழலில் கூட்டங்கள் உருவாக்கப்பட்டு சோதனை செய்யப்பட்டன, பின்னர் நேரடியாக உற்பத்திக்குச் சென்றன. அத்தகைய அமைப்பைப் புரிந்துகொள்வது மிகவும் எளிதானது; எந்த புரோகிராமரும் எந்த நேரத்திலும் அவர் எழுதிய குறியீட்டைப் பயன்படுத்த அனுமதித்தது.

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

பழைய அமைப்பிலிருந்து வித்தியாசமாக வடிவமைக்கப்பட்ட முற்றிலும் இணையான வரிசைப்படுத்தல் அமைப்புக்கு நகர்வதன் மூலம் இந்தச் சிக்கலைத் தீர்த்து முடித்தோம். அதாவது, இப்போது நாம் ஒரு ஒத்திசைவு ஸ்கிரிப்டைப் பயன்படுத்தி சேவையகங்களுக்கு குறியீட்டை அனுப்பவில்லை. இப்போது ஒவ்வொரு சேவையகமும் புதிய அசெம்பிளியை சுயாதீனமாக பதிவிறக்கம் செய்து, தூதரக விசை மாற்றத்தை கண்காணிப்பதன் மூலம் அவ்வாறு செய்ய வேண்டும் என்பதை அறிந்து கொண்டது. சேவையகங்கள் குறியீட்டை இணையாக ஏற்றுகின்றன. நிலையான அமைப்பு வளர்ச்சியின் சூழலில் கூட அதிக வேகத்தை வரிசைப்படுத்த இது எங்களுக்கு அனுமதித்தது.

ஸ்லாக்கில் பயன்படுத்தப்படும் திட்ட வரிசைப்படுத்தல் முறை
1. உற்பத்தி சேவையகங்கள் தூதரக விசையை கண்காணிக்கின்றன. 2. முக்கிய மாற்றங்கள், இது அவர்கள் புதிய குறியீட்டைப் பதிவிறக்கத் தொடங்க வேண்டும் என்று சேவையகங்களுக்குச் சொல்கிறது. 3. சேவையகங்கள் பயன்பாட்டுக் குறியீட்டுடன் டார்பால் கோப்புகளைப் பதிவிறக்குகின்றன

▍அணு வரிசைப்படுத்தல்கள்

பல அடுக்கு வரிசைப்படுத்தல் அமைப்பை அடைய எங்களுக்கு உதவிய மற்றொரு தீர்வு அணு வரிசைப்படுத்தல் ஆகும்.

அணு வரிசைப்படுத்தல்களைப் பயன்படுத்துவதற்கு முன், ஒவ்வொரு வரிசைப்படுத்தலும் அதிக எண்ணிக்கையிலான பிழைச் செய்திகளை ஏற்படுத்தலாம். உண்மை என்னவென்றால், புதிய கோப்புகளை உற்பத்தி சேவையகங்களுக்கு நகலெடுக்கும் செயல்முறை அணு அல்ல. இதன் விளைவாக ஒரு குறுகிய நேர சாளரத்தில் புதிய செயல்பாடுகள் என்று அழைக்கப்படும் குறியீடு செயல்பாடுகள் கிடைப்பதற்கு முன்பே கிடைத்தது. அத்தகைய குறியீடு அழைக்கப்பட்டபோது, ​​​​அது உள் பிழைகள் திரும்பியது. இது தோல்வியுற்ற API கோரிக்கைகள் மற்றும் உடைந்த வலைப்பக்கங்களில் வெளிப்பட்டது.

இந்த சிக்கலில் பணிபுரிந்த குழு "சூடான" மற்றும் "குளிர்" கோப்பகங்களின் கருத்தை அறிமுகப்படுத்துவதன் மூலம் அதைத் தீர்த்தது. சூடான கோப்பகத்தில் உள்ள குறியீடு உற்பத்தி போக்குவரத்தை செயலாக்குவதற்கு பொறுப்பாகும். மற்றும் "குளிர்" கோப்பகங்களில், குறியீடு, கணினி இயங்கும் போது, ​​பயன்படுத்த மட்டுமே தயாராக உள்ளது. வரிசைப்படுத்தலின் போது, ​​புதிய குறியீடு பயன்படுத்தப்படாத குளிர் கோப்பகத்திற்கு நகலெடுக்கப்படும். பின்னர், சேவையகத்தில் செயலில் உள்ள செயல்முறைகள் இல்லாதபோது, ​​ஒரு உடனடி அடைவு சுவிட்ச் செய்யப்படுகிறது.

ஸ்லாக்கில் பயன்படுத்தப்படும் திட்ட வரிசைப்படுத்தல் முறை
1. பயன்பாட்டுக் குறியீட்டை "குளிர்" கோப்பகத்தில் திறக்கிறது. 2. கணினியை "குளிர்" கோப்பகத்திற்கு மாற்றுதல், அது "சூடான" (அணு செயல்பாடு)

முடிவுகள்: நம்பகத்தன்மைக்கு முக்கியத்துவம் கொடுப்பது

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

புதிய ஸ்லாக் வெளியீடுகளை வரிசைப்படுத்தும் செயல்முறையை நாங்கள் மிகவும் பாதுகாப்பானதாக மாற்ற வேண்டும். இந்த தேவை எங்கள் வரிசைப்படுத்தல் அமைப்பை மேம்படுத்த வழிவகுத்தது. உண்மையில், இந்த மேம்படுத்தப்பட்ட அமைப்பை மேலே விவாதித்தோம். அமைப்பின் ஆழத்தில், வேகமான மற்றும் அணு வரிசைப்படுத்தல் தொழில்நுட்பங்களை நாங்கள் தொடர்ந்து பயன்படுத்துகிறோம். வரிசைப்படுத்தல் முறை மாறிவிட்டது. எங்கள் புதிய அமைப்பு படிப்படியாக புதிய குறியீட்டை வெவ்வேறு நிலைகளில், வெவ்வேறு சூழல்களில் வரிசைப்படுத்த வடிவமைக்கப்பட்டுள்ளது. நாங்கள் இப்போது முன்பை விட மேம்பட்ட ஆதரவு கருவிகள் மற்றும் கணினி கண்காணிப்பு கருவிகளைப் பயன்படுத்துகிறோம். இது இறுதிப் பயனரைச் சென்றடையும் வாய்ப்பைப் பெறுவதற்கு நீண்ட காலத்திற்கு முன்பே பிழைகளைப் பிடித்துச் சரிசெய்யும் திறனை நமக்கு வழங்குகிறது.

ஆனால் நாங்கள் அங்கு நிற்கப் போவதில்லை. நாங்கள் தொடர்ந்து இந்த அமைப்பை மேம்படுத்தி வருகிறோம், மேலும் மேம்பட்ட துணை கருவிகள் மற்றும் வேலை ஆட்டோமேஷன் கருவிகளைப் பயன்படுத்துகிறோம்.

அன்புள்ள வாசகர்கள்! நீங்கள் பணிபுரியும் இடத்தில் புதிய திட்ட வெளியீடுகளை வரிசைப்படுத்தும் செயல்முறை எவ்வாறு செயல்படுகிறது?

ஸ்லாக்கில் பயன்படுத்தப்படும் திட்ட வரிசைப்படுத்தல் முறை

ஆதாரம்: www.habr.com

கருத்தைச் சேர்