{"id":336,"date":"2024-10-20T20:07:00","date_gmt":"2024-10-20T20:07:00","guid":{"rendered":"http:\/\/blog.firatyasar.com\/?p=336"},"modified":"2025-03-23T20:11:25","modified_gmt":"2025-03-23T20:11:25","slug":"backstage-ile-sistemlerinizi-modelle-islemi","status":"publish","type":"post","link":"https:\/\/blog.firatyasar.com\/?p=336","title":{"rendered":"Backstage ile Sistemlerinizi Modelle \u0130\u015flemi"},"content":{"rendered":"\n<p>Backstage, yaz\u0131l\u0131m varl\u0131klar\u0131n\u0131z\u0131 merkezi bir \u015fekilde toplamak i\u00e7in g\u00fc\u00e7l\u00fc bir framework&#8217;t\u00fcr. T\u00fcm hizmetlerinizi, bile\u015fenlerinizi, API&#8217;lerinizi ve daha fazlas\u0131n\u0131 d\u00fczenli bir \u015fekilde g\u00f6r\u00fcnt\u00fclemek i\u00e7in m\u00fckemmel bir ara\u00e7t\u0131r. Ancak, t\u00fcm bu varl\u0131klar\u0131 tek bir uzun ve da\u011f\u0131n\u0131k liste halinde sunmak kullan\u0131c\u0131lar\u0131 zorlayabilir. Bu sorunu \u00e7\u00f6zmek i\u00e7in Backstage, <strong>System<\/strong> ve <strong>Domain<\/strong> gibi varl\u0131klar\u0131 kullanarak ekosisteminizi verimli bir \u015fekilde modellemenizi sa\u011flar. Bu iki varl\u0131k, varl\u0131klar\u0131n\u0131z\u0131 kategorize etmenize ve d\u00fczenlemenize yard\u0131mc\u0131 olarak kullan\u0131c\u0131lar\u0131n gezinmesini daha kolay ve anla\u015f\u0131l\u0131r hale getirir.<\/p>\n\n\n\n<h4>System: Detaylardan Ba\u011f\u0131ms\u0131z Birim<\/h4>\n\n\n\n<p><strong>System<\/strong>, Backstage&#8217;teki varsay\u0131lan bir t\u00fcrd\u00fcr ve organizasyonunuzdaki birimi y\u00fcksek seviyede soyutlamay\u0131 sa\u011flar. System varl\u0131\u011f\u0131n\u0131n ana amac\u0131, bir sistemin ne sundu\u011funu kullan\u0131c\u0131ya g\u00f6stermek, ancak bunun nas\u0131l in\u015fa edildi\u011fine dair detaylara girmemektir. Bu soyutlama, karma\u015f\u0131k ekosistemleri y\u00f6netmeyi kolayla\u015ft\u0131r\u0131r \u00e7\u00fcnk\u00fc kullan\u0131c\u0131lar yaln\u0131zca sonuca odaklan\u0131r, alt\u0131nda yatan bile\u015fenlere bakmak zorunda kalmazlar.<\/p>\n\n\n\n<p>Bir system, bir\u00e7ok bile\u015fen ve kayna\u011f\u0131 i\u00e7erebilir, ancak yaln\u0131zca ona ait API&#8217;leri ve ba\u011fl\u0131 oldu\u011fu API&#8217;leri sergiler. Bu, kullan\u0131c\u0131lar\u0131n ihtiya\u00e7 duydu\u011fu veriyi h\u0131zl\u0131ca bulmalar\u0131n\u0131 sa\u011flar, b\u00f6ylece sistemin yap\u0131 ta\u015flar\u0131yla ilgilenmeden sadece gerekli bilgilere ula\u015fabilirler.<\/p>\n\n\n\n<h4>Domain: \u0130\u015f Birimleri ve Ba\u011flant\u0131l\u0131 Sistemler<\/h4>\n\n\n\n<p><strong>Domain<\/strong> de Backstage&#8217;teki varsay\u0131lan bir t\u00fcrd\u00fcr ve sistemleri ve ilgili belgeleri, belirli bir i\u015f birimi veya belirli bir s\u0131n\u0131rland\u0131r\u0131lm\u0131\u015f ba\u011flamla ili\u015fkilendirmek i\u00e7in kullan\u0131l\u0131r. Domain, olduk\u00e7a esnek bir tan\u0131ma sahiptir ve uygulaman\u0131za en uygun \u015fekilde grupland\u0131r\u0131labilir. Bir domain, sistemleri, uygulama alanlar\u0131n\u0131 veya belirli i\u015f birimlerini bir araya getirebilir.<\/p>\n\n\n\n<p>Domainler, Backstage instance\u2019\u0131n\u0131z\u0131n <strong>&#8220;Explore&#8221;<\/strong> sekmesinde g\u00f6r\u00fclebilir. Bu sekmeden kullan\u0131c\u0131lar, bir bile\u015fen veya hizmetin ismini bilmeden, kendilerine uygun bilgiyi daha kolay bulabilirler. Bu, \u00f6zellikle b\u00fcy\u00fck organizasyonlar ve karma\u015f\u0131k yaz\u0131l\u0131m ekosistemlerinde gezinmeyi \u00f6nemli \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r.<\/p>\n\n\n\n<h4>\u0130li\u015fkiler: Varl\u0131klar Aras\u0131ndaki Ba\u011flant\u0131lar<\/h4>\n\n\n\n<p>Backstage&#8217;teki varl\u0131klar, birbirleriyle bir\u00e7ok \u015fekilde ili\u015fkili olabilirler. Bu ili\u015fkiler yaln\u0131zca okunabilir ve y\u00f6nsel olup, bir varl\u0131k ile ba\u015fka bir varl\u0131k aras\u0131ndaki ili\u015fkiyi tan\u0131mlar. T\u00fcm ili\u015fkiler yaz\u0131l\u0131m grafi\u011fine dahil edilir ve bu grafik, her varl\u0131\u011f\u0131n sayfas\u0131nda g\u00f6rselle\u015ftirilebilir.<\/p>\n\n\n\n<p>Backstage\u2019in destekledi\u011fi baz\u0131 temel ili\u015fki t\u00fcrleri \u015funlard\u0131r:<\/p>\n\n\n\n<ul><li><strong>providesApi<\/strong>: Bir bile\u015fenin veya sistemin ba\u015fka bir varl\u0131k taraf\u0131ndan kullan\u0131lmak \u00fczere bir API sa\u011flad\u0131\u011f\u0131n\u0131 ifade eder. <strong>apiProvidedBy<\/strong>, bu ili\u015fkinin di\u011fer y\u00f6n\u00fcd\u00fcr.<\/li><li><strong>consumesApi<\/strong>: Bir bile\u015fenin veya sistemin, ba\u015fka bir varl\u0131k taraf\u0131ndan sa\u011flanan API&#8217;yi kulland\u0131\u011f\u0131n\u0131 g\u00f6sterir. <strong>apiConsumedBy<\/strong>, bu ili\u015fkinin di\u011fer y\u00f6n\u00fcd\u00fcr.<\/li><li><strong>dependsOn<\/strong>: Bir bile\u015fenin ba\u015fka bir varl\u0131\u011fa ba\u011f\u0131ml\u0131 oldu\u011funu ifade eder. \u00d6rne\u011fin, bir web sitesi bile\u015feni, bir k\u00fct\u00fcphane bile\u015feni kullan\u0131yorsa, bu ili\u015fki kullan\u0131l\u0131r. <strong>dependencyOf<\/strong> bu ili\u015fkinin ters y\u00f6n\u00fcd\u00fcr.<\/li><li><strong>parentOf<\/strong> ve <strong>childOf<\/strong>: Varl\u0131klar aras\u0131nda a\u011fa\u00e7 yap\u0131lar\u0131 olu\u015fturmak i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin, gruplar\u0131 modellemek i\u00e7in bu ili\u015fki t\u00fcr\u00fc kullan\u0131l\u0131r. Bu ili\u015fki genellikle <strong>spec.parent<\/strong> ve\/veya <strong>spec.children<\/strong> i\u00e7inde tan\u0131mlan\u0131r.<\/li><li><strong>memberOf<\/strong> ve <strong>hasMember<\/strong>: Kullan\u0131c\u0131lar ve gruplar aras\u0131nda \u00fcyelik ili\u015fkilerini tan\u0131mlar.<\/li><li><strong>partOf<\/strong>: Bir bile\u015fenin veya sistemin daha b\u00fcy\u00fck bir bile\u015fene, sisteme veya domain&#8217;e ait oldu\u011funu ifade eder. Bu ili\u015fki genellikle <strong>spec.system<\/strong> veya <strong>spec.domain<\/strong> i\u00e7inde tan\u0131mlan\u0131r.<\/li><\/ul>\n\n\n\n<h4>Sahiplik: Varl\u0131klar\u0131n Kim Taraf\u0131ndan Sahiplenildi\u011fini Tan\u0131mlama<\/h4>\n\n\n\n<p>Son olarak, Backstage&#8217;teki varl\u0131klar\u0131n sahipli\u011fini nas\u0131l tan\u0131mlayaca\u011f\u0131m\u0131za g\u00f6z atal\u0131m. Sahiplik, her bir bile\u015fen, API, sistem veya domain i\u00e7in sorumlulu\u011fu belirler. Bir varl\u0131\u011f\u0131n yaln\u0131zca bir sahibi olabilir ve bu ki\u015fi veya grup, varl\u0131\u011f\u0131n metadata&#8217;s\u0131n\u0131 y\u00f6netebilecek ve onunla ilgili ana ileti\u015fim noktas\u0131 olacakt\u0131r.<\/p>\n\n\n\n<p>Sahiplik, genellikle <strong>spec.owner<\/strong> i\u00e7inde tan\u0131mlan\u0131r ve <strong>ownedBy<\/strong> ili\u015fkilerini a\u00e7\u0131klar. Sahiplik beyan\u0131, kay\u0131t etti\u011finiz her bile\u015fen, API, kaynak, sistem ve domain i\u00e7in gereklidir. Sahiplik, organizasyonunuzda belirli bir grup veya kullan\u0131c\u0131ya atand\u0131\u011f\u0131nda, bu grup veya kullan\u0131c\u0131, sahip olduklar\u0131 her varl\u0131k i\u00e7in <strong>ownerOf<\/strong> ili\u015fkisini al\u0131r.<\/p>\n\n\n\n<p>E\u011fer zaten <strong>CODEOWNERS<\/strong> dosyas\u0131yla sahiplik y\u00f6netimi yap\u0131yorsan\u0131z, Backstage bu referans\u0131 kullanabilir ve ilgili varl\u0131klar i\u00e7in <strong>spec.owner<\/strong> alan\u0131n\u0131 otomatik olarak doldurabilir. Bu \u00f6zellik, <strong>CodeOwnersProcessor<\/strong> mod\u00fcl\u00fc arac\u0131l\u0131\u011f\u0131yla sa\u011flan\u0131r.<\/p>\n\n\n\n<p>Ayr\u0131nt\u0131l\u0131 bilgi i\u00e7in a\u015fa\u011f\u0131daki linki kullanabilirsiniz:<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.github.com\/en\/repositories\/managing-your-repositorys-settings-and-features\/customizing-your-repository\/about-code-owners\">https:\/\/docs.github.com\/en\/repositories\/managing-your-repositorys-settings-and-features\/customizing-your-repository\/about-code-owners<\/a><\/p>\n\n\n\n<h3>Sonu\u00e7<\/h3>\n\n\n\n<p>Backstage, yaz\u0131l\u0131m varl\u0131klar\u0131n\u0131z\u0131 d\u00fczenli bir \u015fekilde sunman\u0131n yan\u0131 s\u0131ra, organizasyonunuzu modellemenin g\u00fc\u00e7l\u00fc bir yolunu sunar. <strong>System<\/strong> ve <strong>Domain<\/strong> varl\u0131klar\u0131, ekosisteminizi net bir \u015fekilde tan\u0131mlamak ve y\u00f6netmek i\u00e7in m\u00fckemmel ara\u00e7lard\u0131r. Ayr\u0131ca, varl\u0131klar aras\u0131 ili\u015fkiler ve sahiplik yap\u0131lar\u0131, her bile\u015fenin sorumlulu\u011funu ve ba\u011flant\u0131lar\u0131n\u0131 a\u00e7\u0131k\u00e7a tan\u0131mlaman\u0131za yard\u0131mc\u0131 olur. Backstage, yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinizi daha verimli hale getirmek i\u00e7in g\u00fc\u00e7l\u00fc bir yap\u0131 sunar ve bu \u00f6zellikleri kullanarak organizasyonel karma\u015f\u0131kl\u0131\u011f\u0131 y\u00f6netmek daha kolay olacakt\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Backstage, yaz\u0131l\u0131m varl\u0131klar\u0131n\u0131z\u0131 merkezi bir \u015fekilde toplamak i\u00e7in g\u00fc\u00e7l\u00fc bir framework&#8217;t\u00fcr. T\u00fcm hizmetlerinizi, bile\u015fenlerinizi, API&#8217;lerinizi ve daha fazlas\u0131n\u0131 d\u00fczenli bir \u015fekilde g\u00f6r\u00fcnt\u00fclemek i\u00e7in m\u00fckemmel bir ara\u00e7t\u0131r. Ancak, t\u00fcm bu varl\u0131klar\u0131 tek bir uzun ve da\u011f\u0131n\u0131k liste halinde sunmak kullan\u0131c\u0131lar\u0131 zorlayabilir. Bu sorunu \u00e7\u00f6zmek i\u00e7in Backstage, System ve Domain gibi varl\u0131klar\u0131 kullanarak ekosisteminizi verimli bir \u015fekilde\u2026 <span class=\"read-more\"><a href=\"https:\/\/blog.firatyasar.com\/?p=336\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":320,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[127,145,132,144],"_links":{"self":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/336"}],"collection":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=336"}],"version-history":[{"count":1,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":337,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/336\/revisions\/337"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/media\/320"}],"wp:attachment":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}