MACH mimarisi, Mach sayısı (bir hız ölçüsü) veya GNU Hurd altında yer alan Mach çekirdeği ile ilgili değildir; değiştirilebilir parçalardan kurumsal yazılım oluşturmaya yönelik bir kısaltmadır. MACH, Mikroservisler, API-öncelikli, Bulut Tabanlı ve Başsız anlamına gelir ve 2020'de kurulan kâr amacı gütmeyen bir endüstri kuruluşu olan MACH Alliance tarafından desteklenmektedir. Bu rehber, her bir temel ilkeyi sade bir dille tanımlar, MACH'ı yerini aldığı monolit ve SOA yaklaşımlarıyla karşılaştırır ve bir mikroservis ortamı için kullanacağınız API platformuna bir bakış da dahil olmak üzere nereye uyduğunu gösterir.
MACH Gerçekte Ne Anlama Geliyor
MACH, satın alabileceğiniz bir ürün değil, bir tasarım ilkeleri kümesidir. Her harf bir ilkeyi temsil eder ve bir sistem, ancak dördünü de takip ettiğinde MACH olarak kabul edilir. MACH Alliance bu konuda katıdır: bir veya iki özelliği göstermek yeterli değildir.

İşte kısaltmaya hızlı bir bakış.
| Harf | İlke | Ne Anlama Geliyor |
|---|---|---|
| M | Mikroservisler | Her iş yeteneği, kendi bağımsız olarak dağıtılabilir hizmetidir |
| A | API-öncelikli | Her işlev, koddan önce tasarlanmış bir API aracılığıyla sunulur |
| C | Bulut Tabanlı | Bulut altyapısında SaaS olarak çalışmak üzere tasarlanmıştır, esnek ve yönetilebilir |
| H | Başsız | Ön uç, arka uçtan ayrılmıştır ve API'ler üzerinden iletişim kurar |
Fikir, oluşturulabilirliktir. Her şeyi yapan tek bir büyük ürün yerine, her biri tek bir işi yapan en iyi hizmetleri bir araya getirirsiniz ve geri kalanını yeniden inşa etmeden herhangi birini değiştirebilirsiniz. Bu, daha geniş "oluşturulabilir işletme" hareketinin arkasındaki aynı hedeftir; MACH, oluşturulabilirliği mümkün kılan teknik tariftir.
Mikroservisler
Bir monolit, her özelliği tek bir kod tabanına ve tek bir dağıtıma toplar. Mikroservisler bunu ayırır. Kataloğunuz, sepetiniz, arama ve ödeme mantığınızın her biri, kendi verilerine ve kendi sürüm döngüsüne sahip ayrı bir hizmet haline gelir. Bir ekip, sepet hizmetine hiç dokunmadan salı günü arama hizmetini yayınlayabilir.
Dezavantajı ise operasyonel karmaşıklıktır. Artık birçok hizmet, birçok veritabanı ve aralarında çok sayıda ağ çağrısı çalıştırıyorsunuz. Uzun versiyonunu isterseniz, monolit uygulama ve mikroservisler karşılaştırmasına bakınız.
API-öncelikli
API-öncelikli olmak, API'nin bir sonradan düşünülmüş değil, başlangıç noktası olması demektir. Uygulamayı yazmadan önce sözleşmeyi, uç noktaları, istek ve yanıt yapılarını tasarlarsınız. Bir MACH sistemindeki her yetenek, o API aracılığıyla dış dünyaya ulaşır, bu nedenle sözleşme, gerçek ürün yüzeyi haline gelir.
Bu, ekiplerin günlük çalışma şeklini en çok etkileyen temel ilkedir ve araçların en önemli olduğu yerdir. Buna aşağıda tekrar değineceğiz. İlkeler için API-öncelikli geliştirme konuyu kapsamaktadır.
Bulut Tabanlı
MACH anlamında bulut tabanlı olmak, SaaS'a güçlü bir şekilde eğilir. Bileşenler bulut altyapısında çalışmak üzere inşa edilmiştir ve genellikle yönetilen hizmetler olarak tüketilir. Sunuculara yama yapmaz veya trafik yoğunluğu için kapasite planlamazsınız; hizmet esnek bir şekilde ölçeklenir ve satıcı güncellemeleri yönetir. Bu, "eski uygulamamızı bulutta bir VM'ye taşıdık" ifadesinden farklıdır. Bulut tabanlı olmak, yazılımın baştan o ortam için tasarlandığı anlamına gelir.
Başsız
Başsız mimari, sunum katmanını iş mantığından ayırır. Arka uçta yerleşik bir ön uç bulunmaz; yalnızca API'ler aracılığıyla veri ve operasyonlar sunar. Web siteniz, mobil uygulamanız, akıllı saatiniz, kiosk'unuz veya sesli asistanınız her biri aynı API'leri tüketir ve kendi deneyimlerini oluşturur.
Getirisi erişimdir. Tek bir arka uç birçok ön ucu besleyebilir ve alttaki ticaret motorunu taşımak zorunda kalmadan mağaza cephesini yeniden tasarlayabilirsiniz. Başsız bir API ürün haline gelir, çünkü içeri giden tek yol budur.
MACH ve Monolit ve SOA Karşılaştırması
MACH'ın kendinden önceki kalıplara göre nerede durduğunu görmek faydalıdır.
| Monolit | SOA | MACH | |
|---|---|---|---|
| Dağıtım Birimi | Tek bir uygulama | Bir otobüs üzerindeki geniş hizmetler | İnce taneli mikroservisler |
| Entegrasyon | İşlem içi çağrılar | Kurumsal hizmet veri yolu, genellikle SOAP | Hafif REST/GraphQL API'leri |
| Ön uç | Bağlı, sunucu tarafında işlenen | Genellikle bağlı | Başsız, tamamen ayrık |
| Barındırma | Yönettiğiniz sunucular | Şirket içi veya barındırılan | Bulut tabanlı SaaS |
| Bir bileşeni değiştirme | Yeniden oluştur ve dağıt | Zor, veri yoluna bağlı | Bir hizmeti değiştir |
Bir monolit hızlı başlar ve mantığını anlaması basittir, bu nedenle birçok küçük ekip için hala doğru seçimdir. SOA, sistemleri on yıl önce ayrıştırmaya çalıştı ancak genellikle her şeyi ağır bir hizmet veri yolunda merkezileştirdi ve bu da kendi başına bir darboğaz haline geldi. MACH, ayrıştırma fikrini sürdürür ve veri yolunu kaldırır, hizmetleri basit API'lerle bağlar ve barındırmayı buluta taşır.
MACH esasen, SOA'nın sorduğu sorunun modern, bulut çağındaki yanıtıdır. Daha geniş stil haritasını görmek isterseniz, API mimari stilleri bunları ortaya koyar.
MACH'ı Ne Zaman Benimsemeli (ve Ne Zaman Benimsememeli)
MACH gerçek sorunları çözer, ancak ücretsiz değildir. Kısıtlamalar uygun olduğunda onu benimseyin.
İyi Uyan Durumlar:
- Monolitik bir platformun sınırlarına ulaşıyorsunuz ve her şeyin birlikte yayınlanması nedeniyle sürüm döngüleri yavaş.
- Birden fazla ekibin birbirini engellemeden paralel çalışması gerekiyor.
- İçerik veya ticareti çeşitli kanallara (web, mobil, mağaza içi) sunuyorsunuz ve hepsinin arkasında tek bir arka uç olmasını istiyorsunuz.
- Bir yetenek için tam bir platform değişikliği yapmadan satıcı değiştirmek istiyorsunuz.
İki Kez Düşünün:
- Basit bir ürünü olan küçük bir ekipsiniz. Birçok hizmetin, pipeline'ın ve sözleşmenin operasyonel yükü, bir monolite göre sizi daha çok yavaşlatacaktır.
- Henüz platform becerilerine sahip değilsiniz. MACH, bulut altyapısı, CI/CD ve API tasarımına hakimiyet gerektirir.
- Trafiğiniz ve ekibiniz stabil ve mütevazı. Ödediğiniz esneklik hiçbir zaman kullanılmayabilir.
Yaygın ve dürüst bir yaklaşım, iyi yapılandırılmış bir monolit ile başlamak, ardından belirli sorunlar ortaya çıktıkça hizmetleri ayırmaktır. İlk günden itibaren tam MACH'a geçmek zorunda değilsiniz.
Araç Ekosistemi
MACH tasarım gereği satıcıdan bağımsızdır, ancak tipik bir ortam birkaç kategoriden yararlanır:
- İçerik için Başsız CMS, örneğin Contentstack veya Contentful.
- Commercetools gibi Başsız veya Oluşturulabilir Ticaret motorları.
- Ayrı API hizmetleri olarak Arama ve kişiselleştirme.
- Bulut tabanlı teslimat için CDN ve uç bilişim, genellikle Jamstack tarzı bir ön uç ile eşleştirilir. Netlify'ın Jamstack belgeleri, ayrık ön uç tarafı için faydalı bir referanstır.
- Hizmetler arası trafiği yönlendirmek, güvenliğini sağlamak ve doğrulamak için API ağ geçitleri ve kimlik yönetimi.
Tüm bunları birbirine bağlayan unsur API'dir. Bu listedeki her kutu, bir sözleşme üzerinden diğerleriyle konuşur, bu nedenle bu sözleşmelerin kalitesi tüm sistemin ayakta kalıp kalmayacağını belirler.
API Sözleşmesinin Ürün Haline Geldiği Yer
Bu, MACH'taki "A" harfidir ve en doğrudan kontrol ettiğiniz kısımdır. Başsız, mikroservis tabanlı bir sistemde, kimse hizmetinize sizin oluşturduğunuz bir kullanıcı arayüzü aracılığıyla dokunmaz. API'ye dokunurlar. Bu nedenle sözleşme üründür ve her ürünün aldığı aynı özeni gerektirir: tasarım, maketler, testler ve belgeler.
Apidog, bu iş için API kalite katmanıdır. Bir CMS, bir ticaret motoru veya bir ağ geçidi değildir ve sizin için MACH veya başsız mimari "yapmaz". Sözleşmenin kendisini burada ele alırsınız:
- Tasarım-öncelikli OpenAPI. Her mikroservisin sözleşmesini uygulamadan önce Apidog'da tanımlarsınız, böylece tüketici ekipler baştan şekil üzerinde anlaşır.
- Maket sunucular. Apidog, spesifikasyondan maketler oluşturur, böylece bir ön uç ekibi, sepet hizmeti mevcut olmadan önce sepet API'sine göre geliştirme yapabilir. Ayrık ekipler birbirini engellemeyi bırakır.
- Başsız test yürütme. Apidog CLI, API testlerinizi GUI olmadan, doğrudan CI'da çalıştırır; bu, başsız bir sistemle uyumlu bir yaklaşımdır: sözleşme makineler tarafından doğrulanır, elle tıklanarak değil.
- Agent'lar için MCP. MCP aracılığıyla, API'yi AI agent'ınızdan veya IDE'nizden yönetebilir ve sorgulayabilirsiniz, böylece sözleşme, ekibinizin zaten kullandığı araçlardan erişilebilir kalır.

Bu, Apidog'un rolü konusunda dürüst kalmasını sağlar. API-öncelikli temel ilkeyi üstlenir, böylece hizmetleriniz ortam boyunca iyi tanımlanmış, test edilebilir ve maketlenebilir kalır. Aynı düşünce, MACH'ın size dayattığı zihniyet olan API'yi bir ürün olarak görmek konusunda da ortaya çıkar. Denemek ister misiniz? Apidog'u indirin ve onu bir hizmetin spesifikasyonuna yönlendirin.
Sıkça Sorulan Sorular
MACH ile Oluşturulabilir Mimari Aynı Şey mi?
Yakından ilişkilidirler ancak aynı değillerdir. Oluşturulabilir mimari, daha geniş iş fikridir: yığınızı yeniden birleştirebileceğiniz değiştirilebilir parçalardan oluşturmak. MACH, oluşturulabilirliği mümkün kılan özel teknik kalıptır (mikroservisler, API-öncelikli, bulut tabanlı, başsız). MACH'ı oluşturulabilir bir işletme için mühendislik planı olarak düşünebilirsiniz.
MACH kullanmak için MACH Alliance üyesi olmam gerekiyor mu?
Hayır. MACH Alliance, satıcıları dört ilkeye göre sertifikalandıran kâr amacı gütmeyen bir kuruluştur ve bu, alıcıların gerçek anlamda oluşturulabilir ürünleri tespit etmelerine yardımcı olur. Bir MACH sistemini tamamen üye olmayan araçlardan veya hatta kendi hizmetlerinizden oluşturabilirsiniz. İlkeler açıktır; üyelik bir satıcı sertifikasyonudur, kalıbı kullanma lisansı değildir.
MACH, normal bir mikroservis kurulumundan nasıl farklıdır?
Mikroservisler, dört MACH temel ilkesinden biridir, tümü değildir. Sıkıca bağlı bir ön uca ve şirket içi barındırmaya sahip bir mikroservis arka ucu MACH değildir. MACH, üzerine API-öncelikli disiplini, bulut tabanlı SaaS modelini ve başsız ayrıştırmayı ekler. Hizmetler için altyapı seçiyorsanız, mikroservisler için bir API platformu nasıl seçilir, nelere dikkat etmeniz gerektiğini anlatır.
MACH sadece e-ticaret için mi?
Ticarette başladı; burada bir ödeme veya arama satıcısını platformu tamamen değiştirmeden değiştirmek bariz bir değere sahiptir, ancak bu kalıp, paylaşılan arka uç mantığından birden fazla kanala hizmet verdiğiniz her yerde geçerlidir. Medya, bankacılık, seyahat ve SaaS ürünlerinin tümü MACH tarzı ayrıştırmayı kullanır.
Toparlayacak Olursak
MACH, yazılımı değiştirebileceğiniz parçalardan inşa etmenin bir yoludur: bağımsız dağıtım için mikroservisler, her yeteneğin net bir sözleşmeye sahip olması için API-öncelikli, SaaS olarak ölçeklenebilmesi için bulut tabanlı ve tek bir arka ucun birçok ön ucu beslemesi için başsız. Bunu kullanacak ölçeğe ve ekiplere sahip olduğunuzda güçlüdür, aksi takdirde aşırıdır.
Hangi yöne eğilirseniz eğilin, API sözleşmesi yük taşıyıcı parçadır. Sözleşme ürün olduğunda, onu iyi tasarlayın, erken maketleyin ve CI'da test edin. Apidog, MACH ortamınızın ilk hizmetten son hizmete kadar iyi tanımlanmış kalması için size bu API kalite katmanını sunar.
