2. Ikoula, aujourd’hui en quelques chiffres
Création en 1998
6 M€ de CA
5 000 clients
+25% de croissance par an
45 employés dont 2/3 d’ingénieurs
Réseau 40 Gbs
5 000 serveurs infogérés
8 000 serveurs virtuels en production
> 240 accords de peering
Propriétaire du Data Centre de 1 750m2 en France
Support sur site en 24/7
3 business unit: Express Hosting, Ikoula Enterprise Services et EX10
3. 3 business Units
Hébergement sur mesure et Services à
valeur ajoutée
Infogérance, Cloud privé, Messagerie & collaboration,
DataCenter & Réseaux…
Solutions Packagées
Serveurs dédiés & machines virtuelles, Cloud
Stockage avec IkeepinCloud, hébergement web,
Certificat SSL…
Place de marché Cloud pour les revendeurs
Messagerie avec Exchange 2010, Collaboration avec SharePoint 2010,
Communication avec Lync 2010, Cloud privé avec CloudStack…
4. Une infrastructure sécurisée propriétaire
Bâtiment de
1 750m²
sécurisé
Salles blanches
indépendantes
Energie,
Climatisation,
Sécurité
incendie &
Inondations
Photos by Ikoula
5. Un réseau multi-Opérateurs étendu
Multi Opérateurs...
1750 m2 de superficie totale
3 modules data centre
Bâtiment green generation
10 opérateurs sur site
Haute disponibilité
NOC sur site en 24/7
7. CloudStack orchestrateur multi-
hyperviseurs et multi-tenant
• Plateforme Cloud d’orchestration
sécurisée
– Permet de créer des Cloud Privés pour les clients finaux
– Hyperviseur agnostique
– Hautement flexible, securisé et ouvert
– Interface en self service complet
– Open source, standards ouverts
– Compatibilité Amazon
8. Historique CloudStack
2010 Cloud.com GPLv3
2011 Cloud.com acheté par
Citrix
Avril 2012 don de CloudStack à
la Fondation Apache
Mars 2013 Sortie d'incubation
TLP
v4.0.2, 4.1...
9. CloudStack, c’est le choix du leader
Le plus large environnement public
Vidéo à la demande avec le Cloud
Jeux en ligne via Facebook
11. CloudStack Server by Ikoula
Une interface unique
Déploiement géographique
QoS dans le Cloud
Support 24/7
Maîtrise des coûts
Interopérabilité grâce aux API compatibles
L’offre Ikoula: l’Amazon maîtrisé
14. CloudStack Server by Ikoula
Une interface unique
Déploiement géographique
QoS dans le Cloud
Support 24/7
Maîtrise des coûts
Interopérabilité grâce aux API compatibles
L’offre Ikoula: l’Amazon maîtrisé
16. CloudStack Server by Ikoula
Une interface unique
Déploiement géographique
QoS dans le Cloud
Support 24/7
Maîtrise des coûts
Interopérabilité grâce aux API compatibles
L’offre Ikoula: l’Amazon maîtrisé
17. Latence entre les 2
instances
Garantie de disponibilité
des ressources
QoS dans le Cloud
18. CloudStack Server by Ikoula
Une interface unique
Déploiement géographique
QoS dans le Cloud
Support 24/7
Maîtrise des coûts
Interopérabilité grâce aux API compatibles
L’offre Ikoula: l’Amazon maîtrisé
21. CloudStack Server by Ikoula
Une interface unique
Déploiement géographique
QoS dans le Cloud
Support 24/7
Maîtrise des coûts
Interopérabilité grâce aux API compatibles
L’offre Ikoula: l’Amazon maîtrisé
23. CloudStack Server by Ikoula
Une interface unique
Déploiement géographique
QoS dans le Cloud
Support 24/7
Maîtrise des coûts
Interopérabilité grâce aux API compatibles
L’offre Ikoula: l’Amazon maîtrisé
24. L’infrastructure, une ressource comme les
autres
Usages qui guident l’infrastructure
Portabilité des codes entre le IaaS
Interopérabilité grâce aux API compatibles
25. CloudStack Server by Ikoula
Une interface unique
Déploiement géographique
QoS dans le Cloud
Support 24/7
Maîtrise des coûts
Interopérabilité grâce aux API compatibles
L’offre Ikoula: l’Amazon maîtrisé
26. L’offre Ikoula: l’Amazon maîtrisé
Amazon EC2
Pay as you go, compteur de consommation
Facturation à l’heure
Support via twitter
Choisir la situation géographique mais sur un
nœud unique
Partage du stockage de la VM
Simple pour les développeurs grâce à l’API
CloudStack Serveur d’Ikoula
Maîtrise des coûts: CloudStack Server all inclusive
Maîtrise de la facturation
Infogérance et Support 24/7 sur site français
Choix des zones géographique sur nœuds
indépendants
Garantie de latence entre 2 instances
Interopérabilité grâce aux API compatibles AWS
EC2 et S3
CloudStack VM à la ressource pour tout
débordement
27. CloudStack Server d’Ikoula
Availability and Security
Servers Network Storage
Virtualization Layer
Resource Management
Servers Storage Network
Dynamic Workload Management
Backup LB HA Monitoring
User Interface Developer API
Amazon
Open
Stack
Custom
Image Libraries
Application Catalog
Custom Templates
Operating System ISOs
IntegrationAPI
Admin End User Console
Infogérance et Support 24/7
GeographicalZone
28. CloudStack Server CloudStack Instance
Services de CloudStack Serveur +
Coût à l’instance utilisée (heure ou
mensuelle)
Plusieurs Niveaux de remise
Marque blanche
Modèles CloudStack
37. Pourquoi ? Contre le rejeu !
&signatureVersion=3
&expires=2011-10-10T12:00:00+0530 Format iso8601
expires=YYYY-MM-DDThh:mm:ssZ
Expiration de la requête
38. 4 étapes :
On « URL encode » les valeurs des paramètres
On trie par ordre alphabétique, on « lowercase » les
paramètres
HMAC-SHA1 avec la secret key
Résultat en Base64
Comment signer les requêtes ?
39. - XML par défaut
- JSON avec « &response=json »
Et cela répond quoi ?
41. Des codes d'erreur HTTP sont retournés :
Par exemple le HTTP 401 pour des erreurs de droits /
incohérences (réseau dans une zone et déploiement
dans une autre zone)
Quelque fois cela ne marche pas ?
42. immédiats : listVirtualMachines deleteVolume
asynchrones (A) : rebootVirtualMachine addVpnUser
Jobs immédiats / Jobs asynchrones
43. 0 : en cours
1: complété
2 : Fail !
jobresult ?
jobresultcode ?
queryAsyncJobResult JobID
49. Connexion à l’API :
try {
$cloudstackClient = new
CloudStackClient($config['endpoint'], $config['api_key'],
$config['secret_key']);
}
catch (Exception $e) {
err($e->getMessage());
}
Exemple en PHP avec la librairie de qpleple
50. Création de 10 vms :
Exemple en php avec la librairie de qpleple
51. function WaitUntilJobisFinished($cloudstackClient, $jobid){
echo("Waiting for job {$jobid} to finish");
$jobstatus=0;
while($jobstatus==0) {
foreach ($cloudstackClient->listAsyncJobs() as $job) {
if ($job->jobid==$jobid) {
$jobstatus = $job->jobstatus; echo(".");
}
}
sleep (10); // On attends 10 secondes entre chaque demande
}
}
Exemple en php avec la librairie de qpleple