Herkese merhaba,
Power Platform’un ürünlerini tanıttığım ve uygulamalarla gösterdiğim yazı dizisinden sonra şimdi de Power Platform’un yönetiminden bahsedelim istiyorum.
Bildiğiniz gibi Power Platfrom içerisinde Power BI, Power Apps, Power Virtual Agents ve Power Automate‘i barındırıyor ancak bunların arkasında neler oluyor, farklı uygulamalar birbiriyle nasıl bu kadar rahat entegre oluyor biraz bunları açıklayalım.

Power Platform aslında low-code mantığıyla kod yazmayı bilen bilmeyen her kullanıcının sürükle bırak ile uygulama geliştirmesine, verileri analiz etmesine, iş süreçlerini otomatikleştirmesine veya sohbet robotu tasarlamasına yardımcı olmak amacıyla geliştirildi. Bunu yaparken de dayandığı 3 temel vardı: Veri Bağlayıcılar (Data Connectors), CDS (Common Data Servcie – yeni adıyla Microsoft Dataverse) ve AI Builder. Daha fazla bilgi için linke tıklayabilirsiniz.

Yukarıdaki resimde bizim çıktı olarak kullandığımız uygulamaların arkasında yer alan teknolojileri gösteriyor. Bu şema bize herbir katmanın birbiri üzerine inşa edildiğini ve en üsttede lokal ve bulutta çalışma hizmeti sunan Power Platform ürünlerini görüyorsunuz.
İşe Environment (ortam) kavramı iyi anlamayla başlayalım çünkü bu kavram Microsoft Power Platform kullanıcısıysanız hep karşınıza çıkacak.
Microsoft’un tanımına göre bir Environment, verilerinizin, uygulamalarınızın ve akışlarınızın depolandığı, yönetildiği ve organizasyon içi paylaşıma izin veren bir alandır. Ayrıca rolleri, güvenlik gereksinimleri ve hedef kullanıcıları farklı olan uygulamaları ayrı tutabilen bir konteyner olarak da hizmet verir.
Oluşturacağınız yeni bir environment sizin coğrafi bölgenize bağlı olarak yaratılır. Ayrıca yarattığınız her bir environment için arkada bir CDS (common data service) database oluşturulur.
Microsoft herbir kullanıcı (tenant) için default (varsayılan) olarak lisanslı Power Automate ve Power Apps kullanıcıların uygulama geliştirebildiği ve akış oluşturabildiği bir environment verir. Bu varsayılan (default) environment dışında güvenlik ve gizlilik nedenlerinden ötürü veya veri yönetimini daha kontrollü yapmak için veya ölçeklendirme yapabilmek için veya ALM (uygulama yaşam döngüsü yönetimi-application lifecycle management) gibi nedenlerden dolayı yeni bir ortam oluşturmak isterseniz Power Platfrom’un admin center‘ını kullanabilirsiniz.
Diyelim ki size gelen default orta dışında yeni bir ortam oluşturmak istiyorsunuz, kullanıcı tipinize bağlı olarak oluşturabileceğiniz ortam tipini seçmeniz gerekiyor, bunlara aşağıdaki tablodan göz atabilirsiniz. Daha detaylı ve güncel bilgileri buradan takip edebilirsiniz.
Ortam Tipi | Kısa Tanımı | Güvenliği |
Production | Süresi dolmayan full ortam, 1GB veritabanı kapasitesi olması koşuluyla admin veya power apps lisansı olan bir kullanıcı açabilir. Ayrıca 9.0 ve üstü sürümlü herbir CDS database için de oluşturulabilir. | Tam kontrol |
Default (Varsayılan) | Bir çeşit production tipi ortamladır. 32 GB depolama kapasitesi vardır. Herbir tenant için otomatik olarak verilir. Default ortama yeni bir Power Apps kullanıcısı eklendiğinde otomatik olarak “maker” rolü* ile eklenir. Default ortam Azure AD tenant’a en yakın bölgeye göre yaratılır. Mesela şirketimiz Türkiyede default ortamımız EMEA ortak açılıyor. | Tüm kullanıcılar Maker rolünde olduğu için kontrol limitlidir. |
Sandbox | Production olmayan ortama kopyalama ve silme özelliklerinin eklendiği ortamdır. Genelde geliştirme ve test için kullanılırlar. | Tam kontrol |
Trial | 30 gün sonra ortadan kaldırılan kısa süreli deneme ortamlarındır. Sadece açan kullanıcı tarafından kullanılabilir. Paylaşım yapılamaz. | Tam kontrol |
Developer | Community Plan lisansına sahip developerların oluşturabileceği ortamlardır. Sadece ortamı kuran kişi kullanabilir ve paylaşım yapamaz. | Community Plan lisansı olan tek kişinin kontrolü |
Project Oakdale | Project Oakdale ortamları, Teams’de Power Apps uygulamasını kullanarak ilk kez bir uygulama oluşturduğunuzda veya uygulama kataloğundan bir Power Apps uygulaması yüklediğinizde, seçilen ekip için otomatik olarak oluşturulur. | Tenant veya Power Platform adminleri Teams ortamında müşteri verilerine erişim sağlayamaz ama diğer sistem yönetimlerini yapabilir. |
Gelelim environment yönetimi için tanımlanmış rollere..
Oluşturulan ortamın CDS’li veya CDS’siz olmasına bağlı olarak tanımlanan roller değişkenlik gösteriyor. Diyelim ki ortamınız CDS’li DB ile bağlandı, bu durumda erişim kontrolü CDS’in güvenlik rolleriyle sağlanıyor. CDS’siz ortamda ise iki çeşit rol mevcut: Ortam Yöneticisi (Environment Admin) ve Ortam Oluşturucusu (Environment Maker)
Environment Admin: admin veya maker rolünde kullanıcı veya grupları ekleyebilir, silebilir. Ortam oluştururken CDS database sağlayabilir. Ortamda veritabanı oluşturduktan sonra Sistem Yöneticisi rolü adını alır. Ortam içinde oluşturulan tüm kaynaklar görüp yönetebilir. Veri kaybını önleme politikasını belirleyebilir. Veritabanı üzerindeki ayrıcalıkları: Yaratma (create), okuma (read), yazma (write), silme (delete), özelleştirme (customization) ve güvenlik rolleri (security role) şeklindedir.
Environment Maker*: Oluşturdukları uygulamaları kişi veya kuruluş içindeki gruplarla paylaşabilirler. Veritabanı üzerindeki ayrıcalıkları özelleştirme ile sınırlandırılmıştır.

Yukarıda ki resimde Power Platform Admin Center’ın anasayfası üzerinden nasıl yeni bir environment ve CDS veri tabanı oluşturabileceğimizi gösterdim.
İlgili alanları doldurduktan sonra “Save” butonuna bastığınızda environment oluşturuluyor. Anasayfa da oluşturduğunuz ortam üzerine geldiğinizde ortamın özelliklerini görebilirsiniz. Mesela ben örnek olarak “Blog Deneme” adında bir ortam açtım, tipi “Trial”, ortamın hangi amaçla kullanılacağını ifade ettiğim açıklama kısmı ve kimlerin erişebileceğiyle ilgili “access” kısmı bu tuvalde yer alıyor. Ortam açarken CDS’de bir veritabanı oluşturmadım. Bu yüzden DB kısmı boş. Trial açtığım için admin de maker’da benim, zaten başka birileri erişim sağlayamaz çünkü ortam tipim “Trial” ve 30 gün sonra kendiliğinden bu ortam uçacak. Ayrıca “Convert to Product” ile bu ortamı “Product” tipine çevirebilirim (1GB koşulunu unutmayın).

Ayrıca tab menüde yer alan ayarlar butonundan Power Platform ayarlarından kimlerin Production veya Trial ortam oluşturabileceğinin kontrolünü sağlayabilirsiniz.

Gelelim oluşturduğumuz ortamların yedeklenmesi (backup) işlemine. Power Platformda ortamların otomatik ve menuel olmak üzere iki şekilde yedeklemesi yapılır.
Otomatik Yedekleme; SQL veritabanının otomatik yedekleme özelliği Azure SQL DB’de de mevcut, dolayısıyla sistem seviyesinde otomatik yedekleme her zaman mevcut. Ancak Dynamics app kullanıp kullanmadığınıza bağlı olarak yedek saklama süreleri farklılık gösterebilir.
Manuel Yedekleme; Ortamların manuel olarak da yedeklemesini yapabilirsiniz. Unutmayın ki sadece Production ve Sandbox tipindeki ortamların yedeklemesi yapılabilir. Sandbox’ın yedek saklama süresi maksimum 7 gündür.

Restore; Power Platform admin center’da veya PowerShell’de restore işlemini yapabilirsiniz. Sadece sandbox tipindeki ortamlar restore edilebilir.
Son olarak Ortam Analitiğinden bahsedelim.
Ortam Analitiği (Environment Analytics); Ortamda saklanan veriler baz alınarak yapılan analizi görebilmenizi sağlayan sekmedir. Power BI üzerinden sizin için hazırlanan varsayılan panoda (default dashboard) koşu (run**), kullanım (usage), oluşturma (created**), paylaşma (shared**) lokasyon (location*), hatalar (toast errors*), hizmet performansı (service performance*), uygulama kullanımı* (app usage) ve bağlayıcılar (connector) ile ilgili analizleri bulabilirsiniz.
Burada *Power Apps dashbord’a özel, **Power Automate‘e özel sekmelerdir.
CDS’e ait sekmeler ise Aktif kullanıcı (active user), erişim modu (mode of access), varlık kullanımı (entity usage), sistem işleri (system jobs), plug-in, API istatistikleri (API calls stastistics) ve posta kutusu kullanımı (mailbox usage) şeklindedir.
Görüldüğü gibi oldukça gelişmiş arayüz ve grafik tasarımlarıyla analiz yapmanıza gerek kalmadan sadece grafik okuyarak iş geliştirme/iyileştirme süreçlerinizi tamamlayabilir/kontrol edebilirsiniz.
Özetle bu postta ortam (environment) kavramı nedir, neden yeni bir ortama ihtiyaç duyulur, nasıl ortam açılır, tipleri ve kullanıcı modelleri nelerdir, ortamın yedeklenmesi ve restore işlemleri nasıl yapılır ve ortam analizi neleri kapsar gibi sorulara cevap vermeye çalıştım.