Affichage des articles dont le libellé est Azure. Afficher tous les articles
Affichage des articles dont le libellé est Azure. Afficher tous les articles

lundi 6 septembre 2010

[cloud Azure] Windows Azure SDK pour les développeurs Java (windowsazure4j)

Indirectement, à travers un projet open source, Microsoft fait un clin d’œil aux développateurs Java pour les attirer vers son offre PaaS Azure.

Il s’agit du projet http://www.windowsazure4j.org/ : un projet open source pour fournir un kit de développement pour Windows Azure et Windows Azure Storage ( Blobs, Tables & files d'attente).

Ce projet permet aux développeurs Java de profiter de la plate-forme Microsoft Services Cloud - Windows Azure et fournit un modèle cohérent de programmation pour Windows Azure Storage (Blobs, Tables & files d'attente).

Windows Azure SDK Java

Le Windows Azure SDK for Java permet, à toute application développée sur Java, d'accéder aux stockage Windows Azure, à la puissance de calcul et aux interfaces de gestion de la plateforme en faisant abstraction du Protocol REST pour

Ainsi, ce que propose le projet :

· des classes Java pour Windows Azure Blobs, Tables & files d'attente (pour les opérations CRUD)

· des classes utiles pour l’abstraction du dialogue avec le protocole http, REST et la gestion des erreurs.

· Le support du logging et de l’instrumentation

Pour que ce modèle d’usage du PaaS pour Java, puisse concurrencer les autres offres du marché (Google, Spring/vmaware et Force.com), il va falloir que Microsoft montre un soutient indéfectible pour ce type de projet.

Notons que le choix de la licence “Apache 2.0”, pour le projet, a été très judicieux …

A suivre …

mercredi 25 août 2010

[cloud PaaS] Microsoft Azure : quels usages pour les Web Role et Worker Role

L’arrivée du PaaS (Plateforme as a Service) Azure de Microsoft, dans le paysage du développement .Net ne peut passer sans l’apparition d’un nouveau jargon technique.

Cet article met l’accent sur l’un de ses nouveaux termes techniques : la notion de Role.

Pourquoi c’est important de comprendre la signification réelle de la notion de « Role »,

Tout simplement pour savoir utiliser le bon Role pour le bon usage

Le développeur Windows Azure doit choisir un ou plusieurs types de rôles à implémenter lors de la mise en ouvre de sa solution (sous forme de service), en phase d’architecture. Une fois déployée au sein de Microsoft Azure, l’application pourra exécuter plusieurs instances de rôles différents.

Le plus simple est de distinguer les rôles en deux catégories

  • Web role: pour traiter des requêtes HTTP/HTTPS. Un Web Role est un rôle adapté pour le développement d’application web supporté par IIS 7 et ASP.NET (3.5 pour le moment). Exemples de Web  rôles disponibles : ASP.NET Web Role, ASP.NET MVC2 Web Role,  CGI Web Role et WCF Service Web Role : 
  • Worker role: pour traiter des tâches en arrière plan : il s’agit de processus de tache de fond (aucune requête HTTP entrante, ni exposition à un protocole). Il s’agit d’application de type s’exécutant comme une sans nécessiter d’être exposée sur un quelconque protocole. : un worker role peut servir de tâche de fond à une application web basé sur un Web Role.

Typiquement, pour un site ou une application web en ASP.NET il suffit de créer un Web Role. En créer plusieurs permet d’augmenter la disponibilité de l’application et de prétendre aux bénéfices d’un niveau de service d’au moins 99.95%.

Le niveau de service assuré par Azure exige au moins deux roles pour bénéficier du Windows Azure Service Level AgreementWindows Azure has separate SLA’s for compute and storage. For compute, we guarantee that when you deploy two or more role instances in different fault and upgrade domains, your internet facing roles will have external connectivity at least 99.95% of the time.”

Le Worker role est utilisé typiquement pour des activités de traitement de fond :

  • Création de fichier pdf,

  • Traitement d’images

  • Préparation des fiches de paye, en fin du mois

  • Datamining

  • calcul statistique

  • etc.

Faire fonctionner 10 Worker Role durant une heure offre la même capacité de calcul que celle réalisée par 1 seul Worker role durant 10 heures, et ça coûte le même prix.

Un web role peut définir un point de contact (Endpoint) HTTP unique et un autre point unique HTTPS pour les clients externes.

La configuration d’un worker role est plus flexible : il peut définir jusqu'à cinq points de contact (Endpoint) externe en utilisant HTTP, HTTPS ou TCP. La principale contrainte est que chaque point de contact externe défini pour un rôle doit rester à l’écoute sur un port unique.

De plus, tous les rôles peuvent accéder aux services Windows Azure de stockage (Windows Azure storage services ) via les API de Windows Azure Managed Library ou le protocole REST via Windows Azure Storage Services REST API..

Avant de lancer votre application sur Azure (en mode SaaS ou non), pensez à prendre le temps de bien choisir les rôles adéquats : faire de l’architecture applicatif, devient plus important dans le cloud que dans le cas « on premise ».

Mais ceci est un autre sujet …

jeudi 21 janvier 2010

ALM 2.0: Microsoft diffère la sortie de VS 2010 au 12 avril

La sortie de Microsoft VS 2010, une version majeure de VSTS, a été diffère au 12 avril. Espérons qu’elle va inclure les solutions de TeamPrise, dans la version standard.

architecture soa, service oriented architecture, java software, open source, eclipse,alm, j2ee, java ,bpm

Comme toute solution ALM, Microsoft Visual Studio 2010 ultimate, propose des outils intégrés pour simplifier le développement d’application, réduire les risques projets et améliorer la productivité des équipes.

L’objectif ultime d’une solution ALM ( Application Life cycle Management) est de soutenir le processus spécifique de l’entreprise et l’outiller, afin de fournir des résultats prévisibles, et accroître la transparence et la traçabilité tout au long du cycle de vie.

Ainsi, Microsoft Visual Studio Ultimate 2010 fournit un environnement intégré d'outils et l'infrastructure serveur qui simplifie l'ensemble du processus de développement applicatif. Au moins deux templates de processus sont proposés par défaut : CMMi et Agile.

D’autres part, VS2010, sera configuré pour assister le développement et le déploiement d’applications cloud tournant sous la plateforme de service Azure.

Lien VPC de la version VS2010 beta 2

Signalons pour ceux qui souhaitent se lancer dans le test de cette nouvelle mouture de Visual Studio, que Microsoft a mis en ligne une une VPC de la version VS2010 beta 2.

Télécharger la VPC : Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 Beta 2 virtual image for Windows Virtual PC(attention on parle de 7368.9 MB)

Autres sujets :

  1. ALM, VS2010, Java et .Net: Microsoft achète Teamprise pour enrichir Visual Studio 2010
  2. ALM 2.0: Les 5 piliers de l’Application Life cycle Management
  3. Séminaire ALM : Mettez de l’agilité dans vos projets avec la solution Microsoft VSTS/ALM

lundi 24 août 2009

Cloud computing : SQL Azure est annoncé, vers le "Cloud data management"

La réponse au BigTable de Google est là : Microsoft distille la riposte et elle est de taille

On peut résumer l’approche : «Conserver vos habitudes SQL avec SQL Azure, le « SQLServer du Cloud de Microsoft ».

Rappelons que Windows Azure est l'offre "Cloud Computing" de Microsoft. Il s’agit d’une offre "Platform as a Service" (PaaS). Une sorte de système d'exploitation pour le cloud.

Pour l’instant, la plateforme Azure comprend trois parties : Windows Azure, SQL Azure et .NET Services.

SQL Azure : c’est quoi ?

SQL Azure (anciennement SQL Data Services) correspond à une base de données relationnelle “on the cloud” de la plateforme Azure. Il parait qu’elle repose sur SQL Server.

Ce module est différent des services de stockage non-relationnels fournis par la brique Windows Azure (Tables, Blobs, Queues), conçus pour les besoins de mise à l’échelle extrêmes de certains scénarios pour le “Cloud”.

SQL Azure s’oriente, dans sa première version, vers le supporte d’un sous ensemble de TSQL langue, contrairement à SDS qui lançait un nouveau paradigme nommé ACE (Authority, Container, Entity).

Chaque ordre TSQL peut être classés dans les l’un des 3 niveaux :

  • Pris en charge (supporté) : dans ce contexte signifie qu'il n'ya pas de différence dans la façon dont traite SDS une déclaration ou d'une fonction par rapport à SQL
  • partiellement supporté
  • non supporté signifie que la caractéristique donnée n'est pas prise en charge par la SDS (exemple l’ordre BACKUP ne sera pas disponible)

A ce stade aucun ordre SQL nouveau n’est prévu.

Selon MSDN (le blog : TSQL Support in SQL Data Services) les principales limitations sont:

  • Pas de possibilité d’accéder ou de manipuler les ressources physiques.
  • Certaines fonctionnalités ne seront pas accessibles comme par exemple la réplication.
  • SQL Profile ne sera pas non plus disponible

Il semble que Microsoft, cherche à faciliter le portage d’applications, plus besoin de redévelopper la couche données pour une application utilisant SQL Server.

Offre de prix

Rien n’est gratuit :

Contraient à l’approche Google, qui offre un quotas gratuit, la payement commence dés le premier octet de stockage et dès la première requête.

Le modèle de facturation est basé sur l’usage, une combinaison entre le volume de donnes et les nombre de requête

-Web Edition = $9.99 / mois, limité à 1 BD de 1 Go de stockage et 10 heures d’exécution de requêtes

-Business Edition = $99.99 / mois, limité à 1 BD de 10 Go de stockage et 100 heures d’exécution de requêtes

-Bande passante = $0.10 / Go en entrée,  $0.15 / Go en sortie

Ce qui est intéressant c’est que Microsoft s’engage sur un SLA (Service Level Agreement) de 3 neufs (99.9%) pour SQL Azure..

La question qui demeure : “à ce stade, faut continuer à investir sur l’apprentissage de Azure, ou bien attendre un peu que se “tout cela “ se stabilise ?”

Mais ceci est un autre sujet

lundi 13 avril 2009

Are the data from the GoogleApp Engine Dashbord valid?

The DashBord of GoogleApp Engine presents interesting results, but what is the truth behind these data?


I started by deploying a simple Java EE (JSP / Struts / Strus menu) and déploing it in the GoogleApp Engine cloud at http://kbdsoft.appspot.com/


This section aims to: Check the values presented by the DashBord of GoogleApp Engine.

To Check the validity of the values presented by the DashBord of GoogleApp Engine, we use a simulation tool in the classical world of performance studies: the famous Jmeter

Install a simulation tool load

Download Jmeter from http://jakarta.apache.org/jmeter/
Launch Jmeter Script and create a simulation application execution

Beware, the testing was performed on a laptop connected to the Internet with a limited speed, ADSL 1Mb (theoretical), it has no intrinsic value to measure the performance of the platform, but will compare the results .)

Run a simulation of 20 concurrent virtual users (20 Threads)

The scenario is executed 100 times.

http://kbdsoft.appspot.com/

http://kbdsoft.appspot.com/pagesManagement.do

http://kbdsoft.appspot.com/menuManagement.do

http://kbdsoft.appspot.com/user.do

http://kbdsoft.appspot.com/audit.do

http://kbdsoft.appspot.com/rolesManagement.do

http://kbdsoft.appspot.com/index.do

We note that at the beginning of the simulation


We note that at the beginning of the simulation

At the end of simulation the graph Request / Second becomes

The GoogleApp Engine’s Dashbord allows you to track the behavior of the application: it is the implementation of the concept SAM (Service Activity Monitoring, for monitoring SLAs stipulated in the contract for the paid version)

Thus, after the full execution of the script, the results presented by the GAE's Dashbord are summarized as follows:

On the other hand, after the end of the execution of the script, the results presented by Jmeter are summarized as follows :


The results of Jmeter Vs results GoogleApp Engine

There is a good concordance of results (although it sure is a short and simulation for more detailed results, it must be remembered that performance measures should follow a statistical study and use the laws of large numbers)



Jmeter

client vue

GAE DashBord

Google's serveurs vue

http://kbdsoft.appspot.com/

1.135

1.2

http://kbdsoft.appspot.com/pagesManagement.do

2.265

2.4

http://kbdsoft.appspot.com/menuManagement.do

2.275

2.4

http://kbdsoft.appspot.com/user.do

3.411

3.6

http://kbdsoft.appspot.com/audit.do

1.142

1.2

http://kbdsoft.appspot.com/rolesManagement.do

1.144

1.2

http://kbdsoft.appspot.com/index.do

1.147

1.2

Total

12.59

13.5

The results shown by Google are validated by the results of Jmeter

We can rely on the DashBord.
Conclusion:
For this first test, I "fell in love": it took me half an hour to deploy an old application (simple) Struts based on the Google cloud

No changes were necessary!
(N: there was no transaction, database, Spring, Hibernate ... )
Dashboard of
GoogleApp Engine allows to monitor the activity of the application and see the logs and the response time.


Working with GoogleApp Engine is :

  • Easy
  • Lets recycle "reflexes" of Java developers
  • Lets recycle "old" Java
  • The Dashboard provides information close to the reality and verifiable

Le cloud coumputing en marche ...



Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.