Ders 05 / 10
Paylaşılan Sorumluluk Modeli
Sağlayıcı ile müşteri sınırının ölçüsü: 24 kalemlik sorumluluk matrisinde sağlayıcıya geçen kalemin 6'dan 16 ve 20'ye çıkması, boşlukta kalan kalemin 2, 4 ve 5, çakışan kalemin 2, 4 ve 2 olması, sekiz olayın toplam 56, 73 ve 68 turda kapanması ve bu turların 28, 35 ve 35'inin yalnız boşluktan gelmesi, sekiz olaydan 4, 5 ve 4'ünün veri kaybıyla kapanması, çıkışta taşınan kalemin 18'den 8 ve 4'e inmesi.
İçindekiler
Önceki ders kiralamanın bedelini paraya çevirdi ve bir kalemi adıyla saydı: işletim emeği. Kendi donanımında o emek tek bir sayıdır ve tümü kurumundur. Kiralamada bir kısmı sağlayıcıya geçer — ama tam olarak hangi kısmı? Bu ders o sınırı çizer ve çizginin iki yanında değil, üstünde ne olduğunu sayar.
Paylaşılan sorumluluk, bir hizmetin ayakta ve güvende kalması için gereken işlerin sağlayıcı ile müşteri arasında bölünmesidir. M20’nin devir sözleşmesiyle aynı biçimdedir ama sınırı başka yerdedir: orada iş yazan ekip ile işleten ekip arasında bölünüyordu ve iki taraf da aynı kurumdaydı; burada sınırın öte yanı bir sözleşmedir ve karşı taraf masaya oturmaz. Bu fark tek bir yeni sınıf üretir: bir kalem hiç kimsenin olabilir.
Sorumluluk Matrisi
Örnek, kursun kurgu bölgesel ölçüm ağıdır: okuma toplayıcı, doğrulayıcı, faturalama ve iş emri servisleri, gecelik toplu iş, beş ekip. Ağ da servisler de kurgudur; aşağıdaki matris bir modeldir, gerçek bir sağlayıcı, sözleşme ya da olay kaydı yoktur.
BK25: sorumluluk matrisi 24 kalemdir; her kalem üç hizmet modelinde sağlayıcıda, müşteride ya da paylaşılandır. BK26: paylaşılan kalem üç biçimde davranır — sağlam (iki taraf da kendi payını üstlenir), boşluk (iki taraf da ötekinin yaptığını sanır, kimse yapmaz), çakışma (ikisi de yapar, hangisinin geçerli olduğu belirsizdir); bu eğilim kaleme özgüdür ve modelden bağımsızdır. BK27: sekiz olay vardır, her olay üç kaleme dokunur. BK28: olay turu kalemin sınıfına göredir — sağlayıcıda 1, müşteride 1, sağlam paylaşılan 2, çakışan 3, boşlukta 8 tur; boşluktaki kalem olay sırasında sıfırdan kurulur. BK29: dokunduğu kalemlerden biri boşlukta olan olay veri kaybıyla kapanır. BK30: çıkışta müşteride kalan kalem taşınır; sağlayıcıda ve paylaşılan olan kalemler yeni sağlayıcıda yeniden pazarlık edilir.
// bulut/sorumluluk.mjs — kurgu olcum agi icin paylasilan sorumluluk matrisi (model): gercek bir // saglayici, gercek bir sozlesme ya da gercek bir olay kaydi yok. Rastgelelik yok. export const MODEL = ["altyapi", "platform", "yazilim"]; // Sutunlar: altyapi platform yazilim. S saglayicida, M musteride, P paylasilan. // egilim: paylasilan kalem nasil davranir — saglam / bosluk / cakisma. export const KALEM = ` fiziksel-guvenlik S S S saglam ana-makine-yamasi S S S saglam konuk-is-sistemi-yamasi M S S saglam uygulama-yamasi M M S saglam ag-kurali P P S bosluk kenar-korunmasi P P S cakisma duragan-sifreleme M P S saglam aktarim-sifrelemesi P P S cakisma anahtar-yonetimi M P P bosluk kimlik-ve-erisim M M M saglam yedekleme-alma M P S saglam yedekten-donme-provasi M M M bosluk gunluk-toplama M P P saglam gunluk-saklama M M P bosluk uyari-esigi M M M saglam olay-ilk-yanit M P P cakisma olay-kok-neden P P P bosluk kapasite M P S saglam imaj-dagitimi M S S saglam yapilandirma-denetimi M M P bosluk veri-siniflandirma M M M saglam veri-silme M P P bosluk bilesen-taramasi M M P saglam felaket-tatbikati M P P cakisma` .trim().split("\n").map((r) => { const [ad, ...k] = r.trim().split(/\s+/); return { ad, egilim: k[3], s: Object.fromEntries(MODEL.map((m, i) => [m, k[i]])) }; }); // Cozumleme: sozlesme degeri P ise kalemin egilimi sinifi belirler. export const sinif = (k, m) => (k.s[m] === "P" ? { saglam: "pay", bosluk: "BOS", cakisma: "CAK" }[k.egilim] : k.s[m] === "S" ? "sag" : "mus"); export const SINIF = ["sag", "mus", "pay", "BOS", "CAK"]; export const say = (m, c) => KALEM.filter((k) => sinif(k, m) === c).length; // Olay turu: kalem hangi siniftaysa o kadar tur. Boslukta kalem olay sirasinda sifirdan kurulur. export const TUR = { sag: 1, mus: 1, pay: 2, CAK: 3, BOS: 8 }; export const OLAY = ` sizinti-suphesi gunluk-toplama gunluk-saklama olay-kok-neden veri-kaybi yedekleme-alma yedekten-donme-provasi veri-siniflandirma disaridan-tarama ag-kurali kenar-korunmasi olay-ilk-yanit anahtar-suresi aktarim-sifrelemesi anahtar-yonetimi uyari-esigi yetkisiz-erisim kimlik-ve-erisim gunluk-toplama olay-kok-neden yama-acigi konuk-is-sistemi-yamasi bilesen-taramasi imaj-dagitimi yanlis-yapilandirma yapilandirma-denetimi ag-kurali olay-ilk-yanit genis-kesinti felaket-tatbikati kapasite yedekten-donme-provasi` .trim().split("\n").map((r) => { const [ad, ...k] = r.trim().split(/\s+/); return { ad, kalem: k.map((x) => KALEM.find((y) => y.ad === x)) }; }); export function kos(m) { const olay = OLAY.map((o) => { const c = o.kalem.map((k) => sinif(k, m)); return { ad: o.ad, tur: c.reduce((a, x) => a + TUR[x], 0), bos: c.filter((x) => x === "BOS").length, cak: c.filter((x) => x === "CAK").length }; }); const t = (f) => olay.reduce((a, o) => a + f(o), 0); return { olay, tur: t((o) => o.tur), kayipli: olay.filter((o) => o.bos > 0).length, bosTur: t((o) => o.bos * (TUR.BOS - 1)), cakTur: t((o) => o.cak * (TUR.CAK - 1)), tasinan: say(m, "mus"), pazarlik: KALEM.length - say(m, "mus") }; }
// bulut/olc.mjs — sinir nerede, kac kalem boslukta, kac kalem cakisiyor, olayda ne oluyor. import { KALEM, MODEL, OLAY, SINIF, TUR, sinif, say, kos } from "./sorumluluk.mjs"; const yaz = (g, ...s) => console.log(s.map((v, i) => (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join("")); const R = Object.fromEntries(MODEL.map((m) => [m, kos(m)])); console.log(`sorumluluk matrisi: ${KALEM.length} kalem x 3 hizmet modeli; ` + `${OLAY.length} olay, olay basina 3 kalem; olay turu ` + SINIF.map((c) => `${c} ${TUR[c]}`).join(", ")); const A = [-25, 11, 11, 10]; console.log("\n1. sorumluluk matrisi (sag saglayicida, mus musteride, pay paylasilan,"); console.log(" BOS ikisi de otekinin yaptigini saniyor, CAK ikisi de yapiyor)"); yaz(A, "kalem", ...MODEL); for (const k of KALEM) yaz(A, k.ad, ...MODEL.map((m) => sinif(k, m))); const B = [-36, 11, 11, 10]; console.log("\n2. sinir uc modelde nereye kayiyor"); yaz(B, "sinif", ...MODEL); for (const c of SINIF) yaz(B, c, ...MODEL.map((m) => say(m, c))); yaz(B, "saglayiciya gecen (sag+pay+BOS+CAK)", ...MODEL.map((m) => KALEM.length - say(m, "mus"))); yaz(B, "sorunlu kalem (BOS+CAK)", ...MODEL.map((m) => say(m, "BOS") + say(m, "CAK"))); const C = [-28, 11, 11, 10]; console.log("\n3. sekiz olay kac turda kapaniyor (parantez: boslukta kalem sayisi)"); yaz(C, "olay", ...MODEL); OLAY.forEach((o, i) => yaz(C, o.ad, ...MODEL.map((m) => `${R[m].olay[i].tur} (${R[m].olay[i].bos})`))); for (const [ad, f] of [["toplam tur", (r) => r.tur], [" bosluktan gelen ek tur", (r) => r.bosTur], [" cakismadan gelen ek tur", (r) => r.cakTur], ["veri kaybiyla kapanan olay", (r) => `${r.kayipli}/${OLAY.length}`]]) yaz(C, ad, ...MODEL.map((m) => f(R[m]))); const D = [-33, 11, 11, 10]; console.log("\n4. cikista ne tasinir"); yaz(D, "olcu", ...MODEL); for (const [ad, f] of [["tasinan kalem (musteride)", (m) => R[m].tasinan], ["yeniden pazarlik edilecek kalem", (m) => R[m].pazarlik], [" bunlarin kaci zaten sorunlu", (m) => say(m, "BOS") + say(m, "CAK")], ["tasinan kalem orani (%)", (m) => Math.round((R[m].tasinan / KALEM.length) * 100)]]) yaz(D, ad, ...MODEL.map(f));
sorumluluk matrisi: 24 kalem x 3 hizmet modeli; 8 olay, olay basina 3 kalem; olay turu sag 1, mus 1, pay 2, BOS 8, CAK 3 1. sorumluluk matrisi (sag saglayicida, mus musteride, pay paylasilan, BOS ikisi de otekinin yaptigini saniyor, CAK ikisi de yapiyor) kalem altyapi platform yazilim fiziksel-guvenlik sag sag sag ana-makine-yamasi sag sag sag konuk-is-sistemi-yamasi mus sag sag uygulama-yamasi mus mus sag ag-kurali BOS BOS sag kenar-korunmasi CAK CAK sag duragan-sifreleme mus pay sag aktarim-sifrelemesi CAK CAK sag anahtar-yonetimi mus BOS BOS kimlik-ve-erisim mus mus mus yedekleme-alma mus pay sag yedekten-donme-provasi mus mus mus gunluk-toplama mus pay pay gunluk-saklama mus mus BOS uyari-esigi mus mus mus olay-ilk-yanit mus CAK CAK olay-kok-neden BOS BOS BOS kapasite mus pay sag imaj-dagitimi mus sag sag yapilandirma-denetimi mus mus BOS veri-siniflandirma mus mus mus veri-silme mus BOS BOS bilesen-taramasi mus mus pay felaket-tatbikati mus CAK CAK 2. sinir uc modelde nereye kayiyor sinif altyapi platform yazilim sag 2 4 11 mus 18 8 4 pay 0 4 2 BOS 2 4 5 CAK 2 4 2 saglayiciya gecen (sag+pay+BOS+CAK) 6 16 20 sorunlu kalem (BOS+CAK) 4 8 7 3. sekiz olay kac turda kapaniyor (parantez: boslukta kalem sayisi) olay altyapi platform yazilim sizinti-suphesi 10 (1) 11 (1) 18 (2) veri-kaybi 3 (0) 4 (0) 3 (0) disaridan-tarama 12 (1) 14 (1) 5 (0) anahtar-suresi 5 (0) 12 (1) 10 (1) yetkisiz-erisim 10 (1) 11 (1) 11 (1) yama-acigi 3 (0) 3 (0) 4 (0) yanlis-yapilandirma 10 (1) 12 (1) 12 (1) genis-kesinti 3 (0) 6 (0) 5 (0) toplam tur 56 73 68 bosluktan gelen ek tur 28 35 35 cakismadan gelen ek tur 4 10 6 veri kaybiyla kapanan olay 4/8 5/8 4/8 4. cikista ne tasinir olcu altyapi platform yazilim tasinan kalem (musteride) 18 8 4 yeniden pazarlik edilecek kalem 6 16 20 bunlarin kaci zaten sorunlu 4 8 7 tasinan kalem orani (%) 75 33 17
Sayılar ölçüm sınıfındadır; girdileri BK25–BK30’dur.
Sınır Nereye Kayıyor
İkinci tablo sınırı üç modelde okur. Sağlayıcıda duran kalem 2’den 4 ve 11’e çıkar; müşteride kalan 18’den 8 ve 4’e iner. Sağlayıcı tarafına geçen toplam kalem — sağlayıcıda, paylaşılan, boşlukta ve çakışan — 6, 16 ve 20’dir. Buraya kadarki tablo önceki derslerin devredilen karar sayımıyla aynı yöne bakar.
Asıl bulgu son satırdadır. Sorunlu kalem sayısı — boşlukta artı çakışan — 4, 8 ve 7’dir. En yüksek sayı en çok devreden modelde değil, ortadaki modeldedir. Nedeni üçüncü satırdır: paylaşılan kalem sayısı 0, 4 ve 2’dir ve boşluk ile çakışma yalnız paylaşılan kalemlerde doğar. Altyapı hizmetinde neredeyse her şey müşterinindir, yazılım hizmetinde neredeyse her şey sağlayıcının; ortada ise kalemlerin yarısı iki tarafa birden bakar.
Belirsizlik, sınırın uçlarında değil kaydığı yerde birikir. olay-kok-neden üç modelde de
boşluktadır: sağlayıcı kendi katmanının altını görmez, müşteri sağlayıcının içini göremez.
kenar-korunmasi ve aktarim-sifrelemesi altyapı ve platformda çakışmadadır — ikisi de
yapıldığı için kimse yokluğunu fark etmez, ama hangi ayarın geçerli olduğu bir olay anında
sorulur.
Boşluk Bir Olayda Ne Yapıyor
Üçüncü tablo matrisi sekiz olayın üstünde koşturur. Toplam kapanış turu altyapıda 56, platformda 73, yazılımda 68’dir. Alt satırlar bu turların nereden geldiğini yazar: sıradan bir kalem bir tur tutar, boşluktaki kalem sekiz; aradaki ek tur boşlukta 28, 35 ve 35, çakışmada 4, 10 ve 6’dır.
Altyapı sütunu bu dersin en keskin sayısını verir. Yirmi dört kalemin ikisi boşluktadır ve o iki kalem, sekiz olayın toplam 56 turunun tam yarısını yazar. Boşlukta kalan kalem bir belge eksiği değildir; olay anında sıfırdan kurulan bir iştir ve olayın saatini durdurmaz.
Tek tek olaylara bakıldığında etki daha nettir. sizinti-suphesi yazılım hizmetinde iki boşluk
kalemine birden dokunur ve 18 turda kapanır; aynı olay altyapıda 10 turdur. Buna karşılık
veri-kaybi ve yama-acigi hiçbir modelde boşluğa dokunmaz ve üç ile dört tur arasında kapanır.
Olayın pahalı olup olmadığını olayın kendisi değil, dokunduğu kalemin matriste nereye düştüğü
belirler.
Son satır bedeli teknik olmayan bir birime çevirir: sekiz olaydan dördü, beşi ve dördü veri kaybıyla kapanır. Bu sayı üç modelde neredeyse aynıdır. Hizmet modelini derinleştirmek boşluk sayısını 2’den 5’e çıkarır ama veri kaybıyla kapanan olay sayısını düşürmez — çünkü boşluk kalemleri olay yollarının üstünde dağınık durur, tek bir yerde toplanmaz.
Çakışma Boşluktan Ucuzdur
İki sorunlu sınıf aynı ağırlıkta değildir. Çakışan kalem olay başına iki ek tur yazar, boşluktaki kalem yedi. Platformda matris dört çakışan ve dört boşlukta kalan kalem içerir; sekiz olayda çakışma 10, boşluk 35 ek tur yazar — kalem sayıları eşit, bedelleri üç buçuk kat farklı.
Yönleri de terstir. Devir derinleştikçe çakışma 2’den 4’e çıkıp yeniden 2’ye iner, boşluk ise 2, 4, 5 diye artar. Sağlayıcı bir kalemi açıkça üstlendiğinde çakışma kaybolur; açıkça üstlenilmeyen kalem ise kaybolmaz, boşluğa düşer. Bir sorumluluk matrisinde tehlikeli olan hücre iki işaretin birden olduğu hücre değil, hiç işaret olmayan hücredir — ve o hücre denetlenirken atlanır, çünkü tabloda boş görünen bir satır tamamlanmamış bir kayıt gibi durur, karşılıksız bir yükümlülük gibi değil.
Bu ayrım denetim sırasını da belirler. Çakışan kalem, iki tarafın da yaptığı iş olduğu için ilk bakışta göze çarpar: iki ayrı ayar, iki ayrı kayıt, iki ayrı fatura satırı vardır. Boşluktaki kalemin hiçbir izi yoktur — ne bir ayar, ne bir kayıt, ne bir sorumlu. Matriste dört çakışan kalemi bulmak bir öğleden sonra sürer; dört boşluğu bulmak, her kalemi tek tek iki tarafa da sormayı gerektirir. Sorumluluk matrisinin değeri doldurulmuş hücrelerinde değil, boş bırakılmış hücrelerinin arandığında ortaya çıkar.
Çıkışta Ne Taşınır
Dördüncü tablo kursun ölçü eksenini kapatır. Müşteride kalan ve bu yüzden yeni bir düzene olduğu gibi taşınan kalem 18, 8 ve 4’tür — sırasıyla 24 kalemin %75’i, %33’ü ve %17’si. Yeniden pazarlık edilecek kalem 6, 16 ve 20’dir.
Son satır çıkışın gizli kısmını gösterir: yeniden pazarlık edilecek kalemlerin 4, 8 ve 7’si zaten sorunludur. Yani çıkarken taşınan şey yalnız bir sorumluluk listesi değil, o listedeki tanımsız hücrelerdir; boşlukta kalan bir kalem yeni sağlayıcıda da boşlukta kalmaya eğilimlidir, çünkü boşluğun nedeni sağlayıcı değil, kalemin iki tarafın da görüş alanının dışında durmasıdır.
Özet
- 24 kalemlik matriste sağlayıcıya geçen kalem 6, 16 ve 20’dir; müşteride kalan 18, 8 ve 4.
- Boşlukta kalan kalem 2, 4 ve 5; çakışan kalem 2, 4 ve 2’dir. Sorunlu kalem toplamı (4, 8, 7) en çok devreden modelde değil, sınırın en çok kaydığı ortadaki modelde en yüksektir.
- Sekiz olay 56, 73 ve 68 turda kapanır; bu turların 28, 35 ve 35’i yalnız boşluktan gelir. Altyapıda iki boşluk kalemi toplam turun tam yarısını yazar.
- Sekiz olaydan 4, 5 ve 4’ü veri kaybıyla kapanır; hizmet modelini derinleştirmek bu sayıyı düşürmez, çünkü boşluk kalemleri olay yollarının üstünde dağınık durur.
- Çakışma boşluktan ucuzdur: kalem sayıları eşitken platformda çakışma 10, boşluk 35 tur üretir. Devir derinleştikçe çakışma azalır, boşluk artar.
- Çıkışta taşınan kalem oranı %75, %33 ve %17’dir; yeniden pazarlık edilecek kalemlerin 4, 8 ve 7’si zaten boşlukta ya da çakışmadadır.
Sonraki Adım
Bu konu kiralamayı beş kez ölçtü: kapasitenin ne kadar çabuk geldiğini, kaç kararın devredildiğini, iş yükünün hangi düzene sığdığını, hesabın kaç kalemi sakladığını ve sorumluluk sınırının nereden geçtiğini. Sınır artık çizilidir ve kimin neyi yaptığı — ve kimsenin yapmadığı — yazılıdır.
Yine de bütün bu ölçümlerde bir soru hiç sorulmadı: kiralanan şey fiziksel olarak nerede
duruyor. Sorumluluk matrisindeki fiziksel-guvenlik satırı üç modelde de sağlayıcıdadır, ama
sağlayıcının o kalemi hangi coğrafyada, kaç ayrı yerde ve hangi arıza sınırlarıyla tuttuğu
sorulmadı. Bir arıza olduğunda ayakta kalanı belirleyen şey sorumluluk tablosu değil, kiralanan
kaynağın nerede durduğudur. Sonraki konu bu soruyla başlar.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.