რა ამოხსნის Allspaw-ის წიგნი
რჩევის არ დასრულების დისციპლინა
John Allspaw წერდა 'The Art of Capacity Planning' (O'Reilly, 2008; მეორე გამოცემა 2017) Flickr-ის ოპერაციების მართვის შემდეგ ფეთქებლური ზრდის წლების განმავლობაში. მისი თეზისი: ტევადობის დაგეგმვა არ არის ერთჯერადი ცხრილის სავარჯიშო. ეს არის უწყვეტი დისციპლინა, რომელიც აერთიანებს გაზომვას, პროგნოზირებას, & ინჟინერულ მსჯელობას. თუ რომელიმე ამ სამიდან გამოტოვებთ, მაშინ კარგი ხელოვნება ან ძალიან მეტი ხელოვნება გაქვთ, რომელიც თამამად ჯდება.
ტევადობის დაგეგმვა ორ წარუმატებლობის რეჟიმს შორის განთავსებულია:
- ნაკლები გამოყოფა: სერვისები ცხელი მუშაობენ, მაშინ გამორთვები იწევს, შეცდომის მაჩვენებელი ზრდება, მომხმარებლები წავიდნენ. ყველაზე სწრაფი გზა მომხმარებლების დაკარგვის ზრდის ფაზায়.
- ზედმეტი გამოყოფა: ხელოვნება ჯდება 10% გამოყენებაზე, ფინანსი იკითხავს რატომ ყოველ წელს ბიუჯეტი იზრდება შემოსავლის გარეშე. გადახარჯვის ყველაზე სწრაფი გზა ბიუჯეტის განხილვაზე.
ხელოვნება ლოკაციაშია კორიდორში ამ ორ კლიფს შორის, რომელიც უცვლელი რჩება მუშაობის პროცესში.
სამი ძირითადი კითხვა ძღვება ყველა ტევადობის სავარჯიშოს:
- რა გვაქვს? დღეანდელი ტევადობა კონკრეტულ ერთეულებში: მოთხოვნა წამში, ტრანზაქციები წუთში, გიგაბაიტი მეხსიერებაში, თანამედროვე კავშირი.
- რა გვჭირდება? მომავალი თარიღით საბაზო მოითხოვნა ცხადი გაურკვევლობის საზღვრებით.
- როდის უნდა მოვაგროთ ნაბიჯი? დამუშავების დრო, ხელოვნება, ან მასშტაბირება. კლაუდი ამას წუთებამდე ამცირებს; ადგილობ შეიძლება თვეები იყოს საჭირო.
რატომ ვერ შეიძლება ეს იყოს ცხრილი
ელ-კომერციის კომპანია ოპერაციებს დაგეგმავს ერთხელ წელიწადში, ნოემბერში, წინა 12 თვის მოსახლეობის ხაზოვანი გაგრძელებით. ისინი მუშაობენ დამოკიდებულ სერვერებზე ექვსი კვირის საკანიკ დროით. მათი მოთხოვნა აჩვენებს ძლიერ კვირის სეზონალიობას (3 × შაბათ-კვირის პიკი), ძლიერი წლიური სეზონალიობა (5 × Black Friday), & გაიზრდა 40% წელიწადში სამი წელი უწყვეტად.
სამუშაო დატვირთვა ხელოვნებასთან
ორი განსხვავებული რიცხვი, ორივე საჭირო
ტევადობის დაგეგმვა ვერ სამართლიანი, თუ გუნდი გაზომავს მხოლოდ ორი აუცილებელი განზომილებიდან ერთს.
სამუშაო დატვირთვა: მოთხოვნა სისტემაზე გარედან. მოთხოვნა წამში, ტრანზაქციები წუთში, მეგაბაიტი წამში, თანამედროვე მომხმარებლები. სამუშაო დატვირთვა აღწერს რა სთხოვს თქვენ სამყარო.
გამოყენება: რამდენად სავსე გაშლილი სისტემა ამ მოთხოვნის დროს. CPU პროცენტი, მეხსიერება გამოყენებული, რიგის სიღრმე, ქსელის სიგანე, დისკის IOPS. გამოყენება აღწერს როგორი მოუსვენრიდან იმუშავება სისტემა.
სამუშაო დატვირთვა ასე გვეტყვის რა მოდის მაგრამ არა თუ შეგვიძლია ის დამხმარე. გამოყენება ასე გვეტყვის რამდენი სავსე ჯერ მაგრამ არა რა ველიკა ხვალ. გჭირდებათ ორივე, დახატული ერთმანეთის გვერდით, უშეცდომო უფლება გაკეთება სიმძლავრე გადაწყვეტილებების.
მოცულობის თანაფარდობა = სამუშაო დატვირთვა / გამოყენება. თუ დაკმაყოფილებთ 1,000 მოთხოვნას წამში 50% CPU-ზე, თქვენი თანაფარდობა 2,000 RPS 100% CPU-ზე სერვერზე. ეს კონვერტიები თანაფარდობა ნება თქვენი თარჯიმნივით მოლოდინი დატვირთვა წაკითხული სერვერი დათვლა.
Allspaw აძლიერებს გაზომვა სწორი განზომიერებაზე. ერთი ნიმუში წუთში ხელოვნებას 30-წამიანი პიკი. ერთი ნიმუში საათში ხელოვნებას ყველაფერი. რეალი სიმძლავრე მუშაობა გჭირდებათ ქვე-წუთი რეზოლუციონი პიკი მოვლენებისთვის და წუთი რეზოლუციონი ტენდენცია. სხვა სიმძლავრესთან ზებენი მცდელი მდელი ხელოვნება.
რა უნდა გაზოთ
თქვენი გუნდი იწყება რომელიმე გაზომვა ხელოვნებაზე ვიდეო ტრანსკოდერი სერვისი ახალი პროდუქტი გაშვება. შეგიძლიათ აირჩიოთ 8 მეტრიკა უმდე რეზოლუციის ქვე-წუთი. სერვისი ტანვებს ვიდეო ატვირთვა, რიგებს მათ, განგრაფებს ზე მრავალი ფორმატი, & წერს ფხვნილი რეპოზიტორი.
ტენდენცია, სეზონალიობა, გაურკვევლობა
სამი ფენა ყოველი პროგნოზი
Allspaw და Google SRE წიგნი ჩვენ მხარს უჭერენ სტრუქტურა თავის პროგნოზი: ტენდენცია, სეზონალიობა, & გაურკვევლობა საზღვრები. გამოტოვებული ნებისმიერი ერთი და პროგნოზი ხდება მცდელი.
ტენდენცია: ფერდობი მოთხოვნა თვე თითო წელი. ხშირად მოდელირებული ხაზოვანი რეგრესიონი მოკლე ღეია, ექსპონენციალური ან ცალი-ხაზოვანი მოქმედებისთვის შედეგი ზრდა. ტენდენცია ხაზი პასუხი 'სადაა მოთხოვნა მიმავალი ზოგადი?'
სეზონალიობა: ციკლურ რეკორდი მრავალი დროის მასშტაბი. ყოველდღე (პიკი შუადღეს ხელოვნება), კვირა (შაბათ-კვირის მწვავე), წელი (Black Friday, გადასახადი სეზონი, სკოლა წელი). მრავლობითი სეზონალიობა მასშტაბი მოთხოვნა; დამატებული სეზონალიობა დამატებული მუდმივი სიღრმე.
გაურკვევლობა საზღვრები: პროგნოზი კონუსი. პროგნოზი გარეშე საზღვრები არის ტოვლება. რეალი პროგნოზი გამოქვეყნებული ცენტრალური შეფასება ზე ცხადი ზედა და ქვედა საზღვრები, ტიპიკურად ზე 90% ან 95% ნდობა. კონუსი გაფართოებული თქვენი პროექტი კიდევ უფრო მეორე სიღრმეზე. 4-კვირა პროგნოზი შეიძლება აქვს ±10% საზღვრები; 12-თვიანი პროგნოზი ხშირად აქვს ±50%.
გამოცალკევება ბიზნეს ზრდა ტექნიკური მოთხოვნა: ტევადობის დაგეგმვა პროგნოზი ტექნიკური სამუშაო დატვირთვა, მაგრამ ბიზნეს გუნდი პროგნოზი შემოსავალი, ხელმოწერა, ან კამპანია. ტევადობის დაგეგმვის დასაქმე მოთხოვნა არის დააკო ბიზნეს პროგნოზი დაკლებული ტექნიკური მოთხოვნა: 30% ხელმოწერა ზრდა შეიძლება მნიშვნელოვანი 30% მეტი API წოდებული, მაგრამ იქნებ მნიშვნელოვანი 80% მეტი თუ ახალი მომხმარებელი გამოიყენებით ფარი მეტი მძიმე, ან მხოლოდ 15% თუ ისინი კონვერტი საკმარის მოკლე მაჩვენებელი. მნიშვნელოვანი თანაფარდობა ძღვება საკმარის სიმძლავრე დაგეგმვა ბიზნეს პროგნოზი.
პროგნოზი ხელოვნება ხელოვნება
თქვენი სერვისი დამხმარე ელ-კომერციის ადგილი. შეშუ წელი Black Friday ხელოვნება იყო 5 × ნოემბერი საშუალო, ხელოვნება 12 საათი. ბიზნეს გამოუშვა 40% წელიწადში. მარკეტინგი იწყებს გადახდილი ხელოვნება მოსახლეობა 20% დან Black Friday ხელოვნება ამ წელი.
იცოდე თქვენი ჭერი
იპოვეთ ჭერი წინა წარმოება აკეთებს
პროგნოზი გვეტყვის რა მოდის. ჭერი ტესტი გვეტყვის თუ სისტემა შეუძლია დამხმარე ეს. Allspaw აწერა ჭერი ტესტი როგორც გაუცდელი შეტანა სიმძლავრე დაგეგმვა: ეს არ იცი თქვენი რეალი სიმძლავრე სანამ ეს ტესტი ეს ზე კონტროლირებული დატვირთვა.
სამი ტიპი ჭერი ტესტი:
- სინთეტიკური დატვირთვა ტესტი: დატვირთვა გენერატორი (k6, Locust, JMeter, vegeta) ძღვება ხელოვნება სამიზნე სერვისი მსჯელობა. გაზარდოს დატვირთვა სანამ რაიმე რეკორდი. რეკორდი წერტილი არის ჭერი. საუკეთესო იზოლირებული სერვისი ტესტი.
- წარმოება ხელოვნება ბულო: მიზნიანად შემცირდა სიმძლავრე წარმოება (დრენაჟი პროცენტი სერვერი, მოკვლა რეგიონი) და დაკვირვება თუ დარჩენილი სიმძლავრე იმ რეალი ხელოვნება. ტესტი ყოველი წარმოება მოუსვენრიდან მათ მიერთებისა. უმაღლესი ნდობა მაგრამ უმაღლესი რისკი.
- ჩრდილი დატვირთვა: თავიდან ხელოვნება წარმოება ხელოვნება სამიზნე სერვისი გაშლილი წარმოება. აღბეჭდი რეალი სამუშაო დატვირთვა რეკორდი (იშვიათი კითხვა კი, უცნაური მომხმარებელი აგენტი) გარეშე ზემოქმედება მომხმარებელი. ძლიერი შუა ადგილი.
სარეზერვო არის ხელოვნება მუშაობს კიდეგან ჭერი. SRE წესი:
- 50% სარეზერვო ამჟამინდელი რეჟიმი ერთი-რეგიონი სერვისი (ასე რეგიონი ჯანმრთელობა არ აღსწავლა დარჩენილი რეგიონი)
- 30% სარეზერვო მრავალი-რეგიონი სერვისი მოკლე N+2 ჭირე
- 100%+ სარეზერვო კიდეგან ცნობილი მწვავე მოვლენა (Black Friday, სპორტი ფინალი)
სარეზერვო არ არის ფიქალი. ეს არის ღირებულება უკან არასთან რეგილი ინჟინერი 3 AM, არა დარღვევა მომხმარებელი დროს მწვავე, და არა იმ ხელოვნება გამზიდელი წარუმატებლობა როდესაც ერთი რეგიონი წაკითხე. ფინანსი გუნდი ზღვარი შემცირდეს სარეზერვო; სიმძლავრე ინჟინერი უნდა აღიქმენ ღირებულება გაშლილი მჭიდროდ ხელოვნება ეს კითხვა ფაქტობრივი ამ ხელოვნება.
დიზაინი ჭერი ტესტი
თქვენ მემკვიდრეობა სერვისი მოკლე არა დოკუმენტირებული სიმძლავრე ჭერი. ამჟამინდელი წარმოება დატვირთვა არის 800 მოთხოვნა წამში სულ 12 სერვერი, საშუალო CPU 35%. მარკეტინგი აუწყებელი კამპანია მოსახლეობა 6 კვირა მოსალოდნელი დრაივ ხელოვნება 3,000 RPS მწვავე.
ზე, გარეთ, ან დიაგონალური
როდესაც დაამატეთ ძალა, დაამატეთ ფოსი, ან ორივე
სამი ძირითადი მასშტაბირება სტრატეგია, თითოეული მოკლე განსხვავებული ღირებულება და ჯანმრთელობა ასალი:
ვერტიკალური მასშტაბირება (მასშტაბირება ზე): მსხვილი მანქანა. ჩასვლა 8-ძირითადი სერვერი მოკლე 32-ძირითადი სერვერი. უმარტივესი გზა; ამუშავებს სანამ თქვენ დაკარ ერთი-მანქანა საზღვრები. ერთი წერტილი წარუმატებლობა დარჩა. ღირებულება იზრდება არა-ხაზოვანი: 32-ძირითადი მანქანა ხშირად ღირს უფრო მეტი 4 × 8-ძირითადი.
ჰორიზონტალური მასშტაბირება (მასშტაბირება გარეთ): მეტი მანქანა. დაამატეთ სერვერი უკან დატვირთვა ბალანსატორი. ტევადობა ხაზოვანი სერვერი დათვლა. წარუმატებლობა რეჟიმი თავმჯდომარე: თქვენ უნდა იმ განაწილებული კოორდინაცია, მაგრამ ერთი სერვერი წარუმატებლობა უბედური უკან სერვისი. ოპერაციული სიბრძნე იზრდება.
დიაგონალური მასშტაბირება (Allspaw ტერმინი): მასშტაბირება ზე პირველი პიტნე კომფორტი სერვერი ზომა, შემდეგ მასშტაბირება გარეთ იქიდან. აერთიანებს უმარტივესი ოპერაციული დიდი სერვერი მოკლე ჭირე ორი სერვერი. ყველაზე წარმოება სერვისი ცხოვრება დიაგონალური მასშტაბირება ტერიტორია.
ჩარჩენილი უპირველესი გამოთვალი ფასიანი: კლაუდი გამომწვევი დაგვას მჯდარობა. ჩარჩენილი ტევადობა 30-60% იაფი უპირველესი ხელოვნება მაგრამ საჭირო 1-3 წელი განზრახვა. სიმძლავრე დაგეგმვის ტიპიკურად ჩაკეტილი მდელი მდელი მოთხოვნა მოკლე ჩარჩენილი ტევადობა და რევი პიკი უპირველესი ხელოვნება. აბ თქვენი ეს გაყოფა შეიძლება ან ფიქალი ფული (ღრმა-ჩარჩენილი) ან ხელი ბიუჯეტი უმოწმო (ზე-ჩარჩენილი პიკი).
ფერმა მაჯი და განკითხული სამუშაო დატვირთვა: 60-90% იაფი უპირველესი ხელოვნება მაგრამ შეიძლება გამოიწვია წუთი უცნობი. დამხმარე ჯგუფი ამოცანა, ანალიტიკა, მწვავე სამუშაო დატვირთვა, ან ნებისმიერი სერვისი დეკორი მშვიდობა შეწყვეტილი. წარმოება მომხმარებელი-წინა ხელოვნება ტიპიკურად თავიდან ფერმა.
აირჩიეთ მასშტაბირება გზა
თქვენი ვიდეო განგრაფი სერვისი ეშლება 8 საშუალო-ზომა კლაუდი მაჯი (8 ძირითადი თითოეული). თქვენ მოლოდინი 3 × ზრდა სულ 6 თვე. სამუშაო დატვირთვა CPU-idden, განგრაფი სერვერი, & თითოეული ვიდეო განგრაფი სჯობია 90 წამი ბოლო-ბოლოს. ჩარჩენილი მაჯი ღირს 50% უპირველესი ხელოვნება. ფერმა მაჯი ღირს 30% უპირველესი ხელოვნება მაგრამ შეიძლება იყოს წყვილი მოკლე 2-წუთი უცნობი.
სიმძლავრე დაგეგმვა ქარიერა
სადაც სიმძლავრე დაგეგმვა უნარი აიღო
სიმძლავრე დაგეგმვა იშვიათი ფუნქცია უფლება თავის. უნარი გამოჩნდება ქვეშ რამდენიმე პოსტი:
მოადგილე ჯანმრთელობა ინჟინერი: სიმძლავრე დაგეგმვა დიახ ძირითადი SRE პასუხისმგებლობა. ყველაზე SRE გუნდი აქვს ერთი ან ორი ინჟინერი ვინც სპეციალი სიმძლავრე, ძენი პროგნოზი მოდელი, ჭერი ტესტი, და მისაკუთრება ოტომატიზირება.
კლაუდი ღირებულება / FinOps ინჟინერი: უფრო ახალი პოსტი ფოკუსი კლაუდი ხარჯი ოპტიმიზაცია. აერთიანებს სიმძლავრე დაგეგმვა ფინანსური მოდელი, კონტრაქტი ხელმოწერა, და ჩარჩენილი-მაჯი ფოლიო მენეჯმენტი. ხელოვნება ძალიან კარგი დიდი კლაუდი-პირი კომპანია რადგან კლაუდი ბილი ხშირად მეორე-ყველაზე დიდი ხარჯი შემდეგ აკრეფლი.
მუშაობა ინჟინერი: ფოკუსი თითო-მოდეს ეფექტურობა და ჭერი ტესტი. ფუნქცია: ამოიღო მოთხოვნა სიმძლავრე რომ იგივე ხელოვნება გლავ ოპტიმიზაცია და არქიტექტურული ცვლილება. მძიმე სისტემა და ენა-აკრეფლი ცოდნა.
სიმძლავრე დაგეგმვა სპეციალი: დიდი კომპანია (Google, Meta, Amazon, Netflix), დამოკიდებული სიმძლავრე დაგეგმვა გუნდი არსებობა. ისინი ძენი პროგნოზი მოდელი სულ ფლოტი, ხელმოწერა მისაკუთრება მასშტაბი, და კოორდინაცია მოკლე ფინანსი ღირებულება-წელი ხელოვნება გეგმა.
უნარი თავი აკაიკი: დროთ-სერია ანალიზი (R, Python statsmodels, Prophet), რიგი თეორია (M/M/1, M/M/c, პატარა ბტენი), სულ მცირე ერთი კონფიგურაცია მართვა ხელი, სულ მცირე ერთი კლაუდი ღირებულება ფიქალი, და 능력 წერთ პროგნოზი ანგარიშ რომელი CFO შეუძლია გაგება და აქ. ტექნიკური უნარი აითენებთ ინტერვიუ; ხელოვნება უნარი აითენებთ ბიუჯეტი.
მოხვევა ზე
რა თქვენ ახლა მოვიდნენ
სიმძლავრე დაგეგმვა უწყვეტი დისციპლინა, არა წელიწადში ერთხელ სავარჯიშო. თქვენ ეწერა:
- კორიდორი შორის ნაკლები და ზედმეტი ოპერაციული
- სამუშაო დატვირთვა სხვა გამოყენება თავი ორი განზომიერება უქმე
- ტენდენცია, სეზონალიობა, და გაურკვევლობა საზღვრები თავი სამი ფენა ყოველი პროგნოზი
- ჭერი ტესტი (სინთეტიკური, ჩრდილი, ხელოვნება რევი) თავი მხოლოდ გზა მოვიდნენ რეალი სიმძლავრე
- სარეზერვო ხელოვნება და რატომ ისინი არ არის ფიქალი
- დიაგონალური მასშტაბირება და ჩარჩენილი/უპირველესი/ფერმა ფასიანი გადაწყვეტილება
- ქარიერა გზა სადაც ეს უნარი აიღო ბიუჯეტი ავტორიტეტი
ორი აზრი აკრეფლი ყველაზე. პროგნოზი მოკლე საზღვრები, არასთან პიკი წერტილი. და განზომა თქვენი ჭერი წინა წარმოება აკეთებს. აუს ორი წინააღმდეგ და დარჩენილი შემდეგ.
რეკომენდირებული კითხვა: Allspaw 'მხელოვნება სიმძლავრე დაგეგმვა' (O'Reilly, 2017 მეორე გამოცემა), შესაბამისი თავი Google SRE წიგნი (უფასო sre.google/books/), და Brendan Gregg 'სისტემა მუშაობა' ხელოვნება ქვემოთ სისტემა ხელოვნება. თავი-მესამე ღირი პატნერი გლიდელი გლიდელი ვიზუალური სტრუქტურა: პატარა-ბტენი ქვეშ, რიგი მრუდი, ტენდენცია ფერდობი, და სარეზერვო კიდე.