Yeni Nesil Web Hosting Kontrol Paneli

Mayıs 2012 | Oğuzhan Yılmaz, Maestropanel Developer

Tanım

Maestropanel, web yayıncılığında kullanılan servislerin optimum seviyede, profesyonel olarak yönetilmesini sağlayan hem son kullanıcıya, hem de servis sağlayıcılarına yönelik olarak hazırlanmış bir yazılım çözümüdür.

MaestroPanel günümüz şartlarına uygun olarak geliştirilmiş, Internet üzerindeki bir çok servis ile iletişim kurabilen ve barındırma hizmetini (hosting) bu doğrultuda yönetebilen, dağıtık sunucular üzerinde çalışma yeteneği olan yeni nesil bir Web Hosting Kontrol Panel'i olarak tasarlanmıştır.

MaestroPanel modüler yapısı sayesinde firmanın iş akışına kolayca uyabilir, yeni ihtiyaç duyulan servislerle kolay entegre olabilir ve yeni özellikleri içeren modüller kısa sürede sisteme eklenebilir.

Konsept

MaestroPanel'in çalışma prensibi tamamen bağımsızlık üzerine kurulmuştur. Sunucu, Arayüz ve Özellikler birbirinden bağımsız ve çoğaltılabilir durumdadır.

Sunucu'lar birbirinden bağımsız hareket edebileceği gibi aynı anda da hareket edebilirler. Her sunucu üzerine farklı rollerde tanımlanmış özellikler eklenebilir ve bu özellikler ister hazır arayüzler üzerinden istenirse de özelleştirilmiş arayüzler aracılığı ile yöneitilebilir.


ASP.NET



Özellikler

Modüler Yapı

MaestroPanel Servis ve Yazılım desteğini esasen bir modül üzerinden verir. Bu yapı desteklenen Internet servisinin veya yazılımın kolayca yönetilebilmesine, güncellenmesine ve güvenliğinin sağlanabilmesine olanak verir.

Örneğin: Piyasaya çıkan yeni bir yazılım versiyonu için MaestroPanel'de ona uygun bir modül yazıp 'Modules' klasörüne atılması yeterlidir. MaestroPanel Agent otomatik olarak bu modülü tanır ve Web Management Services'e (front-end) kullanması için bilgi verir. Aynı iş mantığı yeni bir yazılım desteği için geliştirilen modül'de de vardır.

MaestroPanel herkesin modül geliştirebileceği ve sistemde rahatlıkla çalıştırabileceği ortamı sağlamaktadır. Üçüncü parti modül geliştiricileri veya firmaların kendi yazılım birimleri özel ihtiyaçlarına göre modül geliştirip sunucu üzerinde çalıştırabilirler. Bunun için MaestroPanel'in modül Interface'ini yazılımlarına implemente etmeleri ve kurallarını belirlemeleri yeterlidir.

Sunucu Bağımsızlığı

Shared Web Hosting hizmetleri genelde sunucu bağımlıdır. Yani tek bir server üzerinde her türlü servis barındırılır ve sunucunun destekleyebildiği teknolojiler müşteriye sunulur. Hosting özellikleri belirlenirken tamamen sunucu üzerindeki servisler düşünülerek tasarlanır. Fakat günümüz Internet ortamında Cloud ve hazır hosted servislerde vardır.

MaestroPanel'de ise birden fazla sunucuda aynı anda çalışabilen özellikleri, hosting katmanında birleştirerek hangi servisin, hangi sunucu üzerinde çalıştığının bir önemi kalmaz. Müşteri veya Sistem Yöneticisi Hosting hizmetini planlarken A sunucusundaki DNS'i kullan, B sunucusunda ki Database servisini kullan gibi senaryolar üretebilir. Hatta Internet Servis'lerinide bu plana katabilir isterseniz DNS sunucunuzu bu servis sağlayıcının cloud altyapısı üzerinde tutabilirsiniz.

Arayüz Bağımsızlığı

MaestroPanel'in arayüz bağımsızlığı saylayan ne önemli unsuru self-hosted olarak sunucu üzerinde çalışabilen 'MaestroPanel Agent' dır.

MaestroPanel Agent standart bir Web Service şeklinde çalışır ve gelen emirleri modüllere iletir. Modüller'de gerekli işlemi yapar ve geri döner.

Bur da önemli olan Agent'a isteği gönderen yazılımın veya script'in SOAP/WSDL kurallarına uyup, uymadığıdır.

WSDL uyumlu standart bir istek Agent'a nereden gelirse gelsin işletilir ve sonucu geri bildirilir. Bu nedenle herhangi bir Web Uygulaması, MaestroPanel'in Native Web Management Servisi veya Powershell scriptleri MaestroPanel'in işlemleri gerçekleştirmesi için yeterli yönetim sistemi olabilir.

Veritabanı Bağımsızlığı

MaestroPanel veritaban'ı bağımsızlığını Web Management Service tarafında gerçekleştirir. Bu Web Uygulaması kullandığı Nhibernate ORM Framework'ü sayesinde On beş güçlü veritabanı motorunu destekler ve kullanıcının seçimine bırakır.

Üç Seviye Erişim

MaestroPanel Web Management Service'nin üç kullanıcı seviyesi bulunur;

Admin: Tüm sistemi yönetebilecek haklara sahiptir. Sistem Yöneticileri bu seviyeden sisteme giriş yaparlar.

Reseller/Bayi: Firmaların sundukları hizmetleri, başka firmalara daha kısıtlı yönetim imkanları ile kullanmalarını sağlayan erişim seviyesidir. Genelde Webmaster'lar, Yazılım, Tasarım firmaları bu hesabı kullanarak hizmetlerini yönetirler ve kendi müşterilerine hizmet verirler.

Domain: En alt seviyede sadece domain'i yönetebilen seviyedir. Genelde barındırma hizmeti sağlayan firmanın müşterisi veya Reseller'in müşterileri bu seviyeden bağlanır.

MaestroPanel'de bu erişimler kullanıcı düzeyine kadar özel olarak ayarlanabilr, haklar arttırılabilir veya daha da eksiltilebilir. Bu özellik tüm seviyelerde daha esnek halie getirerek ihtiyaçlara uyum sağlanabilir.

Haklarla ilgili diğer bir özellik ise 'Hak Şablonları' olarak tanımlanmıştır. En üst seviyede erişilebilen bu özellik daha önceden şablon şeklinde tanımlanmış hakları yeni açılan hesaba yansıtarak Sistem Yöneticisine kolaylık sağlamaktadır.

Çokludil Desteği

MaestroPanel'in arayüzü çoklu dil destekleyecek şekilde geliştirilmiştir. İlerleyen versionlarda yaklaşık 20 dil desteği planlanmaktadır. Çeviri ile alakalı çalışmalar sürmektedir.

Dinamik Limitler

Firmaların barındırma hizmeti verirken en çok dikkat ettikleri ve eksiklik hissettikleri konulardan biri de sundukları hizmetlerin limitlenmesidir. Mevcut panellerin destekledikleri yazılıma göre limitleyebildikleri parametreler belirlidir ve daha sonra değiştirilemez.

MaestroPanel'de ise Limitler tamamen isteğe bağlı olarak düzenlenebilir, çoğaltılabilir veya azaltılabilir. Bu limitlemeler desteklenen yazılımın doğal kısıtlamaları da olabilir, MaestroPanel modüllünün içine gömülmüş kısıtlamalarda olabilir.

Modüllerden bir kaç limit örneği;

CPU Time Limit : IIS üzerinde ApplicationPool'un kullandığı CPU zamanını hesaplar ve limit aşımı olduğundan applicationpool'u stop eder.ASP.NET

Dns Query Limit: Zone'a gelen DNS Query'sini limitler. Sınırsız olabileceği gibi belirli bir sayıda verilebilir. O sayıdan sonra gelen istekler geçersiz olur.

ASP.NET

Parola Politikası

Hosting firmalarında ki hack olaylarını incelerseniz %70'inin müşterilerin veya Sistem Yöneticilerinin kullandığı zayıf şifrelerden kaynaklandığını görürsünüz. Bu bilgiden yola çıkarak MaestroPanel'in içine Sistem Yöneticisinin'de ayarlayabildiği Web Management Service'de global seviyede etki eden bir 'Password Policy' özelliği ekledik. Bu sayede şifrelerin daha güçlü seçilmesini kullanıcıya zorlayarak parola anlamında daha güvenlikli bir olacağını düşünüyoruz.

Kolay Kurulum

MaestroPanel'in kurulumu Microsoft'un sağladığı Web Platform Installer üzerinden kolay bir şekilde gerçekleşmektedir. Burda WebPI'ın default olarak gelen uygulamalarla birlikte birbirine bağımlılığı bulunan MaestroPanel modüllerini listeleyip sisteme zahmetsizce kurabilmeniz mümkün.

ASP.NET


Teknoloji

MaestroPanel'in tümü .Net Framework 4.0 üzerinde C# (csharp) kullanılarak geliştirilmiştir. Agent ve Modüler yapının sağlanması için yine .Net'in WCF ve MEF componentlerinden yararlanılmıştır.

MaestroPanel'in Front-End tarafında ASP.NET (v4.0)'den yararlandık. Web uygulamasında pattern olarak MVC3 + Razor View Engine özelliklerinden istifade ederek mümkün olduğuncan güvenli ve esnek bir yapıya kavuşturmaya çalıştık.

Data Access katmanında ise stabil bir Open Source ORM tool olaran NHibernate 3.0 kullanıldı ve Database Engine olarak SQLCE veya SQLite default olarak seçildi. Eğer istenirse MySQL, MSSQL, Oracle gibi veritabanı servisleri ilede çalışacak şeklide düzenlenebilir.

Sunucu üzerinde çalışan Agent'lar Windows Service olarak tasarlanmıştır ve 9714 portunu dinler. Agent'ların client (UI) ile haberleşmesi selft-hosted WCF servisi ile sağlanmaktadır ve SOAP protokolü üzerinden encoded bir şekilde veri iletimi gerçekleşir. Client'in WCF servisine ulaşması için Username ve Password değerlerine ihtiyaç vardır. Zaman bazlı çalışan UsernamePasswordValidation provider'ı Agent'ın güvenliğini sağlamaktadır.

ASP.NET



MaestroPanel'in planlanan roadmap'i yukarıdaki gibidir zaman içerisinde yeni özellikler bu sürece dahil olur veya çıkarılabilir.

BağlantılarHaberler