توسعهٔ پیشرفتهٔ پلتفرم با کلاستر کوبرنتیس: فعالسازی مدیریت داده، اینترنت اشیا، بلاکچین و یادگیری ماشین
Advanced Platform Development with Kubernetes : Enabling Data Management, the Internet of Things, Blockchain, and Machine Learning
معرفی کتاب «توسعهٔ پیشرفتهٔ پلتفرم با کلاستر کوبرنتیس: فعالسازی مدیریت داده، اینترنت اشیا، بلاکچین و یادگیری ماشین» (با عنوان لاتین Advanced Platform Development with Kubernetes : Enabling Data Management, the Internet of Things, Blockchain, and Machine Learning) نوشتهٔ Craig Johnston، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2020. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
در دنیای امروز که فناوریهای نوظهوری مانند اینترنت اشیا، بلاکچین و یادگیری ماشین به سرعت در حال تغییر چهرهٔ صنایع هستند، نیاز به بسترهایی یکپارچه و قدرتمند برای مدیریت و توسعهٔ این فناوریها بیش از پیش احساس میشود. کتاب «توسعهٔ پیشرفتهٔ پلتفرم با کلاستر کوبرنتیس: فعالسازی مدیریت داده، اینترنت اشیا، بلاکچین و یادگیری ماشین» نوشتهٔ کریگ جانستون، که در سال ۲۰۲۰ توسط انتشارات معتبر اسپرینگر (آپرس) منتشر شده است، پاسخی جامع و کاربردی به این نیاز رو به رشد است. این کتاب با زبانی فنی و مثالهایی عینی، نشان میدهد که کوبرنتیس چگونه به عنوان قلب تپندهٔ توسعهٔ پلتفرمهای سازمانی، امکان پذیرش سریع این فناوریها را فراهم میآورد.
دربارهٔ کتاب توسعهٔ پیشرفتهٔ پلتفرم با کلاستر کوبرنتیس: فعالسازی مدیریت داده، اینترنت اشیا، بلاکچین و یادگیری ماشین
کتاب حاضر با هدف پر کردن شکاف بین دانش پایهٔ کوبرنتیس و کاربردهای پیشرفتهٔ آن در ساخت پلتفرمهای سازمانی نگاشته شده است. نویسنده با تمرکز بر روی فناوریهایی که زیرساخت اینترنت اشیا، بلاکچین و یادگیری ماشین را قدرت میبخشند، خواننده را در سفری عملی برای ساخت پلتفرمهایی با قابلیتهای روز دنیا همراهی میکند. این کتاب صرفاً به مبانی نظری نمیپردازد، بلکه با ارائهٔ مثالهای عملی و کدهای نوشتهشده به زبانهای گولنگ و پایتون، چگونگی تعامل با رابط برنامهنویسی کوبرنتیس و پیادهسازی توابع سرورلس سفارشی را به طور گامبهگام آموزش میدهد. از نقاط قوت این اثر، پوشش گستردهٔ طیفی از فناوریهای روز و نحوهٔ یکپارچهسازی آنها در یک بستر واحد است. خواننده با نحوهٔ پیادهسازی و اتصال ابزارهای کلیدی مانند کافکا (Kafka)، نایفای (NiFi)، پایپلاینهای پردازش داده، موتورهای پرسوجوی توزیعشده و محیطهای علم داده آشنا میشود. این رویکرد جامع، کتاب را به مرجعی ارزشمند برای کسانی تبدیل میکند که به دنبال درک تصویر بزرگی از توسعهٔ پلتفرم با کوبرنتیس هستند.
دربارهٔ نویسنده
کریگ جانستون (Craig Johnston)، نویسندهٔ کتاب، یک مهندس نرمافزار با بیش از ۲۵ سال سابقه و مدیر ارشد فناوری در شرکت Deasil Cognitive است. تخصص او حوزههایی چون معماری میکروسرویسها، هوش مصنوعی، الگوریتمها، یادگیری ماشین و فناوری بلاکچین را در بر میگیرد. تجربهٔ عملی او در راهاندازی و مدیریت پلتفرمهای تجاری مبتنی بر کوبرنتیس، به کتاب اعتباری کاربردی و مبتنی بر پروژههای واقعی بخشیده است. پیشینهٔ حرفهای او شامل سمت مدیر تحقیق و توسعه در شرکت نامآشنای نپستر و همکاری با شرکتهای زیرمجموعهٔ یونیورسال و سونی بوده است که او را در خط مقدم فناوریهای نوظهور قرار داده است. جانستون با هدف به اشتراکگذاری دانش حاصل از سالها تجربهٔ عملی، این کتاب را به عنوان راهنمایی برای پیشرفت از یک آشنایی مقدماتی با کوبرنتیس تا پروژههای سازنده و پیشرفته نگاشته است.
چرا باید توسعهٔ پیشرفتهٔ پلتفرم با کلاستر کوبرنتیس: فعالسازی مدیریت داده، اینترنت اشیا، بلاکچین و یادگیری ماشین را بخوانید؟
مبانی مستحکم و پیشرفته: شما را از نصب و پیکربندی کوبرنتیس بر روی ماشینهای مجازی و سرورهای فیزیکی، تا پیادهسازی مفاهیم پیشرفتهای چون یکپارچهسازی و استقرار مداوم (CI/CD) و سرورلس پیش میبرد.
یکپارچهسازی فناوریهای روز: به طور عملی با چگونگی به کارگیری ابزارهای کلیدی و محبوب مانند کافکا، نایفای، اسپارک، کاساندرا، و الاستیکسرچ در کنار یکدیگر برای ساخت یک پلتفرم منسجم آشنا میشوید.
کاربرد در حوزههای پیشرو: میآموزید که چگونه از کوبرنتیس برای ایجاد بسترهایی قدرتمند جهت اجرای برنامههای اینترنت اشیا، شبکههای بلاکچین با اتریوم و پلتفرمهای یادگیری ماشین و علم داده استفاده کنید.
دیدگاه جامع به توسعهٔ پلتفرم: این کتاب با پوشش دادن موضوعاتی از دریاچهها و انبارههای داده تا موتورهای پرسوجو و مسیریابی داده، دیدی ۳۶۰ درجه به چالشها و راهحلهای موجود در این حوزه ارائه میدهد.
رویکرد عملی و مبتنی بر مثال: تمرینها و مثالهای فراوان کتاب که با زبانهای گولنگ و پایتون ارائه شدهاند، به شما امکان میدهند مفاهیم را در عمل پیادهسازی کرده و درک عمیقتری از تواناییهای کوبرنتیس پیدا کنید.
این کتاب برای چه کسانی مناسب است؟
مخاطبان اصلی این کتاب، معماران نرمافزار و سیستم، توسعهدهندگان فولاستک، برنامهنویسان و مهندسان دواپس هستند که پیشزمینهای در زمینهٔ ساخت و استفاده از کانتینرها دارند. همچنین این اثر برای افرادی که تازه با کوبرنتیس آشنا شدهاند و به دنبال فراتر رفتن از مثالهای مقدماتی و ورود به پروژههای واقعی و حرفهایتر هستند، منبعی ایدهآل و راهگشا محسوب میشود. به طور کلی، این کتاب برای هر فرد یا سازمانی که به دنبال استفاده از کوبرنتیس برای توسعهٔ یک پلتفرم موفق داده و برنامههای کاربردی است، یک انتخاب عالی به شمار میرود.
سوالات متداول
آیا این کتاب برای افراد مبتدی در حوزهٔ کوبرنتیس مناسب است؟
بله، اگرچه کتاب به مباحث پیشرفته میپردازد، اما پیشفرض آن داشتن درکی مقدماتی از مفاهیم کانتینر و کوبرنتیس است. هدف کتاب راهنمایی خوانندگان برای حرکت از مرحلهٔ آشنایی پایه به سمت انجام پروژههای سازنده و پیشرفتهتر است، بنابراین افرادی که با مثال "سلام دنیا" در کوبرنتیس کار کردهاند، مخاطب اصلی آن هستند.
تمرکز اصلی کتاب بر روی چه جنبهای از کوبرنتیس است؟
برخلاف بسیاری از منابع که صرفاً بر روی مدیریت و ارکستراسیون کانتینرها تأکید دارند، این کتاب بر روی کاربرد کوبرنتیس به عنوان بستری برای توسعهٔ پلتفرمهای سازمانی و یکپارچهسازی فناوریهای نوین مانند اینترنت اشیا، بلاکچین و یادگیری ماشین متمرکز است. این یک راهنمای عملی برای ساخت پلتفرمهایی با قابلیتهای روز دنیا محسوب میشود.
آیا کتاب محتوای کدنویسی و عملی دارد؟
بله، یکی از ویژگیهای بارز این کتاب، رویکرد کاملاً عملی آن است. نویسنده با استفاده از زبانهای گولنگ و پایتون، مثالها و تمرینهای متعددی را برای پیادهسازی مفاهیم ارائه کرده است. این مثالها شامل نحوهٔ تعامل با رابط برنامهنویسی کوبرنتیس، ساخت توابع سرورلس سفارشی، و راهاندازی پایپلاینهای داده است که به درک بهتر و کاربردیتر مطالب کمک شایانی میکند.
Leverage Kubernetes for the rapid adoption of emerging technologies. Kubernetes is the future of enterprise platform development and has become the most popular, and often considered the most robust, container orchestration system available today. This book focuses on platforming technologies that power the Internet of Things, Blockchain, Machine Learning, and the many layers of data and application management supporting them. Advanced Platform Development with Kubernetes takes you through the process of building platforms with these in-demand capabilities. You'll progress through the development of Serverless, CICD integration, data processing pipelines, event queues, distributed query engines, modern data warehouses, data lakes, distributed object storage, indexing and analytics, data routing and transformation, query engines, and data science/machine learning environments. You'll also see how to implement and tie together numerous essential and trending technologies including: Kafka, NiFi, Airflow, Hive, Keycloak, Cassandra, MySQL, Zookeeper, Mosquitto, Elasticsearch, Logstash, Kibana, Presto, Mino, OpenFaaS, and Ethereum. The book uses Golang and Python to demonstrate the development integration of custom container and Serverless functions, including interaction with the Kubernetes API. The exercises throughout teach Kubernetes through the lens of platform development, expressing the power and flexibility of Kubernetes with clear and pragmatic examples. Discover why Kubernetes is an excellent choice for any individual or organization looking to embark on developing a successful data and application platform. What You'll Learn Configure and install Kubernetes and k3s on vendor-neutral platforms, including generic virtual machines and bare metal Implement an integrated development toolchain for continuous integration and deployment Use data pipelines with MQTT, NiFi, Logstash, Kafka and Elasticsearch Install a serverless platform with OpenFaaS Explore blockchain network capabilities with Ethereum Support a multi-tenant data science platform and web IDE with JupyterHub, MLflow and Seldon Core Build a hybrid cluster, securely bridging on-premise and cloud-based Kubernetes nodes Who This Book Is For System and software architects, full-stack developers, programmers, and DevOps engineers with some experience building and using containers. This book also targets readers who have started with Kubernetes and need to progress from a basic understanding of the technology and "Hello World" example to more productive, career-building projects. Table of Contents About the Author About the Technical Reviewer Acknowledgments Chapter 1: Software Platform and the API Software Applications vs. Software Platforms Dependency Management and Encapsulation Network of Applications Application Platform Platform Requirements Platform Architecture Platform Capabilities IoT Ingestion of Data Edge Gateway IoT OS Blockchain Private Managed Blockchains Use Cases Machine Learning Automation and Management Core Components Configuration Application Parameters Ingress Data Management Metrics APIs and Protocols Summary Chapter 2: DevOps Infrastructure Cloud Computing Cloud Native and Vendor Neutral Redundancy Portable Platforms Getting Started Vendor Neutral DevOps Toolchain Repositories Registries CI/CD GitLab for DevOps k3s + GitLab Server Setup Configure DNS Install k3s Remote Access Install Cert Manager/Let’s Encrypt Install GitLab Namespace TLS Certificate Services ConfigMap Deployment Ingress Disable Sign-up Summary Next Steps Chapter 3: Development Environment Custom Development Kubernetes Cluster Nodes Server Setup Prepare Nodes Install Dependencies Install WireGuard VPN Install Docker Install Kubernetes Utilities Install Master Node Join Worker Nodes DNS Remote Access Configuration Repository Ingress TLS/HTTPS with Cert Manager Persistent Volumes with Rook Ceph Block Storage Shared Filesystem Monitoring Summary Chapter 4: In-Platform CI/CD Development and Operations Platform Integration Yet Another Development Cluster RBAC GitLab Group Kubernetes Access Configure Kubernetes Cluster Integration Enable Dependencies Custom JupyterLab Image Repository and Container Source Local Testing Port-Forwarding Test Notebook Additional Learning Automation GitLab CI .gitlab-ci.yml Kaniko Integrated Environment Variables Running a Pipeline Manual Testing in Kubernetes Prepare Namespace Run Notebook Repository Access GitOps Summary Chapter 5: Pipeline Statefulness and Kubernetes Real-Time Data Architecture Message and Event Queues Distributed Streaming Platform MQTT and IoT Development Environment Cluster-Wide Configuration Data Namespace TLS Certificates Basic Auth Apache Zookeeper Apache Kafka Kafka Client Utility Pod Mosquitto (MQTT) Summary Chapter 6: Indexing and Analytics Search and Analytics Data Science Environment Development Environment TLS Certificates Basic Auth ELK Elasticsearch Logstash Kibana Data Lab Keycloak Realm, Client, and User Namespace JupyterHub JupyterLab Kubernetes API Kafka Elasticsearch Mosquitto (MQTT) Summary Chapter 7: Data Lakes Data Processing Pipeline Development Environment Data Lake as Object Storage MinIO Operator MinIO Cluster MinIO Client MinIO Events Process Objects Configure Notifications Event Notebook Test Data Containerized Application Programmatic Deployments Serverless Object Processing Summary Chapter 8: Data Warehouses Data and Data Science Data Platform Development Environment Data and Metadata Sources MySQL MySQL Operator MySQL Cluster Apache Cassandra Cassandra Operator Cassandra Cluster Apache Hive Containerization Local Hive Testing Modern Data Warehouse Hive Kubernetes Configuration Test Data Create Schema Presto Kubernetes Configuration Query Summary Chapter 9: Routing and Transformation ETL and Data Processing Development Environment Serverless OpenFaaS Install OpenFaaS Install Sentiment Analysis ETL Apache NiFi Install Apache NiFi Example ETL Data Pipeline NiFi Template Prepare Elasticsearch Dataflow Analysis and Programmatic Control Analysis and Visualization Programming NiFi Summary Chapter 10: Platforming Blockchain Private Blockchain Platform Development Environment Private Ethereum Network Bootnodes Bootnode Registrar Ethstats Geth Miners Geth Transaction Nodes Private Networks Blockchain Interaction Geth Attach Jupyter Environment Serverless/OpenFaaS Summary Chapter 11: Platforming AIML Data Hybrid Infrastructure Development Environment DNS k3s Hybrid Cloud Kilo VPN Master Node Worker Nodes On-premises GPU GPU/CUDA Install Ubuntu NVIDIA GPU Support k3s with NVIDIA Runtime IoT / Raspberry Pi Raspberry Pi OS WireGuard k3s on Raspberry Pi Node Roles Install Kilo Platform Applications Data Collection MQTT IoT Client ETL Apache NiFi Python CronJob Machine Learning Automation Jupyter Notebook GPU Support CUDA Data Science Container JupyterHub Spawner Options Model Development MLflow Installation Tracking Models Deploy Artificial Intelligence Seldon Core Summary Index Leverage Kubernetes for the rapid adoption of emerging technologies. Kubernetes is the future of enterprise platform development and has become the most popular, and often considered the most robust, container orchestration system available today. This book focuses on platforming technologies that power the Internet of Things, Blockchain, Machine Learning, and the many layers of data and application management supporting them. Advanced Platform Development with Kubernetes takes you through the process of building platforms with these in-demand capabilities. You'll progress through the development of Serverless, CICD integration, data processing pipelines, event queues, distributed query engines, modern data warehouses, data lakes, distributed object storage, indexing and analytics, data routing and transformation, query engines, and data science/machine learning environments. You'll also see how to implement and tie together numerous essential and trending technologies including: Kafka, NiFi, Hive, Keycloak, Cassandra, MySQL, Zookeeper, Mosquitto, Elasticsearch, Logstash, Kibana, Presto, Mino, OpenFaaS, Ethereum, WireGuard, MLflow and Seldon Core. The book uses Golang and Python to demonstrate the development integration of custom container and Serverless functions, including interaction with the Kubernetes API. The exercises throughout teach Kubernetes through the lens of platform development, expressing the power and flexibility of Kubernetes with clear and pragmatic examples. Discover why Kubernetes is an excellent choice for any individual or organization looking to embark on developing a successful data and application platform. What You'll Learn · Configure and install Kubernetes and k3s on vendor-neutral platforms, including generic virtual machines and bare metal · Implement an integrated development toolchain for continuous integration and deployment · Use data pipelines with MQTT, NiFi, Logstash, Kafka and Elasticsearch · Install a serverless platform with OpenFaaS · Explore blockchain network capabilities with Ethereum · Support a multi-tenant data science platform and web IDE with JupyterHub, MLflow and Seldon Core · Build a hybrid cluster, securely bridging on-premise and cloud-based Kubernetes nodes Leverage Kubernetes for the rapid adoption of emerging technologies. Kubernetes is the future of enterprise platform development and has become the most popular, and often considered the most robust, container orchestration system available today. This book focuses on platforming technologies that power the Internet of Things, Blockchain, Machine Learning, and the many layers of data and application management supporting them. Advanced Platform Development with Kubernetes takes you through the process of building platforms with these in-demand capabilities. You'll progress through the development of Serverless, CICD integration, data processing pipelines, event queues, distributed query engines, modern data warehouses, data lakes, distributed object storage, indexing and analytics, data routing and transformation, query engines, and data science/machine learning environments. Youll also see how to implement and tie together numerous essential and trending technologies including: Kafka, NiFi, Hive, Keycloak, Cassandra, MySQL, Zookeeper, Mosquitto, Elasticsearch, Logstash, Kibana, Presto, Mino, OpenFaaS, Ethereum, WireGuard, MLflow and Seldon Core. The book uses Golang and Python to demonstrate the development integration of custom container and Serverless functions, including interaction with the Kubernetes API. The exercises throughout teach Kubernetes through the lens of platform development, expressing the power and flexibility of Kubernetes with clear and pragmatic examples. Discover why Kubernetes is an excellent choice for any individual or organization looking to embark on developing a successful data and application platform. What You'll Learn: Configure and install Kubernetes and k3s on vendor-neutral platforms, including generic virtual machines and bare metal ; Implement an integrated development toolchain for continuous integration and deployment ; Use data pipelines with MQTT, NiFi, Logstash, Kafka and Elasticsearch ; Install a serverless platfor m with OpenFaaS ; Explore blockchain network capabilities with Ethereum ; Support a multi-tenant data science platform and web IDE with JupyterHub, MLflow and Seldon Core ; Build a hybrid cluster, securely bridging on-premise and cloud-based Kubernetes nodes