Başlangıç > VMware > 222: vCenter API Explorer ve REST API desteği

222: vCenter API Explorer ve REST API desteği

restapi0vSphere 6.5 lansmanı sonrasında, REST API desteğinin gelmiş olduğunu duymak beni ilk aşamada şaşırtmıştı, çünkü açıkçası vCenter, ESXi gibi bileşenlere fazlaca odaklandığımızdan belki de, bunu gözden kaçırdık ancak üzerine biraz düşününce, VMware’ın genel stratejisi ve bu devasa yap-boz içerisinde ne kadar önemli olabileceğini farketmeye başlıyoruz. VMworld 2016 açılış konuşmaları esnasında kendisine bir hayli yer bulabilmiş olması da, stratejik açıdan arzettiği önemin bir başka göstergesi.

Öncelikle nedir bu REST? Açılım olarak “REpresentational State Transfer” anlamına gelir, arkası çok daha dolu olmasına rağmen, en kısa tabiri ile doğru bir tanımlamadır, tasvir yöntemi ile durum transferi yapabilmek. REST’in bir protokol olmadığını, mimari bir yaklaşım olduğunu belirtmekte de fayda var.

Web gibi dağıtık sistemlerin yaygınlaşmaya başladığı dönemlerde, sistemlerin birbirleri ile iletişim halinde olmaları, bilgi ve durum transferi gerçekleştirmeleri için bir çok protokolün ve çözümün geliştirilmesi gerekliliğini doğurdu (CORBA, COM+, RPC gibi). Uzun süre boyunca RPC (Remote Procedure Call) bu amaç uğruna kullanıldı. Ancak RPC’nin kendi içerisinde barındırdığı kompleks mimarisi, standardlardan uzak olma yaklaşımı ve internet ortamına uyumlu olamaması daha standard bir protokolün tanımlanmasına sebebiyet vermiştir; SOAP (Simple Object Access Protocol). SOAP, özellikle web servislerde daha standardize olmuş bir erişim sunabilmek adına Microsoft tarafından ortaya konmuş, ancak gerçekte adı kadar “simple” olmayan bir protokoldür ve günümüzde de yaygın olarak tercih edilmektedir. Sunucu tarafında, web servis iletişimin nasıl yapılacağını tanımlayan bir WSDL (Web Services Description Language) dosyası bulunur. XML tabanlı bir mesajlaşma yapısına sahiptir ve bu XML yapısı request/response mesajlarını oluşturur.

REST ise daha “light” bir yaklaşım sergilemektedir. Her talep ve cevapta tanımlı bir XML yapısını barındırmak yerine, bir çok görev, basit HTTP 1.1 sözcükleri (GET, POST, PUT, DELETE gibi) ve URL’ler kullanarak gerçekleştirilebilir. Cevap olarak da, CSV (Comma Separated Value), JSON (JavaScript Object Notation) veya RSS (Really Simple Syndication) formatları tercih edilebilir, bu hem mesaj trafiğinin boyutlarını optimize edecek, hem de yazılımcının işini kolaylaştıracaktır (request oluşturmak veya cevabı doğru şekilde parse etmek gibi).

Tüm bunlar ile birlikte, REST yapısının cache’lenebilir olmayı desteklemesi, doğası itibari ile stateless bir yaklaşım sergilemesi ve çok geniş yelpazede client tiplerini destekleyebilmesi, son dönemlerde neden SOAP’a oranla popülerlik kazandığını açıklayabilir. Bu avantajlar ışığında, cloud-native uygulamaların, diğer mimari yaklaşımlara oranla RESTful API’lar aracılığı ile iletişim kurmayı tercih etmelerini daha fazla bekleyebiliriz.

vSphere tarafındaki duruma şimdi geri dönelim. 6.5 versiyonuna kadar, vSphere Client ile VPXD servisleri arasında gerçekleştirdiğimiz trafik SOAP tabanlı idi ve eğer arada paket toplayıp inceleme şansınız olursa, XML tabanlı trafiği görebilirsiniz (detaylar için). vSphere Client C# ile yazılmış, hem yüksek kaynak ihtiyacı duyan hem de geliştirmesi daha fazla efor gerektiren bir uygulama idi. Dolayısı ile vSphere Client desteğinin artık kaldırılmış olması ile REST API desteğinin aynı dönemde gelmiş olması bence tesadüf değil. REST API desteğinin, tüm ihtiyaçları karşıladığını şu an için söyleyemeyiz ancak HTML5 Client gibi, bu da geliştirilecektir ve ilerleyen majör versiyonlarda tamamen REST üzerinden çalışan bir vCenter mimarisi görmeyi bile bekleyebiliriz. Hatta bu belki de, aktif-aktif çalışabilecek vCenter servislerinin de yolunu açacaktır, veya neden container içerisinde çalışamasınlar.

Günün sonunda, cloud-native stratejisini benimsemiş bir üreticinin, kendi uygulaması için de bunu hayata geçirmeye çalışması gayet anlaşılır görünüyor ve bu gelişmeleri de monolitik görünüme sahip bir uygulamanın dönüşüm sürecinin bir parçası olarak değerlendiriyorum.

restapi1REST desteğinin yaygınlaşmasını hızlandırmak amacı ile, vCenter üzerinden erişilebilecek bir arayüz de hazırlanmış durumda (API Explorer), bu arayüz üzerinden, gerçekleştirebileceğiniz tüm API çağrıları ile ilgili detay bilgilere ulaşabilir, “Try it out” düğmesi ile de test edebilirsiniz. Bunun için ihtiyacınız olan bağlantı aşağıdaki gibidir.

https://vcenterserver/apiexplorer

Bu arayüz içerisinde, API çağrıları beş farklı kategori içerisinde listelenmiştir;

  • Appliance: VCSA ile ilgili çağrılar
  • Cis: Session ve tagleme ile ilgili çağrılar
  • Content: Content Library ile ilgili çağrılar
  • vAPI: API/SDK/CLI modellemesi ile ilgili çağrılar
  • vCenter: Aşina olduğumuz diğer tüm objeleri adresleyen çağrılar

VM objesi ile ilgili örnek çağrıları aşağıda görebilirsiniz. Bunların her birine tıkladığınızda ise, çok daha fazla detaya erişmek mümkün olmaktadır.

restapi2

Bir sonraki yazıda ise REST API’ları iş başında göreceğiz.

 

Kategoriler:VMware Etiketler:,
  1. Henüz yorum yapılmamış.
  1. 02.12.2016, 12:38

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: