Tutoriel Google Cloud: Premiers pas avec Google Cloud

Lorsque les gens pensent au mot Google, ils pensent à la recherche et à l'immense infrastructure de calcul qui convertit vos mots en une liste de sites Web qui ont probablement exactement ce que vous cherchez. Il a fallu des années à Google pour embaucher les ingénieurs, concevoir les ordinateurs personnalisés et créer l'énorme collection de matériel qui répond aux requêtes Web. Maintenant, il peut être le vôtre en quelques frappes et clics. 

Google loue une grande partie de cette expertise et de cette infrastructure à d'autres sociétés Web. Si vous souhaitez créer un site Web ou un service intelligent, Google est prêt à vous facturer pour l'exécuter sur sa vaste collection de machines. Tout ce que vous avez à faire est de commencer à remplir des formulaires Web et vous aurez bientôt une grande collection de serveurs prêts à évoluer et à gérer vos tâches.

Pour un guide rapide pour commencer et pour naviguer parmi les nombreux choix en cours de route, suivez-moi.  

Étape 1: Configurez votre compte

C'est la partie facile. Si vous avez un compte Google, vous êtes prêt à partir. Vous pouvez vous connecter à cloud.google.com et accéder directement à votre console et à votre tableau de bord. Il n'y aura pas grand chose à voir ici lorsque vous commencerez, mais bientôt vous commencerez à voir des détails sur ce que fait votre vaste empire informatique. Autrement dit, la charge sur toutes les instances de serveur que vous avez créées, les données qui transitent par le réseau et l'utilisation des API. Vous pouvez vous assurer que tout se passe bien en un coup d'œil.

Étape 2: Identifiez votre besoin de structure

Il existe deux façons d'utiliser l'infrastructure de Google: à leur manière et à leur manière. Si vous souhaitez tirer parti de tout le génie de l'équipe de développement de Google, vous pouvez choisir les outils qui vous offrent beaucoup de prise en main. Google App Engine, par exemple, vous permet de créer une application Web sophistiquée avec seulement quelques centaines de lignes de code, tout en s'appuyant sur la collection organisée par Google de frameworks internes et open source. App Engine est un moyen rapide de créer quelque chose rapidement.

Si vous possédez déjà votre propre code ou si vous craignez d'être enfermé dans le chemin de Google, vous pouvez louer des machines à la seconde en utilisant Google Compute Engine. Tout ce que vous faites est de choisir l'une des principales distributions Linux ou Windows et quelques secondes plus tard, vous obtenez un mot de passe root, un accès à une ligne de commande et aucune limitation.

Il y a des options entre les deux. Vous pouvez personnaliser App Engine avec une partie de votre propre code si vous le souhaitez ou vous pouvez choisir certaines des images prédéfinies pour Compute Engine qui incluent déjà tous les fichiers nécessaires pour les applications populaires telles que WordPress ou Node.js. Et puis il y a encore plus d'options qui se situent quelque part entre celles-ci.

Vous vous retrouverez probablement avec un mélange de support, peut-être en utilisant une application App Engine entièrement structurée pour une partie et un peu de code personnalisé s'exécutant sur du matériel de base pour une autre. Il est plus important que vous décidiez ce que vous voulez faire par vous-même et dans quelle mesure vous êtes prêt à tirer parti des outils de Google.

Vidéo connexe: Qu'est-ce que l'approche cloud native?

Dans cette vidéo de 60 secondes, découvrez comment l'approche cloud native change la façon dont les entreprises structurent leurs technologies, de Craig McLuckie, fondateur et PDG de Heptio, et l'un des inventeurs du système open source Kubernetes.

Étape 3: envisager des approches non traditionnelles

Tout le monde n'a pas besoin de créer des applications Web de la même manière. Google propose tellement d'options qui peuvent souvent produire d'excellents résultats sans écrire de code traditionnel. Une idée intelligente, par exemple, combine une extension Chrome avec le compte Google Drive de l'utilisateur pour le stockage. Le seul code s'exécute sur le client et Google gère toute l'infrastructure. Vous devriez réfléchir à deux fois pour vous assurer que votre application ne peut pas être résolue par une approche plus simple.

Étape 4: Choisissez une machine

C'est presque une erreur de penser à cela comme à choisir quelque chose de physique comme une «machine» tangible. Vous choisissez simplement la puissance du processeur, la mémoire et l'espace disque dont vous pensez avoir besoin. Compute Engine propose des dizaines de «machines» de taille standard, ou vous pouvez choisir vos propres combinaisons personnalisées.

Si vous recherchez plusieurs machines pour gérer une charge plus lourde, vous souhaiterez probablement créer un cluster Kubernetes avec Google Kubernetes Engine. Google a développé l'outil pour simplifier l'exécution de conteneurs sur plusieurs machines. Lorsque les charges augmentent, Kubernetes fait tourner plus d'instances et lorsque les charges diminuent, il les ralentit.

Vous pouvez également choisir de ne pas choisir en sélectionnant un chemin plus automatisé comme Google Cloud Functions. Google gère pour vous les décisions concernant la taille de la machine et vous facture en fonction de l'unité de travail effectuée par votre application. Vous payez pour chaque clic de client à des fractions d'un cent au lieu d'écrire un chèque pour le mois.

Il convient de noter que Google a automatisé d'autres aspects du processus en offrant des remises sur une utilisation prolongée qui s'appliquent après l'utilisation de votre machine pendant un certain pourcentage d'un mois. D'autres sociétés de cloud exigent que vous vous engagiez sur de longues périodes afin d'obtenir une réduction. Les remises de Google apparaissent automatiquement lorsque votre machine fonctionne pendant une période prolongée.

Étape 5: Configurez des benchmarks pour votre code

L'un des plus grands défis est de trouver la bonne taille pour votre machine, et Google propose tellement d'options que cela peut être intimidant. J'ai trouvé des différences de performances significatives difficiles à anticiper. Doubler le nombre de processeurs virtuels réduit rarement le temps de traitement de moitié. L'ajout de RAM supplémentaire peut considérablement accélérer votre machine, jusqu'à ce que vous en ayez déjà suffisamment ajouté pour contenir vos données en toute sécurité.

La seule solution est de comparer votre logiciel avec différentes configurations. L'une des meilleures options de Google Compute Engine est la façon dont vous pouvez combiner et assortir la quantité de RAM, de processeur et d'espace disque. Vous n'êtes pas limité à des combinaisons prédéfinies. Commencez donc à expérimenter au début, puis n'oubliez pas d'essayer à nouveau tous les quelques mois au cas où les charges se seraient déplacées et que vos performances seraient différentes.

Étape 6: Choisissez une option de stockage de données

Le Google Cloud propose au moins cinq options différentes pour protéger vos données, puis vous pouvez toujours implémenter votre propre modèle de stockage de données à l'aide de ses disques persistants bruts. La première question est de savoir si vous souhaitez utiliser la structure d'une base de données relationnelle conçue pour répondre à SQL ou si vous voulez la liberté plus non structurée de NoSQL et du stockage d'objets.

Pour SQL, Google a intégré sa propre API autour de MySQL et Postgres. Google Cloud SQL automatise vos sauvegardes, réplication, correctifs et mises à jour. Vous écrivez le code qui se connecte à ces options open source populaires. Google Cloud Spanner offre également une structure relationnelle, mais à des niveaux de service très élevés. Google fait la promesse audacieuse d'un «SLA de disponibilité de 99,999%, aucun temps d'arrêt planifié et une sécurité de niveau entreprise» (Voir la critique de.)

Si vous êtes plus intéressé par les modèles de documents moins structurés de NoSQL, il existe plusieurs options, notamment Cloud Storage, Cloud Bigtable et Cloud Datastore.

Et il est important de consulter Firebase, une base de données sophistiquée qui fait bien plus que simplement stocker les informations. Il regroupe une grande partie de l'infrastructure dont vous avez besoin pour authentifier les utilisateurs, synchroniser les données avec les clients, servir des fichiers, envoyer des notifications et garder un œil sur ce que font votre application et les utilisateurs. 

Toutes ces options sont facturées en fonction de la quantité de données que vous y mettez. Plus vous stockez, plus vous payez.

Étape 7: Parcourez les API Google

Le nombre d'API disponibles sur Google Cloud est presque effrayant. Bien sûr, la plupart d'entre eux sont disponibles sur n'importe quel ordinateur sur Internet, mais il est difficile de ne pas croire (ou simplement imaginer) qu'ils fonctionnent mieux dans le cloud de Google.

Beaucoup de ces API peuvent vous faire gagner beaucoup de temps en programmation. Google Maps, par exemple, fournit des cartes détaillées du monde entier pour votre application Web. Cloud Data Loss Prevention examinera vos documents et signalera (ou même masquera) les informations sensibles telles que les numéros de sécurité sociale. Il existe des dizaines d'options et toutes facturent à quelle fréquence et à quel point vous les utilisez. Beaucoup proposent des niveaux de service gratuits pour les petites applications et les nouveaux clients.

Étape 8: Découvrez les outils d'analyse de données

Google a considérablement augmenté le nombre d'outils d'analyse de données et d'apprentissage automatique en utilisant toutes ses recherches internes. Vous pouvez prendre n'importe laquelle des données que vous stockez, puis appliquer les outils Big Data ou Cloud AI de Google pour trouver des modèles et des signaux.

Beaucoup de ces outils sont utiles pour analyser toutes les données recueillies à partir de votre application. Si vous vendez des produits, vous pouvez rechercher des corrélations entre les clients et les produits qu'ils choisissent afin de mieux anticiper les besoins de vos clients. Si une partie du pays aime une couleur, les algorithmes vous aideront à la découvrir, ainsi que des connexions moins évidentes.

Ces outils ne nécessitent pas que vous utilisiez App Engine ou Compute Engine pour collecter les informations. Vous pouvez télécharger des données à partir d'autres systèmes.

Étape 9: Choisissez vos régions et zones

Pour de nombreux travaux de base, il n'y a aucune raison de s'inquiéter beaucoup de l'emplacement réel de l'ordinateur qui effectue le travail. Ça s'appelle le cloud, non? La métaphore suggère que nous n'avons pas besoin de nous soucier exactement de l'endroit où la magie opère.

Cependant, certains emplois nécessitent une attention particulière pour des raisons juridiques ou pratiques. Google dispose de centres de données sur tous les continents, à l'exception de l'Antarctique et de l'Afrique. Chaque continent est divisé en «régions» et chaque région est divisée en «zones». Si vous voulez être sûr que la vie continuera en cas de problème, vous devez louer des machines dans des zones séparées. Si vous voulez être encore plus sûr, vous devez exécuter vos applications dans plusieurs régions.

Les produits et outils individuels fonctionnent généralement partout, mais il existe des lacunes. Par exemple, App Engine n'est disponible que dans trois des quatre régions américaines. D'autres produits comme Cloud Storage vous offrent l'option d'une ou de plusieurs régions.

Étape 10: Commencez à coder

Arrêtez de lire et sortez de l'éditeur. Si vous comptez utiliser App Engine, il ne faudra pas longtemps pour que quelque chose fonctionne. Si vous louez du matériel standard, vous aurez un accès au niveau racine à la distribution de votre choix en quelques minutes. Cela ne prend que quelques secondes pour activer une puissance de feu informatique massive. Ce que vous faites avec ce pouvoir dépend de vous.