في أي system كبير بيبقى عندك المعادلة الصعبة دي: إزاي تعطي المستخدم أداء عالي وفي نفس الوقت ما تصرفش كتير على resources مش محتاجها؟ الحل بيبدأ من إنك تراقب الـ system صح. جوجل في كتاب Site Reliability Engineering (SRE) اقترحت ٤ مؤشرات أساسية وسَمّتهم: The Golden Signals. الإشارات دي بقت الأساس لأي observability strategy ناجحة.
لما بتشغل تطبيق على Kubernetes، الـscheduler هو اللي بياخد قرار يحدد فيه الـpod هتروح على أنهي node. لكن أحياناً بتحتاج تتحكم في القرار ده بنفسك عشان تضمن إن الـpods اللي محتاجة موارد معينة (زي GPUs أو SSDs) تروح على الـnodes اللي فيها الموارد دي بس. فيه أكتر من طريقة للتحكم ده، كل واحدة ليها استخدامها ودرجة تعقيدها.
في عالم التكنولوجيا السريع، الشركات بقت محتاجة تنشر تطبيقاتها بسرعة وكفاءة من غير أي أخطاء. الطريقة التقليدية، اللي بتعتمد على تدخل الإنسان في كل خطوة، بقت بطيئة وكلها مشاكل. هنا بيظهر دور الـ DevOps، اللي بيهدف لربط التطوير والتشغيل عشان العمليات دي تبقى سلسة وأوتوماتيكية. لكن حتى مع أدوات الـ DevOps، لسه فيه تحديات كبيرة، خاصة لما بنتعامل مع حاويات (Containers) ومنصات ضخمة زي Kubernetes. هنا بيجي دور ArgoCD. إيه هو ArgoCD؟ في المقال ده هانتكلم عن ArgoCD، مفاهيمه ومكوناته وإزاي ممكن تستفيد بيه.
لو بتشتغل في عالم الـ microservices، أكيد قابلت السؤال ده: إزاي نأمن التواصل بين كل خدمة والتانية من غير ما ندخل في دوخة شهادات TLS ومتابعة صلاحيتها وتجديدها؟ هنا بييجي دور Istio
الـ Microservices بقت من أشهر الطرق اللي الشركات بتبني بيها أنظمة كبيرة ومعقدة. بدل ما يبقى عندك تطبيق ضخم وصعب تعديله، بتقسمه لخدمات صغيرة مستقلة. كل خدمة ليها وظيفتها، وده بيخلي التطوير أسرع و أسهل في الصيانة. بس الحقيقة الموضوع مش بالبساطة دي. فيه مشاكل كتير بتظهر لما تيجي تدير الـ microservices، خصوصًا في الحاجات اللي مشتركة بينهم كلهم: زي الـ logging، الـ monitoring، الـ security، أو حتى التعامل مع الـ configs… ده اللي هانحاول نلمسه في المقالة دي وازاي k8s ممكن يساعد.