මම සතියක් පුරා ක්රියාත්මක වන ව්යාපෘතියකට කැමතියි, නමුත් වසරක් පුරා ක්රියාත්මක වන ව්යාපෘති මට බියක් ඇති කරනවා. Agile හි MVP සහ වර්ධක සංකල්පය මට ඇත්තටම කැමති වුණා; ඒක මගේ දෙයක් විතරයි: වැඩ කරන කොටසක් නිර්මාණය කිරීම, එය ක්රියාත්මක කිරීම සහ ඉදිරියට යාම.
ඒ අතරම, පොත්වල සහ සම්මන්ත්රණවල සාකච්ඡා කර ඇති පරිදි, DevOps පරිවර්තනය හරියටම වසරක් පුරා දිවෙන ව්යාපෘතියකි. නැතහොත් වසර ගණනාවක්.
අපි අපගේ DevOps පාඨමාලාව "DevOps MVP in one sprint" සහ "incremental presidency" යන ආදර්ශය වටා ගොඩනගා ගත්තෙමු. නැතහොත්, වඩාත් සරලව කිවහොත්, "ආපසු පැමිණි පසු, සහභාගිවන්නන්ට වහාම යමක් ක්රියාත්මක කර ප්රතිලාභ ලබා ගත හැකිය."
MVP DevOps: මෙම පාඨමාලාව මූලික DevOps ක්රියාවලීන් සඳහා මෙවලම් ආවරණය කරයි. අපි සියලුම CI/CD පද්ධති සමාලෝචනය කර සංසන්දනය කිරීම හෝ කේත ප්රවේශයක් ලෙස යටිතල පහසුකම්වල සංකීර්ණතා සොයා බැලීම අරමුණු නොකරමු. අපි පහසුවෙන් තේරුම් ගත හැකි එක් තොගයක් උගන්වමු: Gitlab CI/CD, Ansible, Terraform සහ Packer, Molecule, Prometheus සහ EFK. ඔබට පාඨමාලාවෙන් ආපසු පැමිණ, පුහුණු ද්රව්යවලින් නියමු ව්යාපෘති යටිතල පහසුකම් එකලස් කර, එය උත්සාහ කළ හැකිය.

වර්ධක වෙනස්කම් සඳහා සූදානම: අපි සෑම අංගයකටම ප්රමාණවත් පුහුණුවීම් සහ උදාහරණ සපයන්නෙමු. ඔබට එක් මෙවලමක් ගෙන පුහුණු බ්ලූප්රින්ට් භාවිතයෙන් එය ක්රියාත්මක කළ හැකිය. උදාහරණයක් ලෙස, සංවර්ධන පරිසරයන් දියත් කිරීම සඳහා Ansible ක්රීඩා පොතක් ලියන්න හෝ බොට් එකක් සම්බන්ධ කර එය පරිපාලනය කරන්න. සේවාදායකය ඔබේ දුරකථනයෙන්. එනම්, සතියක් ඇතුළත ඔබට සංයුක්ත, ප්රායෝගික ප්රතිඵල ලැබෙනු ඇත. සමාගම පුරා සිදුවන DevOps පරිවර්තනයකින් ඒවා බොහෝ දුරස් විය හැකි වුවද, ඒවා පවතී, ඒවා මෙහි ඇත, ඒවා ක්රියාත්මක වේ, සහ ඒවා වටිනාකමක් ලබා දෙයි.
Slurm DevOps මාතෘකා
මාතෘකාව #1: Git හොඳම පිළිවෙත් — තමාටම කතා කරයි.
මාතෘකාව #2: සංවර්ධන දෘෂ්ටි කෝණයකින් යෙදුම සමඟ වැඩ කිරීම — ඉංජිනේරුවෙකුට පරිපාලකයෙකුගේ සහ සංවර්ධකයෙකුගේ කුසලතා අවශ්ය වේ, එබැවින් අපි පරිපාලකයින්ට සංවර්ධනය ගැන උගන්වමු.
මාතෘකාව #3: CI/CD මූලික කරුණු
- CI/CD ස්වයංක්රීයකරණය පිළිබඳ හැඳින්වීම
- Gitlab CI මූලික කරුණු
- gitlab-runner සමඟ හොඳම භාවිතයන්
- CI/CD වල කොටසක් ලෙස Bash, Make, සහ Gradle මෙවලම් සහ තවත් දේ
- CI ගැටළු සඳහා විසඳුමක් ලෙස ඩොකර්
මාතෘකාව #4: Gitlab CI/CD නිෂ්පාදනයේ පවතී
- රැකියාවක් ආරම්භ කිරීමේදී තරඟකාරිත්වය
- ක්රියාත්මක කිරීමේ පාලනය සහ සීමා කිරීම්: පමණක්, කවදාද
- කෞතුක වස්තු සමඟ වැඩ කිරීම
- සැකිලි, ඇතුළත් කිරීම් සහ ක්ෂුද්ර සේවා: යෙදවීම සරල කිරීම
CI/CD ක්රියාත්මක කිරීම සඳහා CI/CD සහ මෙවලම් පිළිබඳ මූලික සංකල්ප අපි සිසුන්ට හඳුන්වා දෙන්නෙමු. එහි ප්රතිඵලයක් ලෙස, සිසුන්ට ස්වාධීනව CI/CD නිර්මාණ රටාවක් සහ සුදුසු ක්රියාත්මක කිරීමේ මෙවලමක් තෝරා ගැනීමට හැකි වනු ඇත.
ඉන්පසු අපි Gitlab හි CI/CD ක්රියාත්මක කිරීම නිරූපණය කර, සැකසුම හරහා ගොස්, උසස් Gitlab CI භාවිතය ගවේෂණය කරන්නෙමු. එහි ප්රතිඵලයක් ලෙස, සිසුන්ට තමන්ගේම ව්යාපෘති සඳහා Gitlab CI ස්වාධීනව වින්යාස කිරීමට හැකි වනු ඇත.
පළමු DevOps Slurm හා සසඳන විට, අපි න්යායික ආවරණය අඩකින් අඩු කර ඇත්තෙමු (මාතෘකාවකට පැයක්), සියලු පද්ධති පිළිබඳ දළ විශ්ලේෂණය අතහැර දමා Gitlab CI පමණක් ඇතුළත් කර ඇත්තෙමු. අපි පුහුණුවීම් කෙරෙහි අවධානය යොමු කර බොහෝ හොඳම පරිචයන් එකතු කර ඇත්තෙමු.
මාතෘකාව #5: යටිතල පහසුකම් කේතය ලෙස
- IaC: කේතය ලෙස යටිතල පහසුකම් වෙත ළඟා වීම
- යටිතල පහසුකම් සපයන්නන් ලෙස වලාකුළු සපයන්නන්
- පද්ධති ආරම්භක මෙවලම්, රූප ගොඩනැගීම (පැකර්)
- IaC උදාහරණයක් ලෙස Terraform භාවිතා කරයි
- වින්යාස ගබඩාව, සහයෝගීතාව, යෙදුම් ස්වයංක්රීයකරණය
- Ansible playbooks නිර්මාණය කිරීමට පුරුදු වන්න
- උදාසීනත්වය, ප්රකාශ කිරීමේ හැකියාව
- උදාහරණයක් ලෙස Ansible භාවිතා කරමින් IaC
අපි UI සහ OpenStack cli හි න්යායාත්මක කොටස කෙටි කර ප්රායෝගිකව භාවිතා කිරීම කෙරෙහි අවධානය යොමු කර ඇත්තෙමු.
අපි එකම යෙදුම භාවිතා කරමින් IaC ප්රවේශයන් දෙකක් ගවේෂණය කරන්නෙමු, එක් එක් ප්රවේශයේ වාසි සහ අවාසි ඉස්මතු කරමු. එහි ප්රතිඵලයක් ලෙස, කුමන ප්රවේශය භාවිතා කළ යුතුද සහ Terraform සහ Ansible යන දෙකම සමඟ වැඩ කරන්නේ කෙසේද යන්න සිසුන්ට වැටහෙනු ඇත.
Terraform මාතෘකාවේදී, අපි දත්ත සමුදායක කණ්ඩායම් වැඩ සහ ගබඩා කිරීමේ තත්වය ගවේෂණය කරන්නෙමු. මොඩියුල සමඟ වැඩ කිරීමෙන්, සිසුන් තමන්ගේම මොඩියුල ලිවීම සහ වින්යාස කිරීම සහ නැවත භාවිතා කිරීම සහ අනුවාදකරණය ඇතුළුව ඒවා භාවිතා කරන ආකාරය ඉගෙන ගනු ඇත. අවශ්ය වූ විට සහ එය නිවැරදිව භාවිතා කරන්නේ කෙසේද යන්න නිරූපණය කරමින් අපි කොන්සල් ද හඳුන්වා දෙන්නෙමු.
මාතෘකාව #6: යටිතල පහසුකම් පරීක්ෂා කිරීම
- අපි බලමු ඇයි විභාග ලියන්නේ නැත්තේ කියලා?
- IaC හි පවතින පරීක්ෂණ මොනවාද?
- ස්ථිතික විශ්ලේෂක: ඒවා ඇත්තටම එතරම් නිෂ්ඵලද?
- ඇන්සිබල් සහ අණු සමඟ IaC ඒකක පරීක්ෂාව
- ci හි කොටසක් ලෙස පරීක්ෂා කිරීම
- ස්ටෙරොයිඩ් පරීක්ෂණ හෝ IaC පරීක්ෂණ අවසන් වන තෙක් පැය 5ක් බලා සිටීම වළක්වා ගන්නේ කෙසේද?
අපි න්යායික කොටස කෙටි කර ඇත්තෙමු, වැග්රන්ට්/අණු ගැන අඩුවෙන් කතා කර, වැඩි ප්රායෝගිකත්වයක් සහ පරීක්ෂණ, ලින්ටර කෙරෙහි අවධානය යොමු කර ඒවා සමඟ වැඩ කිරීම සමඟ. අපි එය CI දෘෂ්ටිකෝණයකින් බලමු.
පරීක්ෂණ වේගවත් කරන්නේ කෙසේද? ප්රායෝගිකව, මෙය වනුයේ:
- භූමිකාව අනුව ධාරකයකට අවශ්ය විචල්යයන් තිබේදැයි පරීක්ෂා කරන ස්වයං-ලිඛිත ලින්ටරයක්;
- අපි CI පරීක්ෂණයට එකතු කරන්නේ වෙනස් වී ඇති භූමිකාවන් පමණි, එමඟින් පරීක්ෂණ ක්රියාත්මක කිරීමේ කාලය සැලකිය යුතු ලෙස අඩු කිරීමට අපට ඉඩ සලසයි;
- අපි scenario testing එකතු කරනවා. අපි මුළු යෙදුමම ඒකාබද්ධ කිරීමේ පරීක්ෂණයක් ලෙස යොදවනවා.
මාතෘකාව #7: Prometheus සමඟ යටිතල පහසුකම් අධීක්ෂණය
- සෞඛ්ය සම්පන්න අධීක්ෂණ පද්ධතියක් ගොඩනගන්නේ කෙසේද?
- විකිණීමට පෙර පවා විශ්ලේෂණය, සංවර්ධන කාර්යක්ෂමතාව සහ කේත ස්ථායිතාව සඳහා මෙවලමක් ලෙස අධීක්ෂණය
- Prometheus + AlertManager + Grafana වින්යාස කිරීම
- සම්පත් අධීක්ෂණයේ සිට යෙදුම් අධීක්ෂණය දක්වා මාරුවීම
අපි ක්ෂුද්ර සේවා අධීක්ෂණය ගැන බොහෝ දේ කතා කරන්නෙමු: ඉල්ලීම් හැඳුනුම්පත්, API නිරීක්ෂණ මෙවලම්. හොඳම භාවිතයන් ඕනෑ තරම් සහ ස්වාධීන වැඩ රාශියක් ඇත.
අපි අපේම අපනයනකරුවෙකු ලියමු. නිෂ්පාදන යටිතල පහසුකම් සහ යෙදුම සඳහා පමණක් නොව, Gitlab ගොඩනැගීම් සඳහාද අපි අධීක්ෂණය සකසන්නෙමු. අසාර්ථක පරීක්ෂණ පිළිබඳ සංඛ්යාලේඛන අපි බලමු. healthCheck සමඟ සහ නැතිව අධීක්ෂණය කෙබඳු වේදැයි අපි ප්රායෝගිකව බලමු.
මාතෘකාව #8: ELK සමඟ යෙදුම් ලොග් කිරීම
- ඉලාස්ටික් සහ එහි මෙවලම් පිළිබඳ දළ විශ්ලේෂණයක්
- ELK/Elastic Stack/x-pack — මොකක්ද මොකක්ද සහ වෙනස මොකක්ද?
- ඉලාස්ටික් සෙවුම (සෙවීම, ගබඩා කිරීම, පරිමාණය කිරීමේ හැකියාව, අභිරුචිකරණ නම්යශීලීභාවය) සමඟ විසඳා ගත හැකි කාර්යයන් මොනවාද?
- යටිතල පහසුකම් අධීක්ෂණය (x-pack)
- බහාලුම් සහ යෙදුම් ලොග (x-ඇසුරුම)
- උදාහරණයක් ලෙස අපගේ යෙදුම භාවිතයෙන් ලොග් වීම
- කිබානා පිළිවෙත්
- ඇමසන් වෙතින් ඉලාස්ටික්සර්ච් සඳහා ඩිස්ට්රෝ විවෘත කරන්න
මාතෘකාව සම්පූර්ණයෙන්ම ප්රතිනිර්මාණය කර ඇති අතර එය මෙහෙයවනු ලබන්නේ DevOps සහ SRE වෙබ්නාර් හිදී බොහෝ දෙනෙක් දුටු එඩ්වඩ් මෙඩ්විඩෙව් විසිනි. නියැදි යෙදුමක් භාවිතා කරමින් EFK සමඟ වැඩ කිරීම සඳහා හොඳම භාවිතයන් ඔහු සාකච්ඡා කර නිරූපණය කරනු ඇත. කිබානා සමඟ ප්රායෝගික සැසියක් ද පැවැත්වෙනු ඇත.
මාතෘකාව #9: ChatOps සමඟ යටිතල පහසුකම් ස්වයංක්රීයකරණය
- DevOps සහ ChatOps
- ChatOps: ශක්තීන්
- ස්ලැක් සහ විකල්ප
- ChatOps සඳහා බොට්ස්
- Hubot සහ විකල්ප
- Безопасность
- පරීක්ෂා කිරීම
- හොඳම සහ නරකම භාවිතයන්
ChatOps විසින් වරප්රසාද වෙන් කිරීම, වෙනත් පරිශීලකයෙකු විසින් ක්රියාවන් තහවුරු කිරීම, Mattermost ආකාරයෙන් Slack විකල්පයක න්යාය සහ භාවිතය සහ බොට් සඳහා ඒකක සහ ඒකාබද්ධතා පරීක්ෂණ පිළිබඳ න්යාය සමඟ සත්යාපන පිළිවෙත් එකතු කර ඇත.
Slurm DevOps ජනවාරි 30 වන දින ආරම්භ වේ. මිල: 30,000.
මෙතෙක් කියවූ අයට, habrapost ප්රවර්ධන කේතය සමඟ DevOps පාඨමාලාවෙන් 15% ක වට්ටමක් ලබා ගන්න.
ලියාපදිංචි
ස්ලර්ම්ස් හිදී ඔබව දැකීම ගැන මම සතුටු වෙමි!
මූලාශ්රය: www.habr.com
