Репост из: Jakhongir Rakhmonov - IT
Microservices are evil 👿
Ha, to'g'ri o'qidingiz. Mikroservislar yomon. Ular dasturchilarning samaradorligini tushiradi, juda sekin ishlay boshlashlariga sabab bo'ladi, kodni qiyinlashtiradi va sekinlashtiradi. Undan tashqari yana bir qancha muammolar olib keladi. Mikroservislar hech qachon monolitlarga tenglasha olmaydi bu jihatdan.
Lekin nega unda Mikroservislar shuncha haypga sabab bo'ldi? Nega hamma ularni ishlatishga, o'rganishga harakat qiladi?
Sababi bitta: boshqa yaxshiroq iloji yo'q.
Siz qilgan produktning foydalanuvchilar soni ko'paygan sari, severlaringizga yuk oshgan sari, siz qurgan produktingizni bo'lishga majbur bo'lasiz. Monolitngizni mikroservislarga bo'lasiz. Bitta katta ma'lumotlar bazasini bir nechta kichikroq bazachalarga bo'lasiz. Ha, aytganimdek ular ishingizni juda ham qiyinlashtiradi. Lekin sizning yangi millionlab foydalanuvchilaringiz sizning produktingizdan foydalanishda davom etishadi.
Bitta muammoni ikkinchi muammo yordamida yechgan bo'lasiz. Bu holatda ikkinchi muammo (mikroservislar) birinchi muammodan (produktingiz yukni ko'tara olmay, ishlamay qolishidan) kichikroq. Hayot davom etadi.
Bu holatni huddi Saraton (Rak) kassaligi va uning davolash usuliga, yani Kimyoterapiyaga solishtirsa bo'ladi. Kimyoterapiya ham odam organizmi uchun juda juda juda katta zarar. Nega unda dunyo bo'ylab aynan shu usuldan foydalaniladi?
Sababi bitta: boshqa yaxshiroq iloji yo'q.
Bitta muammoni ikkinchi muammo yordamida yechgan bo'lasiz. Bu holatda ikkinchi muammo (Kimyoterapiya) birinchi muammodan (Saraton kasalligidan kelib chiqqan o'limdan) kichikroq. Hayot davom etadi.
Tushindingiza? Mikroservislarni faqatgina majbur bo'lganda ishlatish kerak.
Ba'zi bir dasturchilar va kompaniyalar haypga berilib, 10ta foydalanuvchisi yo'q bo'lgan produktlarini mikroservislar yordamida qurishni boshlashadi. Natijada dasturchilar juda sekin ishlashadi, kodda xatolar ko'p bo'ladi, o'zgartirish juda qiyin bo'ladi. Pul olib keladigan foydalanuvchilar yo'q, lekin millionlab foydalanuvchisi bor produktlarda bor bo'lgan muammolar bor. "Worst of the both worlds" deyiladi ingliz tilida. Borib borib korxonada pul qolmasligi mumkin, yoki tezroq ishlaydigan raqib kompaniya bozorni egallab qo'yishi mumkin. Chunki ular mikroservis ishlatmaganda boshidayoq.
Hype Driven Development yaxshilikka olib kelmaydi odatda.
O'zi asli kodni o'zi bu "evil". Iloji boricha kodsiz hal qilgan yaxshi ishlarni. Kodni faqat majbur bo'lganda yozish kerak.
@jakhonrakhmonov
Ha, to'g'ri o'qidingiz. Mikroservislar yomon. Ular dasturchilarning samaradorligini tushiradi, juda sekin ishlay boshlashlariga sabab bo'ladi, kodni qiyinlashtiradi va sekinlashtiradi. Undan tashqari yana bir qancha muammolar olib keladi. Mikroservislar hech qachon monolitlarga tenglasha olmaydi bu jihatdan.
Lekin nega unda Mikroservislar shuncha haypga sabab bo'ldi? Nega hamma ularni ishlatishga, o'rganishga harakat qiladi?
Sababi bitta: boshqa yaxshiroq iloji yo'q.
Siz qilgan produktning foydalanuvchilar soni ko'paygan sari, severlaringizga yuk oshgan sari, siz qurgan produktingizni bo'lishga majbur bo'lasiz. Monolitngizni mikroservislarga bo'lasiz. Bitta katta ma'lumotlar bazasini bir nechta kichikroq bazachalarga bo'lasiz. Ha, aytganimdek ular ishingizni juda ham qiyinlashtiradi. Lekin sizning yangi millionlab foydalanuvchilaringiz sizning produktingizdan foydalanishda davom etishadi.
Bitta muammoni ikkinchi muammo yordamida yechgan bo'lasiz. Bu holatda ikkinchi muammo (mikroservislar) birinchi muammodan (produktingiz yukni ko'tara olmay, ishlamay qolishidan) kichikroq. Hayot davom etadi.
Bu holatni huddi Saraton (Rak) kassaligi va uning davolash usuliga, yani Kimyoterapiyaga solishtirsa bo'ladi. Kimyoterapiya ham odam organizmi uchun juda juda juda katta zarar. Nega unda dunyo bo'ylab aynan shu usuldan foydalaniladi?
Sababi bitta: boshqa yaxshiroq iloji yo'q.
Bitta muammoni ikkinchi muammo yordamida yechgan bo'lasiz. Bu holatda ikkinchi muammo (Kimyoterapiya) birinchi muammodan (Saraton kasalligidan kelib chiqqan o'limdan) kichikroq. Hayot davom etadi.
Tushindingiza? Mikroservislarni faqatgina majbur bo'lganda ishlatish kerak.
Ba'zi bir dasturchilar va kompaniyalar haypga berilib, 10ta foydalanuvchisi yo'q bo'lgan produktlarini mikroservislar yordamida qurishni boshlashadi. Natijada dasturchilar juda sekin ishlashadi, kodda xatolar ko'p bo'ladi, o'zgartirish juda qiyin bo'ladi. Pul olib keladigan foydalanuvchilar yo'q, lekin millionlab foydalanuvchisi bor produktlarda bor bo'lgan muammolar bor. "Worst of the both worlds" deyiladi ingliz tilida. Borib borib korxonada pul qolmasligi mumkin, yoki tezroq ishlaydigan raqib kompaniya bozorni egallab qo'yishi mumkin. Chunki ular mikroservis ishlatmaganda boshidayoq.
Hype Driven Development yaxshilikka olib kelmaydi odatda.
O'zi asli kodni o'zi bu "evil". Iloji boricha kodsiz hal qilgan yaxshi ishlarni. Kodni faqat majbur bo'lganda yozish kerak.
@jakhonrakhmonov