کتاب Managing Cloud Native Data on Kubernetes: Architecting Cloud Native Data Services Using Open Source Technology (مدیریت دادههای Cloud Native در Kubernetes: معماری خدمات دادههای بومی ابری با استفاده از فناوری منبع باز) آموزش کار با کوبرنتیز در قسمت مدیریت دادههای در رایانش ابری را آموزش میدهد.
در ادامه مقدمهای از کتاب Managing Cloud Native Data on Kubernetes را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Managing Cloud Native Data on Kubernetes:
آیا Kubernetes برای بارهای کاری Stateful آماده است؟
شاید این سؤالی باشد که شما را وادار به باز کردن این کتاب کرد. از زمانی که محاسبات ابری برای اولین بار ظهور کرد، زیرساخت داده (NoSQL/NewSQL، جریان، تجزیه و تحلیل) و زیرساخت برنامه (Docker، Kubernetes) به سرعت اما در مسیرهای جداگانه رشد کردند.
به نظر ما، زمان آن فرا رسیده است که این دو حوزه را با یکدیگر رسمی کنیم. این یک آرزو برای آینده نیست؛ این در حال حاضر با همکاری در جوامع مختلف اتفاق میافتد. سازمانهایی که در تلاش برای مدیریت دو پشته مجزا برای برنامهها و دادهها هستند، به زودی خود را در یک نقطه ضعف رقابتی خواهند دید.
در چند سال اول وجود Kubernetes پس از راهاندازی عمومی آن در سال ۲۰۱۴، این اصل که برای دادهها و بارهای کاری دولتی آماده نیست به ندرت مورد تردید قرار میگرفت. نمونهای از خرد غالب را میتوان در این توییت کلسیهایتاور از سال ۲۰۱۸ یافت:
Kubernetes پیشرفتهای زیادی در توانایی اجرای بارهای کاری حالتدار از جمله پایگاه دادهها و صفهای پیام ایجاد کرده است، اما من همچنان ترجیح میدهم آنها را در Kubernetes اجرا نکنم.
در طول چند سال گذشته، جزر و مد تغییر کرده است. مهندسان حل مسأله این چالش را از کلسی گرفتند و آن را به عمل تبدیل کردند. به نوعی، بلوغ Kubernetes برای بارهای کاری دولتی اجتناب ناپذیر بود، زیرا تقاضا بسیار زیاد بود. کسانی از ما که میتوانند استدلالهایی را در مورد اینکه چرا پایگاه داده باید روی یک ماشین فلزی خالی اجرا میشد یا اینکه چرا هرگز نباید زیرساخت داده را در کانتینرها مستقر کنید، به خاطر بسپارید، میتوانیم با این نگرانی ارتباط برقرار کنیم.
ما همچنین آموختهایم که بین «هرگز» و «هنوز نه» تفاوت زیادی وجود دارد. محاسبات، ذخیرهسازی، شبکه در حال حاضر به عنوان کالا در نظر گرفته میشود. چرا مدیریت دادهها نیست؟ ارزش پیشنهادی Kubernetes برای کاهش هزینه و سادهسازی توسعه برنامه به این معنی است که مهاجرت زیرساخت داده به Kubernetes اجتناب ناپذیر بود. تغییرات فقط در Kubernetes نیست. همانطور که خواهید دید، پروژهها در زیرساخت داده نیز در حال تغییر هستند.
بیشتر بخوانید: کتاب Kubernetes Cookbook
چرا ما کتاب Managing Cloud Native Data on Kubernetes را نوشتیم؟
زمانی که مسئولیتهای \”کار روزانه\” ما در DataStax ما را به چالش کشید تا چگونگی استقرار و کارکرد مؤثر Apache Cassandra در Kubernetes را درگیر روند انتقال بارهای کاری حالتی به Kubernetes کرد. با روحیه توسعه منبع باز، ما به دنبال تمرینکنندگان دیگری بودیم که با پایگاههای داده و سایر حجمهای کاری دولتی، کارهای مشابهی را انجام میدادند (و موفق میشدند). ما گروهی از افراد همفکر را پیدا کردیم و به راهاندازی Data on Kubernetes Community (DoKC) در سال ۲۰۲۰ کمک کردیم.
DoKC اکنون یک سازمان مستقل است و بیش از ۱۰۰ جلسه و چندین رویداد حضوری را میزبانی کرده است. تنوع موضوعات و ارائهدهندگان در جلسه DoKC گواه بر وجود یک جامعه پر جنب و جوش است که به طور مشترک برای ایجاد استانداردها و بهترین شیوهها کار میکنند. مهمتر از همه، ما با هم یاد میگیریم، درسهای گذشته را به کار میگیریم و از یکدیگر حمایت میکنیم تا چیزی جدید بسازیم.
با شرکت در این جلسات، مجموعهای از موضوعات مشترک شروع به ظهور کردند. بارها و بارها، مزیتهای زیرسیستم PersistentVolume، مزایا و معایب StatefulSets، وعده الگوی اپراتور برای مدیریت پذیرتر کردن عملیات پایگاه داده، و نکات اولیهایدهها برای انواع جدید مدیریت داده را شنیدیم.
با گذشت زمان، ما به این باور قوی دست یافتیم که این جامعه نوپا از تمرینکنندگان به مکانی نیاز دارد تا همه خرد پراکنده در چندین ارائه و پستهای وبلاگ جمعآوری و به شکل قابل هضم تقطیر شوند. کتاب Managing Cloud Native Data on Kubernetes نتیجه این فرآیند است.
کارهای زیادی در زمینه دادههای بومی ابری باید انجام شود، و بسیاری از مناطق نیاز به کاوش بیشتری دارند، از جمله اپراتورها، یادگیری ماشین، APIهای داده، مدیریت اعلامی مجموعههای داده و بسیاری موارد دیگر. امید ما این است که کتاب Managing Cloud Native Data on Kubernetes دروازههایی را برای سیل کتابها، وبلاگها، ارائهها و منابع آموزشی اضافی باز کند.
بیشتر بخوانید: کتاب Platform Engineering on Kubernetes
کتاب Managing Cloud Native Data on Kubernetes برای چه افرادی است؟
مخاطبان اصلی این کتاب توسعهدهندگان و معمارانی هستند که در حال طراحی، ساختن و اجرای برنامههای کاربردی در فضای ابری هستند. اگر این شما را توصیف میکند و این کتاب را انتخاب میکنید، به احتمال زیاد گلهای از سازمانها را شنیدهاید که Kubernetes را پذیرفتهاند و به این روند پیوستهاید یا حداقل به آن فکر میکنید.
با این حال، ممکن است شما نیز در مورد بارهای کاری حالتی در Kubernetes صحبتهایی را شنیده باشید و به دنبال کمک برای ادامه کار هستید. شما جای درست آمدهاید! با مطالعه کتاب Managing Cloud Native Data on Kubernetes به موارد زیر دست خواهید یافت:
- درک منابع اولیه Kubernetes و نحوه استفاده از آنها برای ایجاد زیرساخت داده
- قدردانی از اینکه چگونه ابزارهایی مانند Helm و اپراتورها میتوانند استقرار و عملیات زیرساخت داده در Kubernetes را خودکار کنند.
- توانایی ارزیابی و انتخاب فناوریهای زیرساخت داده برای استفاده در برنامههای کاربردی شما
- دانش نحوه ادغام این فناوریهای زیرساخت داده در پشته کلی شما
- نگاهی به فناوریهای نوظهور که برنامههای کاربردی مبتنی بر Kubernetes شما را در سالهای آینده بهبود میبخشد
یک مخاطب کوچکتر اما نه کمتر مهم شامل توسعهدهندگان اصلی Kubernetes و توسعهدهندگان زیرساخت داده است که بسیاری از آنها را از طریق DoKC ملاقات کردهایم. ماامیدواریم که مجموعهای مشترک از اصول و بهترین شیوهها ایجاد کنیم که بتوانیم از آنها به عنوان چارچوبی برای ایجاد پیشرفت در هسته Kubernetes و همچنین زیرساخت داده ساخته شده برای اجرا در Kubernetes استفاده کنیم. با هم میتوانیم تمرین دادهها را در Kubernetes به جلو ببریم.
برای همه، بدانید که هدف ما در کتاب Managing Cloud Native Data on Kubernetes شلیک مستقیم است. در جایی که فناوری بالغ و مستحکم است، به شما اطلاع خواهیم داد، اما حوزههای بسیاری نیز وجود دارد که این فناوری هنوز در حال ظهور است. ما مطمئن خواهیم شد که مناطقی را که نیاز به بهبود دارند برجسته میکنیم.
چگونه کتاب Managing Cloud Native Data on Kubernetes را بخوانیم؟
این کتاب برای خواندن از ابتدا تا انتها طراحی شده است، به خصوص توسط خوانندگانی که تجربه کمتری با Kubernetes دارند. چند فصل اول کتاب Managing Cloud Native Data on Kubernetes، اصطلاحات و مفاهیم Kubernetes را معرفی میکند که در ادامه کتاب به آنها اشاره میشود، زیرا ما در مورد موضوعات پیشرفتهتر بحث میکنیم. در اینجا نحوه تنظیم این کتاب آمده است:
فصل ۱، «مقدمهای بر زیرساخت دادههای بومی ابری: تداوم، جریان، و تجزیه و تحلیل دستهای»
این فصل از کتاب Managing Cloud Native Data on Kubernetes هدف مدرنسازی اپلیکیشنهای بومی ابری شما را با قرار دادن نه تنها بارهای کاری بدون حالت، بلکه به صورت وضعیتی در Kubernetes بیان میکند. البته ما این را میگوییم، اما واقعاً باید از اینجا شروع کنید، زیرا ما اهداف و اصطلاحات کلیدی را تعریف میکنیم تا به همه خوانندگان شرایط بازی مساوی بدهیم. به طور خاص، ما تعریفی را برای واژه دادههای بومی ابری پیشنهاد میکنیم و اصولی را برای زیرساخت دادههای بومی ابری تعریف میکنیم که برای اندازهگیری فناوریها در بقیه کتاب استفاده خواهیم کرد.
فصل ۲، «مدیریت ذخیرهسازی داده در Kubernetes»
در این فصل از کتاب Managing Cloud Native Data on Kubernetes، ما به یکی از زمینههای اساسی زیرساخت داده در Kubernetes نگاه خواهیم کرد: ذخیرهسازی. ما با نحوه عملکرد ذخیرهسازی در سیستمهای کانتینری شروع میکنیم که با Docker شروع میشود، سپس به Kubernetes و زیرسیستم PersistentVolume آن میرویم. ما در مورد انواع مختلف ذخیرهسازی موجود از جمله ذخیرهسازی فایل، بلوک واشیاء و معاوضه استفاده از راه حلهای ذخیرهسازی محلی در مقابل راه دور بحث خواهیم کرد.
فصل ۳، «پایگاههای اطلاعاتی در مورد Kubernetes به روش سخت»
این فصل از کتاب Managing Cloud Native Data on Kubernetes، منابع محاسباتی Kubernetes مانند Pods، Deployments و StatefulSets را معرفی میکند و شما را در فرآیند گام به گام استقرار پایگاههای داده مانند MySQL و Apache Cassandra با استفاده از این منابع راهنمایی میکند. شما با برخی از نقاط قوت و ضعف StatefulSets برای مدیریت پایگاههای داده توزیع شده آشنا خواهید شد.
فصل ۴، «استقرار خودکار پایگاه داده در Kubernetes با Helm»
در ادامه مضامین فصل قبل، استقرار MySQL و Cassandra در Kubernetes را مجدداً بررسی میکنیم، این بار به صورت خودکارتر با استفاده از مدیریت بسته Helm. همچنین در مورد منابع Kubernetes که به پیکربندی از جمله ConfigMaps و Secrets کمک میکند، آشنا خواهید شد. ما نقش Helm را در فرآیند کلی DevOps و مجموعه ابزار CI/CD و برخی از کاستیهای آن در رابطه با مدیریت عملیات پایگاه داده را مورد بحث قرار میدهیم.
فصل ۵، «مدیریت خودکار پایگاه داده در Kubernetes با اپراتورها»
این فصل از کتاب Managing Cloud Native Data on Kubernetes، با معرفی الگوی اپراتور و نشان دادن اینکه چگونه اپراتورها میتوانند به مدیریت عملیات پایگاه داده «روز دوم» کمک کنند، توالی ما در مورد استقرار پایگاه داده به پایان میرسد. با استفاده از Vitess (MySQL) و Cass Operator (Apache Cassandra) به عنوان مثال، اپراتورها چگونه صفحه کنترل Kubernetes را برای مدیریت پایگاههای داده گسترش میدهند. در طول مسیر، یاد خواهید گرفت که چگونه بلوغ اپراتورها را ارزیابی کنید و حتی چگونه اپراتورهای خود را با استفاده از چارچوبهایی مانند Operator SDK بسازید.
فصل ۶، «ادغام زیرساخت داده در پشته Kubernetes»
در این فصل از کتاب Managing Cloud Native Data on Kubernetes، ما شروع به گسترش تمرکز فراتر از استقرار و راهاندازی پایگاههای اطلاعاتی میکنیم تا در نظر بگیریم که چگونه پایگاههای داده و سایر زیرساختهای داده میتوانند در پشته برنامه کلی شما گنجانده شوند. ما پروژهای به نام K۸ssandra را بررسی خواهیم کرد که Apache Cassandra را به همراه ابزارهایی برای مدیریت نظارت، امنیت و پشتیبانگیری از پایگاه داده و یک لایه API برای دسترسی آسانتر به دادهها ادغام میکند.
فصل ۷، «پایگاه داده بومی Kubernetes»
در این مرحله، ما یک گام به عقب برمیداریم و آنچه را که در نیمه اول کتاب Managing Cloud Native Data on Kubernetes درباره مدیریت دادههای بومی ابری آموختهاید، خلاصه میکنیم و از آن دانش برای بررسی این سؤال استفاده میکنیم که «پایگاه داده بومی Kubernetes چیست؟ » این بحث بیش از صرفاً یک بحث در مورد کلمات کلیدی صنعت، برای شما که درگیر انتخاب زیرساخت داده و توسعه آن زیرساخت هستید، یک بحث مهم است.
فصل ۸، «جریانگذاری دادهها در Kubernetes»
فراتر از تداوم، کار را از طریق بقیه زیرساختهای داده آغاز میکنیم و از فناوریهای پخش شروع میکنیم. جابجایی و پردازش دادهها در برنامههای کاربردی بومی ابری به اندازه پایداری پایگاهداده رایج است، اما به استراتژیهای متفاوتی در استقرار نیاز دارد: اتصال نقاط پایانی ایمن و ایجاد انعطافپذیری و کشش پیشفرض. در این فصل، Apache Pulsar و Apache Flink برای نشان دادن آن شیوههای مهم برای ساخت استفاده خواهند شد.
فصل ۹، «تجزیه و تحلیل دادهها در Kubernetes»
از قضا، نیاز به استقرار تجزیه و تحلیل در مقیاس بزرگ بخشی از داستان منشأ بسیاری از روشهایی است که امروزه در Kubernetes استفاده میشود – یعنی ارکستراسیون و مدیریت منابع. در حال حاضر، اجرای تجزیه و تحلیل در Kubernetes در حال حاضر در بسیاری از سازمانها اولویت اصلی است. ما تغییرات را در Apache Spark برجسته میکنیم تا به شما در مورد استفادهتان راهاندازی کنید و با پروژههای Dask و Ray به برتری تجزیه و تحلیل در Kubernetes نگاه کنید.
فصل ۱۰، «یادگیری ماشین و سایر موارد استفاده نوظهور»
موضوعات هوش مصنوعی و یادگیری ماشینی در حال حاضر در زیرساختها در حال پیشرفت هستند. پروژههایی که در چند سال گذشته شروع شدهاند میتوانند ابتدا در Kubernetes شروع شوند، و این نکته جالبی است که باید در نظر گرفت.
انواع دیگری از پروژهها وجود دارد که ابتدا بر حسب فضای ابری فکر میکنند و برای آینده دادهها جهت دهی میکنند. این فصل از کتاب Managing Cloud Native Data on Kubernetes، به منظور بررسی آن پروژهها است و به طور گسترده به عنوانایدهها و روششناسی ارائه میشود تا در حین حرکت به سمت دادههای بومی ابری در نظر بگیرید.
فصل ۱۱، «انتقال حجم کار داده به Kubernetes»
تمام دانشی که در خواندن کتاب به دست آوردهاید، اگر آن را عملی نکنید، هدر میرود. در این فصل از کتاب Managing Cloud Native Data on Kubernetes، آموزههای کلیدی فصلهای قبلی را برجسته میکنیم و چارچوبی از افراد، فرآیندها و تغییرات فناوری را پیشنهاد میکنیم که میتوانید برای انتقال موفقیتآمیز بارهای کاری حالتی خود به Kubernetes ایجاد کنید. ما با یک چشم انداز از اینکه زیرساخت داده سازمان شما در آینده نزدیک چگونه میتواند باشد نتیجهگیری میکنیم.
رشته مدیریت داده در Kubernetes یک رشته نوظهور با تغییرات زیادی در زمینههای خاص است. ما تصدیق میکنیم که کتاب Managing Cloud Native Data on Kubernetes، مانند هر کتاب فنی، تصویری از دانش موجود در یک مقطع زمانی خاص – در این مورد، اواخر سال ۲۰۲۲ را نشان میدهد. تبدیل شود.
برای پرداختن به این واقعیت، فرمول رایجی را مشاهده خواهید کرد که در کتاب Managing Cloud Native Data on Kubernetes به کار رفته است: ما مثالهای زیادی ارائه میکنیم، اما بر اصول اساسی تأکید میکنیم. با پیشرفت در کتاب، فناوری که بررسی میکنیم به تدریج کمتر بالغ میشود. بهجای جستجوی پاسخ کپی و جایگذاری یا معماری یکاندازه، ما شما را تشویق میکنیم که اصول اصلی را که میتوانید در موارد استفاده منحصر به فرد خود اعمال کنید استخراج کنید.
به طور خاص، از آنجایی که فصلهای ۲ تا ۵ کتاب Managing Cloud Native Data on Kubernetes، به موضوعات کاملاً ثابت میپردازند، توضیحات عمیقتر و مثالهای عملی بیشتری را در این فصلها خواهید یافت.
فصلهای ۸ تا ۱۰ کتاب Managing Cloud Native Data on Kubernetes وارد زیرساختهای دادهای میشوند که هنوز هم تغییرات زیادی را تجربه میکنند، حداقل از نظر استقرار در Kubernetes. در این موارد، ما بیشتر به منابع یادگیری شخص ثالث اشاره میکنیم تا مطمئن باشید که به روزترین تجربه را خواهید داشت. با توجه به شروع این کتاب، ما شما را تشویق میکنیم که منابع جدیدی را که پیدا کردهاید با دیگران به اشتراک بگذارید تا بتوانیم با هم به جلو برویم.
سرفصلهای کتاب Managing Cloud Native Data on Kubernetes:
- Cover
- Copyright
- Table of Contents
- Foreword
- Preface
- Chapter 1. Introduction to Cloud Native Data Infrastructure: Persistence, Streaming, and Batch Analytics
- Chapter 2. Managing Data Storage on Kubernetes
- Chapter 3. Databases on Kubernetes the Hard Way
- Chapter 4. Automating Database Deployment on Kubernetes with Helm
- Chapter 5. Automating Database Management on Kubernetes with Operators
- Chapter 6. Integrating Data Infrastructure in a Kubernetes Stack
- Chapter 7. The Kubernetes Native Database
- Chapter 8. Streaming Data on Kubernetes
- Chapter 9. Data Analytics on Kubernetes
- Chapter 10. Machine Learning and Other Emerging Use Cases
- Chapter 11. Migrating Data Workloads to Kubernetes
- Index
- About the Authors
- Colophon
جهت دانلود کتاب Managing Cloud Native Data on Kubernetes میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.