Un Voyage dans le Cloud - Dev & Test

Preview:

DESCRIPTION

Nous présenterons certains des mécanismes clés pour l’utilisation de la plateforme AWS comme environnement de déploiement élastique ; nous discuterons aussi des clients qui utilisent actuellement AWS pour leurs développements et leurs tests ; enfin, nous vous donnerons quelques conseils pour vous aider à gérer votre infrastructure et rester compétitif.

Citation preview

Voyage dans le cloud:

Développement & Test

Stephan Hadinger – Architecte Solutions @aws_actus

Cas d’utilisation classiques et premiers pas dans le cloud AWS Retour d’expérience de cas clients

Meilleures pratiques pour démarrer vos projets

Voyage dans le cloud

Explorez les bénéfices d’AWS pour le domaine ‘hors production’ Gagnez en agilité pour vos développements

Montez en compétences sur le cloud Utilisez l’élasticité et l’automatisation à leur bénéfice maximal

Développement & test

Pourquoi utiliser AWS pour le dev-test? Quels services AWS utiliser? Patterns classiques Pour aller plus loin

Ordre du jour

Pourquoi utiliser AWS pour les développements et les tests?

SaaS

Applications

mobiles

Environnements de test

Performance

Charge

Fonctionnel

Continu

Applications

Business Utilisateur

Intégration

Unitaire

endurance

Agile

Traits communs

Jetables Nombreux

De nombreux environnements Préservations des configurations connues Cycles de développement se chevauchant

Projets démarrent et s’arrêtent souvent Cycles de vie courts "golden masters" préférables

Jetables Nombreux

Préservez-les pour un usage futur

Stockage et images hautement durables

Jetez les quand vous n’en avez plus besoin Optimisation des coûts Capacité élastique illimitée

Développement & test dans le cloud

Démarrez des ressources quand vous en avez besoin

Le datacenter élastique Lancez des environnements quand vous en avez besoin

Applications packagées Frameworks de développement et de test sur AWS

Tests à l’échelle Déploiement en production

Démarrez des ressources quand vous en avez besoin

Le datacenter élastique Lancez des environnements quand vous en avez besoin

Applications packagées Frameworks de développement et de test sur AWS

Tests à l’échelle Déploiement en production

Démarrez des ressources quand vous en avez besoin

Blocs de base…

Bloc de base personnalisé

Image générique

Etendez les environnements sur site…

Avec Amazon VPC…

Démarrez les ressources à volonté…

Connectez-vous par des liens sécurisés…

Puis éteignez les ressources

Préservez-les pour un usage futur

Démarrez des ressources quand vous en avez besoin

Jetez les quand vous n’en avez plus besoin

Le datacenter élastique Lancez des environnements quand vous en avez besoin

Applications packagées Frameworks de développement et de test sur AWS

Tests à l’échelle Déploiement en production

Démarrez des ressources quand vous en avez besoin

“…AWS seemed to be the best solution available to allow a small, independent company to rapidly develop and test a

completely new infrastructure, and host it.

We also loved the flexibility that AWS allowed us, when spinning up smaller test

environments, for beta trials, QA, localization, and during development. The

low initial cost was also crucial.”

Alex Evans, CTO

Démarrez des environnements qui vous conviennent

Faites-le vous-même

CloudFormation

Beanstalk

AMIs, snapshots,

boostrapping

Utilisez les blocs de base AWS

pour monter un environnement

qui convient à vos besoins

Utilisez la console ou écrivez des

scripts simples

Conteneurs standards

gérés

Donnez accès à des

environnements de

développement et de test aux

développeurs directement

depuis les IDE

Configurez les propriétés des

conteneurs selon vos besoins

AMIs, snapshots,

boostrapping

Utilisez les blocs de base AWS

pour monter un environnement

qui convient à vos besoins

Utilisez la console ou écrivez des

scripts simples

Démarrez des environnements qui vous conviennent

Faites-le vous-même

CloudFormation

Beanstalk

Faites-le vous-même

CloudFormation

Beanstalk

Définissez vos besoins

de manière déclarative

Utilisez toute la puissance du cloud

et lancez des environnements

complexes avec le langage

CloudFormation

Générez des environnements qui

évoluent avec vos développements

Conteneurs standards

gérés

Donnez accès à des

environnements de

développement et de test aux

développeurs directement

depuis les IDE

Configurez les propriétés des

conteneurs selon vos besoins

AMIs, snapshots,

boostrapping

Utilisez les blocs de base AWS

pour monter un environnement

qui convient à vos besoins

Utilisez la console ou écrivez des

scripts simples

Démarrez des environnements qui vous conviennent

Faites-le vous-même

CloudFormation

Beanstalk Démarrez des environnements qui vous conviennent

Définissez vos besoins

de manière déclarative

Utilisez toute la puissance du cloud

et lancez des environnements

complexes avec le langage

CloudFormation

Générez des environnements qui

évoluent avec vos développements

Conteneurs standards

gérés

Donnez accès à des

environnements de

développement et de test aux

développeurs directement

depuis les IDE

Configurez les propriétés des

conteneurs selon vos besoins

AMIs, snapshots,

boostrapping

Utilisez les blocs de base AWS

pour monter un environnement

qui convient à vos besoins

Utilisez la console ou écrivez des

scripts simples

Faites-le vous-même

CloudFormation

Beanstalk Démarrez des environnements qui vous conviennent

…dans une variété de conteneurs

Java

Python

Ruby

Node.JS

.Net

PHP

Faites-le vous-même

CloudFormation Beanstalk

Package applicatif déployé dans Beanstalk

CloudFormation Beanstalk Faites-le

vous-même

Votre application

Application Service

HTTP Service

Language Interpreter

Operating System

Host

Qui crée le conteneur dans Amazon EC2

CloudFormation Beanstalk Faites-le

vous-même

Beanstalk s’occupe de l’environnement…

CloudFormation Beanstalk Faites-le

vous-même

…ajoute un Elastic Load Balancer…

CloudFormation Beanstalk Faites-le

vous-même

…un Auto Scaling group

CloudFormation Beanstalk Faites-le

vous-même

…puis lance les instances

CloudFormation Beanstalk Faites-le

vous-même

…tout est inclus dans le service Beanstalk

CloudFormation Beanstalk Faites-le

vous-même

…et publié sous un CNAME

CloudFormation Beanstalk Faites-le

vous-même

…les logs et versions d’applications conservés dans S3

CloudFormation Beanstalk Faites-le

vous-même

Faites-le vous-même

CloudFormation

Beanstalk

Définissez vos besoins

de manière déclarative

Utilisez toute la puissance du cloud

et lancez des environnements

complexes avec le langage

CloudFormation

Générez des environnements qui

évoluent avec vos développements

Conteneurs standards

gérés

Donnez accès à des

environnements de

développement et de test aux

développeurs directement

depuis les IDE

Configurez les propriétés des

conteneurs selon vos besoins

AMIs, snapshots,

boostrapping

Utilisez les blocs de base AWS

pour monter un environnement

qui convient à vos besoins

Utilisez la console ou écrivez des

scripts simples

Démarrez des environnements qui vous conviennent

Composants et terminologie CloudFormation

Template CloudFormation

Stack

Fichier au format JSON

Définition des paramètres

Création de ressources

Configuration des actions

Services AWS configurés

Support étendu des services

Personnalisable

Framework

Création des Stacks

Mise à jour des Stacks

Détection des erreurs et retour arrière

CloudFormation Beanstalk Faites-le vous-même

Template

Configuration connue Conservez les versions de vos stacks dans votre outil de gestion des sources

Système de paramètres Templates dynamiques et pilotés par les utilisateurs

Collaboration Partagez les templates aussi facilement que des fichiers sources

CloudFormation Beanstalk

Définition déclarative Peut être créé

de manière programmatique

Les bénéfices d’un environnement par template

Faites-le vous-même

Le datacenter élastique Lancez des environnements quand vous en avez besoin

Applications packagées Frameworks de développement et de test sur AWS

Tests à l’échelle Déploiement en production

Démarrez des ressources quand vous en avez besoin

Applications packagées

Certification of SAP BusinessObjects business intelligence solutions and SAP Rapid Deployment Solutions (RDS) on

Linux & Windows Server 2008 R2

Certification of SAP Business All-in-One on Linux & Windows Server 2008 R2

Certified database engines for production SAP deployments: MaxDB, DB2, MS SQL Server 2008 R2

http://aws.amazon.com/sap/

Templates et applications disponibles Réduisez le temps de démarrage de plusieurs jours à quelques minutes pour Oracle Enterprise Linux, Oracle Database 11gR2, Oracle E-Business Suite, Oracle JD Edwards Enterprise One, et Oracle PeopleSoft.

Le datacenter élastique Lancez des environnements quand vous en avez besoin

Applications packagées Frameworks de développement et de test sur AWS

Tests à l’échelle Déploiement en production

Démarrez des ressources quand vous en avez besoin

AWS est ouvert et flexible – construisez vos systèmes dev-test

Frameworks & environnements

Gestion des sources

Utilisez EC2 pour faire tourner les système de « source control »

populaires

Gestion de projet

Ajoutez de la gestion de projet et de tickets intégrés

Stations de travail

Instanciez des environnements de développement standards

Serveurs de Build

Utilisez la puissance de calcul à la demande d’EC2 pour faire de

l’intégration continue

Le datacenter élastique Lancez des environnements quand vous en avez besoin

Applications packagées Frameworks de développement et de test sur AWS

Tests à l’échelle Déploiement en production

Démarrez des ressources quand vous en avez besoin

Créez des environnements pour supporter différents type de tests

Tester à l’échelle

Tests unitaires et non-régression

Ajoutez des serveurs à la demande

pour réduire la durée des tests

Tests en charge & performance

Utilisez les instances « spot » pour

générer des fortes charges

A/B

Lancez des scénarios A/B avec des réplicas

d’environnements complets

Sécurité

Créez des environnements en « bac à sable » pour des tests de

sécurité agressifs

1 instance pendant 100 heures =

100 instances pendant 1 heure

Le datacenter élastique Lancez des environnements quand vous en avez besoin

Applications packagées Frameworks de développement et de test sur AWS

Tests à l’échelle Déploiement en production

Démarrez des ressources quand vous en avez besoin

Auto Scaling

Group

V1

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Auto Scaling

Group

V1

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Auto Scaling

Group

V1

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Auto Scaling

Group

V1

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Auto Scaling

Group

V2

Elastic

Load

Balancer

Amazon

Relational

Database Service

(RDS)

Préservez-les pour un usage futur

Stockage et images hautement durables

Jetez les quand vous n’en avez plus besoin Optimisation des coûts Capacité élastique illimitée

Développement & test dans le cloud

Démarrez des ressources quand vous en avez besoin

Instances à la demande Instances réservées Instances Ponctuelles (Spot)

Types d’instances

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage

Peu coûteux et flexible

Payer uniquement pour l’utilisation sans

engagement initial ou contrat à long terme

Cas d’usage :

Application à court terme, avec des pics d’usage ou non prédictibles

Développement et test d’applications

Termes à 1 ou 3 ans

Paiement unique peu élevé permettant de bénéficier d’une réduction importante des prix

horaires

Peu coûteux / Prédictible

Permet d’être certain de pouvoir lancer les instances réservées en cas de besoin

Cas d’usages:

Applications avec une charge stable ou

prédictible

Applications requérant de la capacité réservées incluant les plans de reprise d’activité

Offre faite sur la capacité EC2 inutilisée

Prix des instances ponctuelles basés sur l’offre et la demande et fixés automatiquement

Gestion par les coûts de capacité à grande

échelle

Cas d’usages:

Applications avec des temps de démarrage et de complétion flexibles

Applications requérant des prix de calculs très

faibles

0

2

4

6

8

10

12

14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Lo

ad

Hour

Daily CPU Load

Eteignez les quand vous pouvez

0

2

4

6

8

10

12

14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Lo

ad

Hour

Daily CPU Load

25% Economies

Eteignez les quand vous pouvez

0

2

4

6

8

10

12

14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Lo

ad

Hour

Auto-scaling programmé

Auto-scaling programmé

Eteignez les quand vous pouvez

Préservez-les pour un usage futur

Stockage et images hautement durables

Jetez les quand vous n’en avez plus besoin Optimisation des coûts Capacité élastique illimitée

Développement & test dans le cloud

Démarrez des ressources quand vous en avez besoin

Eteignez pour optimiser les coûts, mais conservez les configurations critiques

Des environnements jetables que vous pouvez recréer

AMIs

Créez un catalogue d’AMI pour

chaque itération d’une

application

Stocké dans Amazon S3

Eteignez pour optimiser les coûts, mais conservez les configurations critiques

Des environnements jetables que vous pouvez recréer

AMIs

Créez un catalogue d’AMI pour

chaque itération d’une

application

Stocké dans Amazon S3

Snapshots

Sauvegardez les images de vos

disques avec des jeux

d’instantanés, et attachez les

volumes aux instances quand

nécessaire

Eteignez pour optimiser les coûts, mais conservez les configurations critiques

Des environnements jetables que vous pouvez recréer

AMIs

Créez un catalogue d’AMI pour

chaque itération d’une

application

Stocké dans Amazon S3

Templates

Conservez dans vos outils de

gestion des sources les

templates avec chaque

application

Snapshots

Sauvegardez les images de vos

disques avec des jeux

d’instantanés, et attachez les

volumes aux instances quand

nécessaire

Eteignez pour optimiser les coûts, mais conservez les configurations critiques

Des environnements jetables que vous pouvez recréer

AMIs

Créez un catalogue d’AMI pour

chaque itération d’une

application

Stocké dans Amazon S3

Templates

Conservez dans vos outils de

gestion des sources les

templates avec chaque

application

Snapshots

Sauvegardez les images de vos

disques avec des jeux

d’instantanés, et attachez les

volumes aux instances quand

nécessaire

Faites des retours-arrière et recréez un environnement pour n’importe quelle version de l’application

No minimum commitment up front and pay per use

brings significant savings

Fast provisioning within minutes for many

applications

Elasticity – the ability to expand and contract IT

infrastructure as needed

Global oil and gas company

Using AWS since 2010

Operationalising their cloud strategy

Shell Foundation Platform – an IT framework – is

AWS approved

Core operational applications running in production

on AWS

Development and test environments running on

AWS

“The AWS Cloud brings business agility as Shell is able to deploy services much more quickly”

Johan Krebbers

Vice President of Architecture

The Story The Benefits

Pour aller plus loin

http://aws.typepad.com

http://aws.amazon.com/whitepapers

En résumé

Le cloud facilite le développement et le test

Offre des économies importantes grâce à son élasticité

Propose un ensemble unique d’outils pour créer et gérer des environnements

Permet une utilisation à l’échelle au delà des environnements physiques traditionnels

aws.amazon.com démarrez avec notre niveau d’utilisation gratuite

Merci

Stephan Hadinger – Architecte Solutions @aws_actus