mardi 27 mai 2014

GRAF - Volumetrics Analysis Tools - 4 - Le traitement des flux sur les serveurs

Rappelons  les question à se poser pour décrire le traitement des flux fonctionnels  :

1.      Quels sont les serveurs de notre infrastructure?
2.      Quels sont les composants hébergés sur les serveurs ?
3.      Quels sont les traitements des différents flux fonctionnels effectués par ces composants ?

Nous avons vu la description des serveurs pour la volumétrie dans notre article précédent.

Décrivons à présent les composants hébergés. Onglet « hébergement »

composant
description
serveur
refs_t
o
r
u
Préfixe
Fonction
Serveur
C_Apache_P-MVO-W-1
Apache
P-MVO-W-1
2
0
0
0
C
Apache
P-MVO-W-1
C_AppliVoy_P-MVO-T
Application "Voyage" sur Weblogic
P-MVO-T
2
0
0
0
C
AppliVoy
P-MVO-T
C_DonnVoy_P-MVO-D
Serveur de données "Voyage"
P-MVO-D
2
0
0
0
C
DonnVoy
P-MVO-D
C_DonnSAP_P-FAC-D
Serveur de données SAP
P-FAC-D
1
0
0
0
C
DonnSAP
P-FAC-D
C_Fac_P-FAC-T-1
Facturation sur les AS SAP
P-FAC-T-1
1
0
0
0
C
Fac
P-FAC-T-1
C_ConnResa_P-ECH -T
Connecteur réservation
P-ECH -T
1
0
0
0
C
ConnResa
P-ECH -T
C_SMTP_P-ECH -T
Passerelle SMTP
P-ECH -T
1
0
0
0
C
SMTP
P-ECH -T
C_Imp_P-IMP-T
Serveur d'impression
P-IMP-T
0
0
0
0
C
Imp
P-IMP-T

Les trois dernière colonne ont été ajoutées au VAT standard de GRAF pour construire le nom  abrégé du composant du composant qui est en première colonne.

Le nom du composant suit donc la syntaxe :

C_<fonction>_<Serveur qui l’éberge>

Passons à l’onglet traitement. Ce dernier comporte de nombreuses colonnes.

Notons au passage que pour insérer une ou plusieurs lignes contenant les formules standard, il suffit de taper la séquence : <Contrôle><Shift>i

Rappelons également que les colonnes en noir sont à saisir ainsi que les colonnes en vert. Ces dernières sont dés références à d’autres onglets et proposent une liste d’aide. Les colonnes rouges sont calculées automatiquement

On décrira
- Le nom du traitement : calculé ici à partir d’une norme utilisant les colonnes IT et IU
- Sa description
- Le composant qui l’exécute et que l’on a décrit au préalable dans l’onglet « hébergement »
- Le macroflux que ce traitement doit traiter et que l’on a décrit au préalable dans l’onglet « macroflux »
- La proportion de ce macroflux gérée par le traitement. Dans notre exemple, les serveurs « Apache » et « AS Facturation », sont doublés et en mode Actif/Actif. Chacun ne traite donc que 50% du macroflux.
- La consommation CPU unitaire du traitement, exprimée en GVCU (GRAF Virtual Consuming Unit). Dans notre exemple, la GVCU correspond au 10 ème d’une transaction de facturation sur un AS SAP.

nom
description
composant
serveur
macroflux
plage
vol/j
prop%
trt/j
c cpu
T_SvHTTPExt sur C_Apache_P-MVO-W-1
Serveur HTTP - Clients externes
C_Apache_P-MVO-W-1
P-MVO-W-1
MF_Dem_Int
Pla_Web_Voy
1000
50%
500
10
T_SvHTTPInt sur C_Apache_P-MVO-W-1
Serveur HTTP - vendeurs
C_Apache_P-MVO-W-1
P-MVO-W-1
MF_Res_Int
Pla_Com_Voy
2000
100%
2000
10
T_RqVoyagExt sur C_AppliVoy_P-MVO-T
Requêtes applicatives (Weblogic) Client
C_AppliVoy_P-MVO-T
P-MVO-T
MF_Dem_Int
Pla_Web_Voy
1000
100%
1000
50
T_RqVoyagInt sur C_AppliVoy_P-MVO-T
Requêtes applicatives (Weblogic) Vendeur
C_AppliVoy_P-MVO-T
P-MVO-T
MF_Res_Int
Pla_Com_Voy
2000
100%
2000
50
T_RqVoyagExt sur C_DonnVoy_P-MVO-D
Requêtes applicatives (Oracle) -Client
C_DonnVoy_P-MVO-D
P-MVO-D
MF_Dem_Int
Pla_Web_Voy
1000
100%
1000
100
T_RqVoyageInt sur C_DonnVoy_P-MVO-D
Requêtes applicatives (Oracle) -Vendeur
C_DonnVoy_P-MVO-D
P-MVO-D
MF_Res_Int
Pla_Com_Voy
2000
100%
2000
100
T_Factu sur C_Fac_P-FAC-T-1
Facturation sur SAP (AS)
C_Fac_P-FAC-T-1
P-FAC-T-1
MF_Fac_Gen
Pla_Bat_Fac
480000
50%
240000
10
T_RqSAP sur C_DonnSAP_P-FAC-D
Facturation sur SAP (DB)
C_DonnSAP_P-FAC-D
P-FAC-D
MF_Fac_Gen
Pla_Bat_Fac
480000
100%
480000
40
T_Resa sur C_ConnResa_P-ECH -T
Connecteur résa Hotel / Avion
C_ConnResa_P-ECH -T
P-ECH -T
MF_Conn_Req
Pla_Com_Voy
30000
100%
30000
25
T_Mail sur C_SMTP_P-ECH -T
Envoi de mail
C_SMTP_P-ECH -T
P-ECH -T
MF_Fac_Gen
Pla_Bat_Fac
480000
100%
480000
1

Nous avons à présent complètement décrit la volumétrie de notre système d'information « Agence de voyage ». Dans un prochain article nous verrons comment analyser les résultats


vendredi 23 mai 2014

GRAF - Volumetrics Analysis Tools - 3 - La puissance de l'infrastructure

Complétons d’abord la volumétrie fonctionnelle vue dans notre article précédent, en supposant que lorsqu’un vendeur traite le dossier d’un client, qu’il s’agisse d’une demande déposée sur le portail (Volume quotidien = VolJ_Demandes) ou d’une réservation en ligne par téléphone (Volume quotidien = VolJ_Résa_Tél), il envoie en moyenne une dizaine de connexion à un serveur de réservation extérieur : hotel ou avion.


nom
description
plage
vol/j
formule



/j

MF_Dem_Int
Dépôt de demandes
Pla_Web_Voy
=actualise(V_Dépot_Demande;col_an)
MF_Res_Int
Réservations par téléphone
Pla_Com_Voy
=actualise(V_Résa_Tél;col_an)
MF_Res_Lec
Consultations réservation
Pla_Com_Voy
15 000
=actualise(V_Consult_Résa;col_an)
MF_Fac_Gen
Facturation
Pla_Bat_Fac
480 000
=actualise(V_Factu_Voyage;col_an)
MF_Conn_Req
Requêtes de connexion (Hôtel, Avion)
Pla_Com_Voy
          30 000  
=(VolJ_Demandes+VolJ_Résa_Tél)*10

Une fois la volumétrie fonctionnelle définie, on va décrire l’architecture de traitement de ces flux fonctionnels, c'est-à-dire :

1.      Quels sont les serveurs de notre infrastructure et quelle est leur puissance
2.      Quels sont les composants hébergés sur les serveurs
3.      Quels sont les traitements des différents flux fonctionnels effectués par ces composants, et combien consomment-ils 

Quels sont les serveurs de notre infrastructure ?

L’infrastructure a été modélisée dans l’article
http://vincentlacroixgraf.blogspot.fr/2014/02/graf-la-modelisation-de-linfrastructure.html


Il faut maintenant évaluer la puissance des cœurs de nos serveurs. La puissance est exprimée en GVPU (Graf Virtual Power Unit).

L’onglet GVPU offre des unités de puissances possibles. On peut en rajouter d’autres.

Gvpu
description
ut
x
Gvcu


s
x

Mips
millions d'instructions par seconde
1
1E+06
instr.
SAPS
SAP Application Performance Standard
1
1
s(SAPS)
tpmC
Transaction Processing Performance Council -- TPC-C : on-line transaction processing benchmark
60
1
TPC-C
QphH
Transaction Processing Performance Council -- TPC-H : ad-hoc, decision support benchmark
3600
1
TPC-H
GHz(P7)
Fréquence d'horloge d'un cœur de processeur POWER7 IBM
1
1E+09
cy(P7)
msg/s
puissance d'un serveur JMS en messages par seconde
1
1
msg
te/s
transactions "étalon" par seconde
1
1
te
GHz(T5)
Fréquence d'horloge d'un cœur de processeur ORACLE T5
1
1E+09
cy(T5)
GHz(X86)
Processeurs de type intel X86
1
1E+09
cy(X86)
ops/s
opérations de sécurité par seconde
1
1
ops

Le plus simple est de choisir une transaction que l’on sait mesurer (par exemple la génération d’une facture) et de lui donner un poids arbitraire (1, ou un multiple de 10 pour faciliter les calculs) en « transaction étalon ».

Par exemple, si la génération de facture consomme 10 te, la transaction étalon est par définition le dixième d’une génération de facture.

La puissance des cœurs  nos serveurs sera exprimée ensuite en « transactions étalon par seconde » :

nom
description
Gvp
Gvpu




P-MVO-W-1
Serveur Apache 1
1
te/s
P-MVO-W-2
Serveur Apache 2
1
te/s
P-MVO-T
Serveur Weblogic : traitements de l'application "Voyage"
2
te/s
P-ECH -T
Serveur d'échanges
2
te/s
P-MVO-D
Gestion demandes, pré traitements, services publication
15
te/s
P-FAC-T-1
Serveur SAP AS pour la facturation
50
te/s
P-FAC-T-2
Serveur SAP AS pour la facturation
50
te/s
P-FAC-D
Central Instance SAP et serveur de données
100
te/s
P-IMP-T
Serveur d'impression
10
te/s


vendredi 16 mai 2014

GRAF - Volumetrics Analysis Tools - 2 - La volumétrie fonctionnelle

Pour faire notre analyse de volumétrie, il faut  avoir une évaluation des flux structurants, et de leur montée en charge lors du déploiement.
Dans notre exemple sur le voyage, on crée un onglet « VOYAGE » dans le VAT qui présente la volumétrie des flux fonctionnels sur une période de 4 ans, avec (prévision du marketing) à la cible :
- 10 000 demandes par jour déposées par le client sur internet
- Environ Le double en réservation par téléphone, traitées par un agent
- 5 consultations en moyenne pour chaque dossier
- Une facturation mensuelle de tous les dossiers

On saisit l’onglet « Voyage » dans le VAT de la manière suivante :



En prenant soin de :
1) Donner un nom de variable aux cellule de la deuxième colonne (première colonne de valeurs numériques). Dans notre exemple : V_Dépôt_Demande, V_Résa_Tél, …etc. On appelle cette variable :variable d’évolution du flux
2) Renseigner 3 paramètres dans l’onglet « parm » du VAT :
            L’onglet de volumétrie fonctionnelle sur lequel le VAT doit travailler (paramètre onglet_voulu )
            L’année et le n° de la colonne pour laquelle on souhaite avoir une « photo » de la volumétrie (paramètres année et col_an). le paramère col_an s’appelle « variable des jalons »

paramètre
valeur
année
col_an
2
onglet_volu

On peut ensuite définir les macroflux de notre système d'information. Le terme « Macroflux » en GRAF désigne un triplet  (Flux fonctionnel, plage d’activité, année de la trajectoire).

nom
description
plage
vol/j
formule



/j

MF_Dem_Int
Dépôt de demandes
Pla_Web_Voy
1 000
=actualise(V_Dépot_Demande;col_an)
MF_Res_Int
Réservations par téléphone
Pla_Com_Voy
2 000
=actualise(V_Résa_Tél;col_an)
MF_Res_Lec
Consultations réservation
Pla_Com_Voy
15 000
=actualise(V_Consult_Résa;col_an)
MF_Fac_Gen
Facturation
Pla_Bat_Fac
480 000
=actualise(V_Factu_Voyage;col_an)

La colonne contenant la volumétrie journalière vol/j est calculée en utilisant la fonction actualise qui sélectionne les données volumétriques pour l’année de la trajectoire. Elle prend en paramètre :
- la variable des jalons
- La variable de l’évolution du flux


Remarque : pour un flux qui n’évolue pas dans le temps, on peut saisir directement la valeur

jeudi 17 avril 2014

GRAF - Volumetrics Analysis Tools - 1 - Les plages d'activité

GRAF propose une démarche et un outil pour analyser finement la volumétrie des systèmes d'information,  étudier less taux de sollicitation des différents serveurs de l'infrastructure et en déduire une consommation CPU pouvant évoluer dans le temps. Cet outil se nomme le VAT (Volumetrics Analysis Tool).

Nous allons étudier les concepts du VAT dans les prochains articles.

Le premier concept a trait à l'activité du système d'information.

On décrit des plages d’activité en donnant un poids à l’activité pour chaque heure de la journée
On rajoute une marge éventuellement pour tenir compte d’un dépassement potentiel de l’activité dans la journée (Par exemple : rattrapage d’un jour précédent)
On pourra ensuite associer un flux avec une plage d’activité.

Par exemple, dans le cas de notre agence de voyage, nous avons défini 3 plages d'activité
1) Une plage d'activité pour les internautes qui consultent le site de l'agence à toute heure de la journée. Cependant, l'activité est plus forte le jour que la nuit (3 fois plus).
2) Une plage d'activité pour les travailleurs de l'agence, principalement aux heures ouvrables
3) Une plage d'activité pour les batchs de facturation qui est impérativement concentrée entre 1h30 et 4h00 du matin


Les deux premières plages sont exprimées en poids. La dernière en pourcentage (le symbole "%" précède la ligne qui décrit chaque heure)

L'onglet G_Plage contient un graphique illustrant  pour chaque plage l'évolution de l'activité au cours des heures


lundi 14 avril 2014

GRAF - Diagramme des flux physiques

Après avoir généré les flux physiques, on peut dessiner un diagramme GRAF reprécsentant ces mêmes flux physiques.

Ce dernier est proche d’un FlowView d’Archimate - avec la couleur et les techniques graphiques caractéristiques de GRAF en plus (les OU logiques par exemple) -.


Ci-dessous le diagramme des flux physiques de notre application « Agence de voyage »



Bien sûr on peut élaborer le diagramme sans passer par le générateur. Notons toutefois que dans un système complexe pour lequel les spécifications fonctionnelles sont difficiles à stabiliser, les flux logiques évoluent beaucoup. Le générateur qui permet de passer des flux physiques aux flux logiques  est alors utile pour vérifier que nous n’avons oublié aucun flux dans le diagramme.

Ci-dessous, l’intégralité des flux logiques de l’agence de voyage, qui ont servi à la vérification du schéma

descr
obsol
menv
src
dst
prot






écriture base pour flux logique YGYG_Client___ (Client) et lecture base pour flux logique YGYP_Clients__ (Clients) et écriture base pour flux logique YGYG_Demandes____1 (Demandes) et lecture base pour flux logique YGYG_Demandes____2 (Demandes) et écriture base pour flux logique YPYP_DossiVoya (Dossier Voyage) et écriture base pour flux logique YGYG_MisJouDon (la mise à jour de données) et lecture base pour flux logique YGYP_Reservati (Réservations)
+
1
P-MVO-T
P-MVO-D
sqlnet
accès au serveur apache depuis l'extérieur pour flux logique C_YG_DemanVoya (Demander voyage)
+
1
X-CLI-P
P-MVO-W
http
du serveur apache au serveur d'application pour flux logique C_YG_DemanVoya (Demander voyage) et du serveur apache au serveur d'application pour flux logique M_YM_GererCata (Gérer catalogue) et du serveur apache au serveur d'application pour flux logique V_YG_TraDemVoy___1 (Traiter demande voyage) et du serveur apache au serveur d'application pour flux logique V_YG_TraDemVoy___2 (Traiter demande voyage)
+
1
P-MVO-W
P-MVO-T
RMI
Envoi du message au provider JMS pour flux logique YGYG_DeposDema (Déposer demande)
+
1
P-MVO-T
X-JMS-T
http
Du provider JMS au serveur de destination pour flux logique YGYG_DeposDema (Déposer demande)
+
1
X-JMS-T
P-MVO-T
http
appel d'un web service dans l'ESB pour flux logique YPYE_EnvDosVoy (Envoyer dossier voyage) et appel d'un web service dans l'ESB pour flux logique YGYE_Reserver____1 (Réserver) et appel d'un web service dans l'ESB pour flux logique YGYE_Reserver____2 (Réserver)
+
1
P-MVO-T
P-ECH-T
soap
lecture base pour flux logique YFYP_Factures_ (Factures)
+
1
P-MVO-T
P-FAC-D
sqlnet
écriture base pour flux logique YFYF_Factures_ (Factures)
+
1
P-FAC-T
P-FAC-D
sqlnet
accès au serveur apache depuis l'interne pour flux logique M_YM_GererCata (Gérer catalogue) et accès au serveur apache depuis l'interne pour flux logique V_YG_TraDemVoy___1 (Traiter demande voyage) et accès au serveur apache depuis l'interne pour flux logique V_YG_TraDemVoy___2 (Traiter demande voyage)
+
1
P-MVO-P
P-MVO-W
http
appel d'un web service  applicatif pour flux logique YPYP_ImpDosVoy (Imprimer Dossier Voyage)
+
1
P-MVO-T
P-IMP-T
soap
lecture base pour flux logique YGYF_Reservati (Réservations)
+
1
P-FAC-T
P-MVO-D
sqlnet
appel d'un web service dans l'ESB pour flux logique YEH__Reserver_ (Réserver)
+
1
P-ECH-T
X-HOT-T
soap
appel d'un web service dans l'ESB pour flux logique YEA__Reserver_ (Réserver)
+
1
P-ECH-T
P-MVO-P
soap