A Handbook for the Cloud Native Practitioner
Michael Hausenblas
Linux#
Modern_Linux#
Kernel#
DNS#
DevOps#
Cloud_Native#
tmux#
observability#
اگر از لینوکس در توسعه یا عملیات (Dev یا Ops) استفاده میکنید و به دنبال یک رویکرد ساختاریافته برای یادگیری عمیقتر هستید، این کتاب دقیقاً برای شماست. نویسندهی کتاب، Michael Hausenblas، علاوه بر آموزش مفاهیم کلیدی، نکات و ترفندهایی برای بهبود بهرهوری کاری با این سیستمعامل متنباز ارائه میدهد.
چه توسعهدهنده باشید، چه معمار نرمافزار یا مهندس SRE (Site Reliability Engineer)، این راهنمای عملی بر استفاده روزمره و واقعی از لینوکس تمرکز دارد—از توسعه نرمافزار گرفته تا کارهای روزمره اداری.
این کتاب پلی است بین کاربران لینوکس با تجربهی معمول و کسانی که میخواهند در سطحی عمیقتر، حرفهایتر و مدرنتر از لینوکس در محیطهای واقعی توسعه و عملیات استفاده کنند.
همچنین منبعی ایدهآل برای یادگیری مهارتهای کاربردی مورد نیاز در DevOps، SRE و Cloud Native Engineering است.
If you use Linux in development or operations and need a structured approach to help you dive deeper, this book is for you. Author Michael Hausenblas also provides tips and tricks for improving your workflow with this open source operating system. Whether you're a developer, software architect, or site reliability engineer, this hands-on guide focuses on ways to use Linux for your everyday needs, from development to office-related tasks.
Along the way, you'll gain hands-on experience with modern Linux terminals and shells, and learn how to manage your workloads. You'll understand how to run Linux applications by using containers, systemd, modern filesystems, and immutable distros such as Flatcar and Bottlerocket.
Table of Contents
Chapter 1. Introduction to Linux
Chapter 2. The Linux Kernel
Chapter 3. Shells and Scripting
Chapter 4. Access Control
Chapter 5. Filesystems
Chapter 6. Applications, Package Management, and Containers
Chapter 7. Networking
Chapter 8. Observability
Chapter 9. Advanced Topics
Appendix A. Helpful Recipes
Appendix B. Modern Linux Tools
From the Preface
A warm welcome to Learning Modern Linux! I’m glad that we will walk this journey together for a bit. This book is for you if you’ve already been using Linux and are looking for a structured, hands-on approach to dive in deeper, or if you already have experience and want to get some tips and tricks to improve your flow when working with Linux—for example, in a professional setup, such as development or operations.
We’ll focus on using Linux for your everyday needs, from development to office-related tasks, rather than on the system administration side of things. Also, we’ll focus on the command line, not visual UIs. So, while 2022 might be the year of Linux on the desktop after all, we’ll use the terminal as the main way to interact with Linux. This has the additional advantage that you can equally apply your knowledge in many different setups, from a Raspberry Pi to the virtual machine of your cloud provider of choice.
Before we start, I’d like to provide some context by sharing my own journey: my first hands-on experience with an operating system was not with Linux. The first operating system I used was AmigaOS (in the late 80s), and after that, in technical high school, I mainly used Microsoft DOS and the then-new Microsoft Windows, specifically around the event system and user interface–related development. Then, in the mid- to late 1990s, during my studies at university, I mainly used Unix-based Solaris and Silicon Graphics machines in the university labs. I really only got into Linux in the mid-2000s in the context of big data and then when I started working with containers, first in 2015 in the context of Apache Mesos (working at Mesosphere), and then with Kubernetes (initially at Red Hat on the OpenShift team and then at AWS on the container service team). That’s where I realized that one needs to master Linux to be effective in this space. Linux is different. Its background, worldwide community of users, and versatility and flexibility make it unique.
Linux is an interesting, ever-growing ecosystem of open source individuals and vendors. It runs on pretty much anything under the sun, from the USD 50 dollar Raspberry Pi to the virtual machines of your favorite cloud provider to a Mars vehicle. After 30 years in the making, Linux will likely stick around for some time, so now is a good time to get into Linux a bit deeper.
Let’s first set some ground rules and expectations. In the preface, I’ll share how you can get the most out of this book as well as some administrative things, like where and how you can try out the topics we’ll work through together.
Who is this book for:
This book is for those who want or need to use Linux in a professional setup, such as software developers, software architects, QA testing engineers, DevOps and SRE roles, and similar roles. I’ll assume that if you’re a hobbyist encountering Linux when pursuing an activity such as 3D printing or home improvement, you have very little to no knowledge about operating systems in general or Linux/UNIX in particular. You will get the most out of the book if you work through it from beginning to end, as the chapters tend to build on one another; however, you can also use it as a reference if you’re already familiar with Linux.
Michael is a Principal Developer Advocate at AWS and serves as a Cloud Native Ambassador at CNCF. He focuses on open source observability including but not limited to OpenTelemetry, Prometheus, Fluent Bit, BPF, and service meshes (especially SMI). He’s also interested & proficient in Kubernetes, GitOps, compliance as well as the UX of AWS services.