Yazılım mimarı, gerekli gereksinimlere dayalı olarak tanımlanmış operasyonel ve teknik ihtiyaçları karşılamak için yönetim, performans ve güvenlik gibi kalite alanlarında yapısal çözümler tasarlayan kişidir. Bir programlama projesinde kodlamaya başlamadan önce projeyi hazırlayın. Bu projede, veritabanı analizi, programlama dili, dağıtım (yayın) ve yöntemler gibi özelliklerle bir uygulama yazılımı mimarisi oluştururlar. 

Bu mimariler, günümüz teknolojisinin gelişmesiyle ihtiyaç duyuldukça çeşitlenmektedir. Yazılım projelerinde yekpare mimari, mimari tasarımın temelini oluşturuyordu.Monolitik kelime, modülleri bağımsız olarak yürütülemeyen, yazılımda kodlanmış tek bir yazılım yöntemidir. Tüm uygulamanın bir bütün olarak geliştirildiği mimari yekpare mimari olarak da bilinir. Burada tüm işlevler tek bir pakette sağlanır. Yekpare mimari, uygulamaları dağıtmak için basit bir çerçeve sağlar. Bir paket tüm sistemi başlatır ve dağıtır.

Uygulamayı geliştirmek yani aynı uygulamanın çalışacağı altyapıyı kurmak için load balancer arkasına uygulamayı çalıştıran sunucuları eklemek ve kaldırmak yeterlidir. Bununla birlikte, genel olarak, uygulama tek parça olduğu için kullanışsız ve karmaşıktır. Sıkıca bağlı bileşenlerden birinin arızalanması, tüm sistemin arızalanmasına yol açarak geliştirme ve bakımı zaman içinde zorlaştırır. 
Yani yekpare sistemdeki bir programın herhangi bir yerinde hata oluşursa tüm servisler çalışmayı durdurur. Bu sorunları çözmek için zaman içinde katmanlı mimariler, hizmet odaklı mimariler ve mikro hizmet mimarileri geliştirilmiştir.

Mikro hizmetler, temelde bir uygulamada belirli bir özellik veya işlevsellik sağlayan ve tek bir amaca hizmet eden bağımsız yazılım hizmetleridir. Teknolojiler ve platformlar birbirinden bağımsızdır. Her hizmetin kendi iş ve etki alanı kuralları  vardır. Servisler birbirleriyle  farklı mimariler aracılığıyla iletişim kurar. Bu, hizmetlerin bağımsız olarak sürdürülmesine, izlenmesine ve dağıtılmasına olanak tanır.
mimarisi 

Microservice, SOA mimarisine dayalı bir mimaridir, yani "Services Oriented Architecture". SOA, uygulamaların  tek bir bilgisayarda veya bir ağdaki birden çok bilgisayarda üst üste dağıtıldığında, hizmetlerin dağıtık bir sistem üzerinde iletişim kurmasını sağlayan bir mimaridir. Her iki mimari de istemci-sunucu veya istemci-sunucu mimarisinden türetilmiştir. Kendi tarzında, mikro hizmetler mimarisi SOA'nın bir uzantısı olarak görülebilir. 

Ancak, bir mikro hizmet mimarisinin tasarım ilkeleri, hizmet odaklı bir mimarininkilerle tam olarak eşleşmez.SOA'dan farklılıklar var. SOA kurumsal düzeyde bir mimaridir, mikro hizmetler mimarisi ise uygulama düzeyinde bir mimaridir. 

mikro hizmet mimarisinin temel özelliklerinden biri, herhangi bir veri yapısını paylaşmamasıdır. Her mikro hizmetin kendi veri deposu vardır (veritabanı tablosu veya şeması gibi). Yani herkes kendi veri modelinden ve verilerinden sorumludur.Diğer hizmetler, sahip olmadıkları depolama alanına erişemez. Mikro hizmetler, API'ler olarak adlandırılan arabirimler aracılığıyla basit protokoller kullanarak iletişim kurabilir. 

Genellikle API GATEWAY olarak adlandırılan, sisteme benzersiz bir giriş noktası oluşturulur. Sisteme istekte bulunan kullanıcılar, doğrudan mikro hizmetlere değil, sistem aracılığıyla istekte bulunurlar. Yönlendirme ve yetkilendirme gibi şeylerin yapıldığı yer burasıdır.Bu teknikle, istekler arka planda birden çok mikro hizmete gönderilebilir. Son olarak, kullanıcıya tek bir sonuç döndürülür. 

Her mikro hizmet, çok az bağımlılıkla diğer hizmetlerle serbestçe çalışır. Bu hizmetler bağımsızdır ve tek bir özellik (veya bir grup ortak özellik) sağlar.