پشت صحنه. دوره ها چگونه ایجاد می شوند؟

یک شرکت کننده به یک دوره یا دوره فشرده می آید. او ردیف‌های منظم پشتیبانی فنی، کابل‌های برق منظم، چیدمان شطرنجی سالن سخنرانی، تصاویر روشن و نمودارهای اسلاید را می‌بیند. سخنرانان با شوخی و لبخند اطلاعات را به گونه ای در اختیار شما قرار می دهند که شما فقط برای درک آن وقت دارید. غرفه ها برپا شده اند، کارهای تمرینی به سادگی از روی انگشتان شما پرواز می کنند، با این تفاوت که گاهی اوقات به کمک کادر فنی نیاز دارید. حمایت کردن.

و همچنین قهوه استراحت با افراد همفکر، فضایی شاد و پرانرژی، تبادل تجربیات، غیرمنتظره ترین سوالات برای سخنرانان. هم پاسخ‌ها و هم اطلاعاتی که در کتابچه‌های راهنما پیدا نمی‌کنید، بلکه فقط در عمل.

فکر می کنید چقدر زمان، تلاش و اعصاب صرف شد تا دقیقاً اینگونه به نظر برسد؟

پشت صحنه. دوره ها چگونه ایجاد می شوند؟

با تشکر از Volodya Guryanov، مدیر و مهندس/سرگر تیم معتبر Kubernetes در Southbridge، که از همان ابتدا شاهد ایجاد بسیاری از دوره‌های Slurm بوده و فعالانه در آن شرکت کرده است.

او زیربنای طبیعت را دید - پیچیدگی ها و چنگک های خاردار، بینش ها و راه حل های غیرمنتظره. و برنامه‌های فشرده Kubernetes از قبل آشنا، مانند Slurm Basic و Slurm Mega. و یک دوره جدید، تا حد زیادی تجدید نظر شده Slurm DevOps: Tools & Cheats، که به طور اجتناب ناپذیری نزدیک است و از 19 آگوست آغاز خواهد شد.

پشت صحنه. دوره ها چگونه ایجاد می شوند؟

اما، شاید به اندازه کافی اشعار، اجازه دهید به خود داستان برویم. چگونه از یکی دو موضوع فشرده یک کاملا خودکفا و چند وجهی دوره داکر. بنابراین من داستان چگونگی ایجاد و توسعه دوره‌ها را شروع می‌کنم - درست مانند "مدت‌ها پیش در کهکشانی بسیار دور..."

پشت پرده چیست؟

اگر بپرسید که چگونه دوره‌ها را می‌سازیم و همه چیز از کجا شروع می‌شود، من به سادگی پاسخ خواهم داد: «همه چیز با یک ایده شروع می‌شود».

معمولاً این ایده از جایی می آید - ما با دستبند در زیرزمین نمی نشینیم تا زمانی که به این فکر کنیم: "در مورد چه موضوعی باید دوره آموزشی بسازیم؟" ایده ها از جایی به خودی خود از منابع خارجی می آیند. گاهی اوقات مردم شروع به پرسیدن فعالانه می کنند: "در مورد فلان فناوری خاص چه می دانید؟" یا اینکه با داکر چگونه بود که نمی‌توان او را در زمان‌بندی دوره فشرده قرار داد - بدیهی است که باید او را بیرون می‌بردند تا در طول دوره فشرده زمانی برای گفتن چیزی داشته باشد.

پشت صحنه. دوره ها چگونه ایجاد می شوند؟

اینگونه یک ایده ظاهر می شود.

پس از اعلام آن، به نظر من، سخت ترین لحظه شروع می شود - به طور کلی درک آنچه باید در این دوره گنجانده شود - این بسیار قابل مقایسه با نحوه آماده شدن سخنرانان برای هر کنفرانسی است.

وقتی به نظر می‌رسد موضوعی را انتخاب کرده‌اید و فکر می‌کنید: «چه چیزی می‌توانم در مورد آن بگویم، یک درد اصلی وجود دارد؟ این خیلی ساده است، این واضح است، همه این را هم می دانند.»

اما در واقع اصلاً اینطور نیست. و من شخصاً خیلی جاها می گویم که آنچه برای شما بدیهی به نظر می رسد، برای کسانی که می آیند تا به شما گوش دهند یا دوره ای را بگذرانند، اصلاً واضح نیست. و در اینجا چنین لایه بزرگی از کار و تضاد درونی به وجود می آید که چه چیزی در دوره گنجانده شود. در نتیجه، چنین فهرستی از فصول با چنین سکته‌های بزرگ گسترده‌ای به دست می‌آوریم که دوره در مورد آن چه خواهد بود.

و سپس کار معمولی ساده شروع می شود:

  • انتخاب مواد
  • اسناد نسخه فعلی را با دقت بخوانید، زیرا دنیای فناوری اطلاعات اکنون با نوعی سرعت کیهانی در حال توسعه است. حتی اگر با چیزی کار می‌کنید و در مورد آن دوره می‌سازید، باید به مستندات بروید و ببینید چه چیز جدیدی در آنجا وجود دارد، چه چیز جالبی است که در مورد آن صحبت کنید، چه مواردی ممکن است به ویژه مفید باشد.
  • و اسکلت خاصی از دوره ظاهر می شود، که در آن بیشتر موضوعات، به طور کلی، قبلاً پوشش داده شده است و به نظر می رسد که هر آنچه وجود دارد - فیلم ها را ضبط کرده و آنها را به تولید راه اندازی کنید.
  • اما در واقع، نه، پس کار سخت شروع می شود، اما نه برای نویسندگان دوره، بلکه برای کسانی که تست می کنند. معمولاً تسترهای آلفای ما پشتیبانی فنی هستند که اولاً دوره ها را برای هرگونه خطای نحوی و دستوری تصحیح می کند. ثانیاً، آنها ما را به طرز دردناکی با چوب می زنند و وقتی مکان های کاملاً نامشهود و نامفهومی وجود دارد فحش می دهند. وقتی جملات فرعی پیچیده ای که چند صفحه طول می کشند یا مزخرفات آشکار در متون ظاهر می شوند. آنها همه را می خوانند، مراقب آن هستند.
  • سپس مرحله تست تمرین آغاز می شود، جایی که برخی از چیزهای غیرقابل کار آشکار نیز شکار می شوند و لحظاتی نشان داده می شوند که می توانند دشوارتر شوند، زیرا خیلی جالب نمی شود - فقط نشستن و کپی کردن - و مکان هایی مشخص می شود که در آن بسیار است. سخت است و ما کارهای زیادی برای انجام دادن داریم که از افرادی که این دوره را می گذرانند می خواهیم. و سپس توصیه هایی می آید: "بچه ها، اینجا را ساده تر کنید، درک آن آسان تر خواهد شد و سود بیشتری از آن خواهد داشت."
  • بعد از انجام این حجم از کار، قسمت مربوط به ویدیو نوشته می شود، به نظر می رسد همه چیز خوب است. و شما می توانید آن را برای تولید، برای تبلیغات این دوره اهدا کنید. اما باز هم، نه، خیلی زود است - زیرا اخیراً کمی به خود اعتماد نکرده ایم و اصولاً شروع به کار بیشتر با بازخورد کرده ایم. چیزی به نام آزمایش بتا وجود دارد - این زمانی است که افراد از افراد خارجی دعوت می شوند، به هیچ وجه با شرکت ما ارتباط ندارند و برای برخی موارد خوب، تمام قسمت های دوره، فیلم ها، متن ها، کارهای عملی به آنها نشان داده می شود تا آنها کیفیت مطالب، دسترسی به مطالب را ارزیابی کنید و به ما کمک کرد تا دوره را تا حد امکان خوب کنیم.
  • و هنگامی که چندین تکرار از این قبیل انجام می شود، بلندگوها، تست آلفا در قالب پشتیبانی فنی، آزمایش بتا، بهبودها. و سپس همه چیز دوباره شروع می شود - پشتیبانی فنی، آزمایش بتا، بهبودها.
  • و در نقطه‌ای مشخص، این درک به وجود می‌آید که یا ما با تغییرات تمام شده‌ایم، زیرا کاملاً غیرواقعی است که مطمئن شویم همه آن را دوست دارند، یا تصمیم‌های جدی گرفته می‌شود. وقتی بسیاری از نظرات در مورد مکان‌های خاص مهم هستند، آنها را در سطح جهانی دوباره انجام دهید، زیرا مشکلی پیش آمده است.
  • سپس زمان ویرایش های جزئی فرا می رسد - در جایی جمله خیلی خوب فرموله نشده است، جایی که کسی فونت را دوست ندارد، 14,5، اما 15,7 را می خواهد.
  • وقتی این نوع اظهار نظر باقی می ماند، پس تمام است، دوره کمابیش باز می شود، فروش رسمی شروع می شود.

و در نگاه اول، کار کوتاه و ساده ایجاد یک دوره به هیچ وجه ساده نیست و زمان بسیار زیادی طول می کشد.

و یک نکته مهم دیگر اینکه کار با دوره با انتشار دوره تمام نمی شود. ابتدا نظراتی که در قسمت های خاصی گذاشته شده را با دقت می خوانیم. و حتی با وجود تمام تلاش‌هایی که انجام داده‌ایم، هنوز برخی از ایرادات شناسایی شده‌اند، برخی از اشتباهات در طول مسیر اصلاح و بهبود می‌یابند، تا هر کاربر بعدی خدمات بهتری دریافت کند.

پشت صحنه. دوره ها چگونه ایجاد می شوند؟

هر دوره صاحب محصول خود را دارد که علاوه بر تعریف مفهوم کلی، ضرب الاجل ها را بررسی می کند، در حاشیه یادداشت می کند که وقتی زمان بازنویسی کامل دوره فرا می رسد و قطعاً فرا می رسد، زیرا دو سال دیگر یا حتی یک سال بعد، برخی از چیزهایی که می گوییم بی ربط می شوند، فقط به این دلیل که از نظر اخلاقی منسوخ می شوند. صاحب محصول در حاشیه یادداشت می کند که اغلب مردم می پرسند چه نکاتی نامشخص است، چه وظایفی بسیار دشوار به نظر می رسد و برعکس، کدام بسیار ساده به نظر می رسد. و همه اینها هنگام ضبط مجدد دوره، در طی نوعی بازسازی مجدد در نظر گرفته می شود تا هر تکرار دوره جهانی بهتر، راحت تر و راحت تر شود.

دوره ها اینگونه ظاهر می شوند.

چگونه دوره Docker متولد شد

این یک موضوع جداگانه و حتی غیرعادی برای ما است. زیرا از یک طرف برنامه ای برای انجام آن نداشتیم، زیرا بسیاری از مدارس آنلاین آن را ارائه می دهند. از طرف دیگر، او خودش خواستار آزادی شد و در مفهوم ما برای آموزش متخصصان فناوری اطلاعات در Kubernetes جایگاهی منطقی پیدا کرد.

خیلی جهانی صحبت کنیم، در ابتدا همه چیز با یک دوره آموزشی در مورد Kubernetes شروع شد، زمانی که به نظر من بعد از اولین Slurm شروع شد. ما بازخورد جمع‌آوری کردیم و دیدیم که بسیاری از مردم می‌خواهند چیزهای اضافی درباره Docker را در جای دیگری بخوانند، و به طور کلی بسیاری بدون اینکه بدانند چیست به دوره ابتدایی Kubernetes می‌آیند. کارگر بارانداز.

بنابراین، برای Slurm دوم آنها یک دوره ایجاد کردند - یا بهتر است بگوییم، نه حتی یک دوره، بلکه چند فصل در مورد Dockers ساختند. جایی که برخی از ابتدایی ترین چیزها را گفتند تا افرادی که به بخش فشرده می آیند احساس محرومیت نکنند و به طور کلی بفهمند چه اتفاقی دارد می افتد.

پشت صحنه. دوره ها چگونه ایجاد می شوند؟

و سپس وقایع تقریباً به این شکل پیشرفت کردند. مقدار مواد رشد کرد و در عرض 3 روز دیگر جا افتاد. و یک ایده منطقی و واضح ظاهر شد: چرا آنچه را که در Slurm Basic پوشش می‌دهیم به نوعی دوره کوچک تبدیل نکنیم که می‌توانید افرادی را که می‌خواهند چیزی در مورد Docker تماشا کنند قبل از گذراندن یک دوره فشرده در Kubernetes به آن بفرستید.

Slurm Junior در واقع ترکیبی از چندین دوره ابتدایی از این قبیل است. در نتیجه، دوره Docker به بخشی از Slurm Junior تبدیل شد. یعنی این همچین مرحله صفر قبل است پایه ای и عظیم. و سپس فقط انتزاعات بسیار ابتدایی وجود داشت.

پشت صحنه. دوره ها چگونه ایجاد می شوند؟

در نقطه ای، مردم شروع به پرسیدن کردند: "بچه ها، این همه عالی است، این کافی است تا بفهمید در دوره های فشرده در مورد چه چیزی صحبت می کنید. کجا می توانم با جزئیات بیشتری در مورد آنچه که docker می تواند انجام دهد و چگونه با آن کار می کند و چیست مطالعه کنم؟ بنابراین این ایده به وجود آمد که آن را مستقیم کنیم دوره کامل Docker، تا اولاً افرادی که با استفاده از Kubernetes به Slurm می آیند همچنان به آن ارسال شوند و از طرف دیگر برای کسانی که در این مرحله از توسعه حتی علاقه ای به Kubernetes ندارند. به طوری که یک متخصص فناوری اطلاعات می تواند دوره ما در Docker را تماشا کند و مسیر تکاملی خود را به سادگی با Docker خالص آغاز کند. به طوری که ما چنین دوره کامل و کاملی داریم - و سپس بسیاری از آنها با تماشای این دوره و مدتی با Docker خالص کار کرده اند و به سطحی رسیده اند که به Kubernetes یا سیستم ارکستراسیون دیگری نیاز دارند. و به طور خاص به ما مراجعه کردند.

گاهی اوقات این سوال مطرح می شود: "چه نوع افرادی در حال حاضر ممکن است به Kubernetes نیاز نداشته باشند؟" اما این سوال در مورد افراد نیست، بلکه بیشتر در مورد شرکت ها است. در اینجا باید بدانید که Kubernetes موارد خاصی دارد که به خوبی مناسب است و وظایفی دارد که به خوبی آنها را حل می کند، اما برعکس، سناریوهایی برای استفاده از Kubernetes وجود دارد که باعث درد اضافی و رنج اضافی می شود. بنابراین، حتی به افراد بستگی ندارد، بلکه به این بستگی دارد که چه شرکت‌هایی و برای چه مدت در حال توسعه هستند.

به عنوان مثال، برخی از یکپارچگی وحشتناک Legacy - احتمالاً نباید آن را به Kubernetes فشار دهید، زیرا مشکلات بیشتری نسبت به منافع ایجاد می کند. یا مثلاً اگر این پروژه کوچک است، بار کمی دارد یا اصولاً پول و منابع زیادی ندارد. کشیدن آن به Kubernetes فایده ای ندارد.

و به طور کلی، احتمالاً، به طور کلی، همانطور که بسیاری از افراد قبلاً گفته اند، اگر این سؤال را می پرسید: "آیا به Kubernetes نیاز دارم؟"، به احتمال زیاد به آن نیاز ندارید. به نظر من پاشا سلیوانف، به نظر من، اولین بار چه کسی آن را مطرح کرد. من با این 100% موافقم. و شما باید در Kubernetes رشد کنید - و وقتی مشخص شد که من به Kubernetes نیاز دارم و شرکت ما به آن نیاز دارد، و این به حل چنین و مسائلی کمک می کند، پس احتمالاً منطقی است که بروید و دقیقاً نحوه تنظیم را یاد بگیرید. خوب است، به طوری که روند تغییر به Kubernetes خیلی دردناک نیست.

بعضی از ناراحتی های کودکان و بعضی چیزهای ساده و حتی نه خیلی ساده را می توان به طور خاص از ما دریابید و از درد و چنگک خود نگذرید.

بسیاری از شرکت ها دقیقاً راهی را رفته اند که در ابتدا فقط نوعی زیرساخت بدون کانتینر وجود داشت. سپس به نقطه ای رسیدند که مدیریت همه آن دشوار شد، آنها به Docker تغییر مکان دادند و در مقطعی رشد کردند تا جایی که در چارچوب Docker و آنچه ارائه می دهد تنگ شد. و آنها شروع کردند به بررسی آنچه در اطراف وجود دارد، چه سیستم هایی این مشکلات را حل می کنند، و به ویژه Kubernetes - این یکی از آن سیستم هایی است که به شما امکان می دهد مشکلات را در زمانی که Docker خالص شلوغ می شود و فاقد عملکرد می شود، حل کنید، این یک مورد واقعاً خوب است زمانی که مردم آنها گام به گام از پایین به بالا می روند، می فهمند که این فناوری کافی نیست و به سطح بعدی می روند. از چیزی استفاده کردند، دوباره کمیاب شد و به راه افتادند.

این یک انتخاب آگاهانه است - و بسیار جالب است.

به طور کلی، من می بینم که سیستم ما بسیار زیبا ساخته شده است، به عنوان مثال، دوره داکر، حتی از طریق دوره های ویدیویی. سپس بعد از docker می رود Kubernetes اساسیسپس مگا کوبرنتسسپس سف. همه چیز به طور منطقی ردیف می شود - یک شخص می گذرد و یک حرفه محکم ظاهر می شود.

در اصل مجموعه دوره ها به شما این امکان را می دهد که موارد زیادی حتی موارد مدرن را پوشش دهید. هنوز مناطقی وجود دارند که به عنوان یک منطقه خاکستری باقی می مانند، امیدوارم به زودی دوره هایی ایجاد کنیم که به ما امکان می دهد این مناطق خاکستری را ببندیم، به ویژه، ما چیزی در مورد امنیت ارائه خواهیم کرد. زیرا این موضوع بسیار مرتبط است.

به طور خلاصه، ما چند منطقه خاکستری داریم که بستن آنها بسیار خوب است، به طوری که یک تصویر کامل و کامل باشد - و مردم می توانند بیایند، و درست مانند خود Kubernetes مانند سازنده لگو، می توانید چیزهای مختلفی از آنها بسازید. آن را جمع آوری می کند، اگر هنوز به اندازه کافی وجود ندارد - مکمل، همان را با دوره های ما، به طوری که مردم می توانند بفهمند که از این به چه چیزی نیاز دارند؛ آنها باید یک نوع پازل، یک نوع مجموعه ساخت و ساز را از دوره های ما جمع آوری کنند.

پشت صحنه. دوره ها چگونه ایجاد می شوند؟

اگر یک سوال کلی درست و صادقانه از خود بپرسید: "چه کسی می تواند اکنون از دوره فعال Docker استفاده کند؟"، پس:

  • برای دانش آموزانی که تازه شروع به ورود به آن کرده اند.
  • کارکنان بخش تست
  • در واقع، بسیاری از شرکت ها هستند که هنوز نه تنها از Docker استفاده نمی کنند، بلکه هیچ کس نام چنین فناوری را نشنیده و اصولاً نمی دانند چگونه از آن استفاده کنند. و من چندین شرکت بزرگ را در سن پترزبورگ می شناسم که سال هاست در حال توسعه هستند و از برخی فناوری های قدیمی استفاده می کنند، آنها در این مسیر حرکت می کنند. به طور خاص، برای چنین شرکت‌هایی، برای مهندسان در چنین شرکت‌هایی، این دوره می‌تواند بسیار جالب باشد، زیرا اولاً به شما این امکان را می‌دهد که به سرعت در این فناوری غوطه‌ور شوید و ثانیاً به محض اینکه چندین مهندس ظاهر شوند که چگونه همه چیز را درک کنند. کار می کند، آنها می توانند آن را به شرکت بیاورند و این فرهنگ و این جهت گیری ها را در داخل شرکت توسعه دهند.
  • به نظر من، این دوره ممکن است هنوز برای کسانی که قبلاً با docker کار کرده اند مفید باشد، اما بسیار کم و بیشتر به سبک "یک بار انجام بده، دو بار انجام بده" - و اکنون آنها به نوعی با همان Kubernetes تعامل خواهند داشت، و این تعهدات خاصی را بر آنها تحمیل می کند، اگر دانش بسیار سطحی از اینکه داکر چیست، چگونه آن را اجرا کنید، داشته باشید، اما در عین حال نمی دانید که چگونه از درون کار می کند، نمی دانید چه کاری بهتر است انجام دهید. آن و چه کاری بهتر است انجام ندهید، پس این دوره برای نظام مند کردن و تعمیق دانش مناسب است.

اما اگر دانشی در سطح زیر دارید: "من نمی دانم چگونه همان فایل های Docker را به درستی بنویسم، می توانم تصور کنم که فضاهای نام چیست، کانتینرها چگونه کار می کنند، چگونه در سطح سیستم عامل پیاده سازی می شوند" - پس وجود دارد قطعاً رفتن به ما فایده ای ندارد، چیز جدیدی یاد نخواهید گرفت و برای پول و زمان صرف شده اندکی ناراحت خواهید شد.

اگر فرمول بندی کنیم که دوره ما چه مزایایی دارد، آنگاه:

  • ما سعی کردیم این دوره را با تعداد کافی موارد عملی بسازیم که به شما این امکان را می دهد که نه تنها قسمت نظری موجود را درک کنید، بلکه درک کنید که چرا به آن نیاز دارید و چگونه از آن در آینده استفاده خواهید کرد.
  • چندین بخش وجود دارد که به ندرت در جایی یافت می شوند - و به طور کلی مطالب زیادی در مورد آنها وجود ندارد. آنها به تعامل Docker با سیستم عامل، حتی کمی متفاوت، مرتبط هستند. داکر چه مکانیسم‌هایی از سیستم عامل برای پیاده‌سازی سیستم کانتینری‌سازی گرفت - و این درک عمیق‌تری از کل موضوع اجرای کانتینرها در سیستم عامل لینوکس به دست می‌دهد. چگونه کار می کند، چگونه با یکدیگر در داخل سیستم عامل، خارج و غیره تعامل دارد.

این یک نگاه واقعا عمیق است که به ندرت اتفاق می افتد، و در عین حال، به نظر من، بسیار مهم است. اگر می‌خواهید هر فناوری را به خوبی درک کنید و بفهمید که از آن چه انتظاری دارید، باید حداقل یک ایده کلی از نحوه عملکرد آن در سطح پایین داشته باشید.

دوره ما نشان می دهد و می گوید که چگونه این کار از نقطه نظر سیستم عامل کار می کند. از یک طرف، همه سیستم های کانتینری سازی از مکانیزم های سیستم عامل یکسانی استفاده می کنند. از سوی دیگر، آنها آنچه را که در سیستم عامل لینوکس وجود دارد، مانند داکر می گیرند. سایر سیستم‌های کانتینری‌سازی هیچ چیز جدیدی ارائه نکردند - آنها آنچه را که قبلاً در لینوکس بود برداشتند و فقط یک بسته‌بندی مناسب نوشتند که به شما امکان می‌دهد به سرعت آن را فراخوانی، اجرا کنید یا به نحوی با آن تعامل کنید. همین Docker یک لایه خیلی بزرگ بین سیستم عامل و خط فرمان نیست، یک نوع ابزار است که به شما امکان می دهد برای ایجاد یک کانتینر، کیلوتن دستورات یا نوعی کد C بنویسید، بلکه این کار را با وارد کردن انجام دهید. چند خط در ترمینال

و یک چیز دیگر، اگر به طور خاص در مورد Docker صحبت می کنیم، آنچه Docker واقعاً به دنیای فناوری اطلاعات آورده است استانداردها هستند. برنامه چگونه باید راه اندازی شود، چگونه باید کار کند، الزامات لاگ ها، شرایط مورد نیاز برای مقیاس بندی، پیکربندی خود برنامه چیست.

از بسیاری جهات، داکر در مورد استانداردها است.

استانداردها نیز به سمت Kubernetes حرکت می کنند - و دقیقاً همان استانداردها وجود دارد؛ اگر می دانید چگونه برنامه خود را به خوبی در Docker اجرا کنید، در 99٪ مواقع در Kubernetes نیز به خوبی کار می کند.

اگر نه تنها به نحوه ایجاد دوره Docker، بلکه به دوره های دیگر نیز علاقه مند شدید، بلکه از نظر عملی به خود دوره نیز علاقه مند هستید، پس هنوز زمان برای خرید آن با تخفیف 5000 روبلی تا 30 جولای وجود دارد.

ما خوشحال خواهیم شد که شما را ببینیم!

منبع: www.habr.com

اضافه کردن نظر