# Google Cloud Cheat-Sheet

## <span style="text-decoration: underline;">**Summary :**</span>

[1 - Les bases de données](https://docs.nehemiebarkia.fr/link/90#bkmrk-les-bases-de-donn%C3%A9es)

[2 - Le traitement de la donnée](https://docs.nehemiebarkia.fr/link/90#bkmrk-traitement-de-la-don)

[3 - Surveillance de la plateforme](https://docs.nehemiebarkia.fr/link/90#bkmrk-la-surveillance-de-l)

[4 - Sécurité](https://docs.nehemiebarkia.fr/link/90#bkmrk-s%C3%A9curit%C3%A9-%3A)

##  

## <span style="text-decoration: underline;">**Les bases de données :**</span>

### <span style="text-decoration: underline;">**Relationnelles :**</span>

##### <span style="text-decoration: underline;">**Google Cloud SQL**</span>

<span style="text-decoration: underline;">**Type :** </span>

- On a Server

<span style="text-decoration: underline;">**Technologies :** </span>

- Mysql
- PostgreSQL

<span style="text-decoration: underline;">**Utilité :** </span>

- CMS
- ERP (progiciel de gestion intégré)
- CMR (gestion de la relation client)
- E-Comerce &amp; Web
- Saas Applications

<span style="text-decoration: underline;">**Commandes :** </span>

```
gcloud sql
```

##### <span style="text-decoration: underline;">**Spanner**</span>

<span style="text-decoration: underline;">**Type :** </span>

- On Compute Engine
- Cloud Native
- Large Scale
- Consistency --&gt; Cohérence
- Haute disponibilité (99,999%)
- Transactions hautes performances
- RDBMS+ (système de gestion de base de données relationnelle)
- High availability --&gt; Haute disponibilité

<span style="text-decoration: underline;">**Avantages :** </span>

- Évoluez selon vos besoins de manière illimitée
- Assurez la haute disponibilité de votre base de données à l'échelle mondiale
- Réduisez les tâches fastidieuses en facilitant l'expérience

<span style="text-decoration: underline;">**Technologies :** </span>

- Schémas
- Requêtes SQL
- Transactions ACID

<span style="text-decoration: underline;">**Utilité :** </span>

- Gaming
- Global Financial Ledger
- Supply Chain Inventory Management

<span style="text-decoration: underline;">**Commandes :** </span>

```
/
```

##### BigQuerry

<span style="text-decoration: underline;">**Type :** </span>

- ServerLess
- Data WareHouse --&gt; Entrepôt de données

<span style="text-decoration: underline;">**Avantages :** </span>

- Obtenez des insights avec des analyses prédictives en temps réel
- Protégez vos données et menez vos opérations en toute confiance
- Accédez aux données et partagez des insights en toute simplicité
- Exécutez des analyses à grande échelle, avec un coût total de possession sur trois ans inférieur de 27 % à celui des autres solutions d'entreposage de données cloud.
- Gérez vos données à n'importe quelle échelle (de l'octet au pétaoctet) sans que cela n'engendre de coûts opérationnels.

<span style="text-decoration: underline;">**Technologies :** </span>

- ML et modélisation prédictive avec BigQuery ML
- Analyse de données multicloud avec BigQuery Omni
- Analyse de données interactive avec BigQuery BI Engine
- Analyse géospatiale avec les SIG BigQuery

<span style="text-decoration: underline;">**Exporter les données :**</span>

- Avro 
    - Compression : DEFLATE, SNAPPY
- CSV 
    - Compression : GZIP
- JSON 
    - Compression : GZIP
- Parquet 
    - Compression : SNAPPY, GZIP

<span style="text-decoration: underline;">**Commandes :** </span>

```
# General command
bq

# Estimate of the amount of data scanned
bq query <querry sommething> --dry_run

# Import Data
bq load --autodetect --source_format=[FORMAT] [DATASET].[TABLE]
[PATH_TO_SOURCE]

```

#####  

### <span style="text-decoration: underline;">**Non-Relationnelles** </span>: 

##### BigTable

<span style="text-decoration: underline;">**Type :** </span>

- On compute engine

<span style="text-decoration: underline;">**Avantages :** </span>

- Latence invariablement inférieure à 10 ms : traitez des millions de requêtes par seconde
- Idéal pour les cas d'utilisation comme la personnalisation, l'adtech, la fintech, les médias numériques et l'IoT
- Répondez parfaitement à l'évolution de vos besoins de stockage, sans temps d'arrêt pendant la reconfiguration
- Produit doté d'un moteur de stockage pour les applications de machine learning afin d'améliorer les prédictions

- Transparence du scaling et de la réplication
- Simplicité et intégration
- Rapidité et performances

<span style="text-decoration: underline;">**Technologies :** </span>

- Redimensionnement de cluster sans temps d'arrêt
- Haut débit à faible latence
- Réplication flexible et automatisée pour optimiser toutes les charges de travail
- CBT

<span style="text-decoration: underline;">**Utilité :** </span>

- Fraud Detection
- Analyse financière
- IoT
- Adtech

<span style="text-decoration: underline;">**Commandes :** </span>

```align-left
gcloud bigtable
```

##### FireStore

<span style="text-decoration: underline;">**Type :** </span>

- ServerLess

<span style="text-decoration: underline;">**Avantages :** </span>

- Synchronisation en ligne et mode hors connexion
- Moteur de requêtes puissant
- Bibliothèques pour les langages courants
- Réplication multirégionale
- Mode Datastore

<span style="text-decoration: underline;">**Utilité :** </span>

- Nosql document database
- backend as a service
- global strong consistency --&gt; Cohérence
- 99.999% SLA

<span style="text-decoration: underline;">**Commandes :** </span>

```
/
```

##### DataStore

<span style="text-decoration: underline;">**Type :** </span>

- ServerLess

<span style="text-decoration: underline;">**Avantages :** </span>

- haute évolutivité pour vos applications Web et mobiles.

<span style="text-decoration: underline;">**Fonctionnalités :** </span>

- Tableau de bord administrateur complet
- Divers types de données 
    - nombres entiers, les nombres à virgule flottante, les chaînes, les dates et les données binaires
- Plusieurs méthodes d'accès 
    - Accédez à vos données via notre API JSON, des clients Open Source ou des ORM gérés par la communauté (comme Objectify ou NDB).
- Transactions ACID 
    - Garantissez l'intégrité de vos données en exécutant plusieurs opérations de base de données dans une seule transaction avec des caractéristiques ACID, de sorte que les opérations regroupées réussissent ou échouent toutes.

<span style="text-decoration: underline;">**Info supprémentaire :** </span>

Firestore est la dernière version de Datastore et introduit plusieurs améliorations par rapport à Datastore. Les utilisateurs Datastore existants peuvent accéder à ces améliorations en créant une nouvelle instance de base de données Firestore en mode Datastore. À l'avenir, toutes les bases de données Datastore existantes seront automatiquement mises à niveau vers Firestore en mode Datastore.

#####  

### <span style="text-decoration: underline;">Autre</span> : 

##### MemoryStore

<span style="text-decoration: underline;">**Type :** </span>

- On Compute Engine
- In memory and key-value store

<span style="text-decoration: underline;">**Avantages :** </span>

- Créez des caches d'applications pour accéder aux données en moins d'une milliseconde
- Migrez votre couche de mise en cache vers le cloud sans changement de code

<span style="text-decoration: underline;">**Technologies :** </span>

- Redis
- Memcached

<span style="text-decoration: underline;">**Utilité :** </span>

- Caching
- Gaming
- Session Store
- LeaderBoard
- Social Tchat
- News Feed
- Haute disponibilité
- Submilisecond data access --&gt; Accès aux données inférieur à la milliseconde

<span style="text-decoration: underline;">**Commandes :** </span>

```
/
```

#####  

##### Google Cloud Storage

<span style="text-decoration: underline;">**Type :** </span>

- ServerLess

<span style="text-decoration: underline;">**Avantages :** </span>

- Stockage d'objets pour les entreprises de toutes tailles. Stockez n'importe quelle quantité de données et récupérez-les aussi souvent que vous le souhaitez.
- Déployez de nouvelles capacités de stockage 99 % plus rapidement que dans des environnements sur site.


<span style="text-decoration: underline;">**Types de stockage :** </span>

- Standard
- Nearline
- ColdLine
- Archive

<span style="text-decoration: underline;">**Commandes :** </span>

```align-left
# Coppy
gsutil cp

# Create a Bucket
gsutil mb

# Change Storage type 
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --storage-class=STORAGE_CLASS

```

## <span style="text-decoration: underline;">**Le traitement de la donnée :**</span>

##### DataFlow

<span style="text-decoration: underline;">**Type :** </span>

- ServerLess

<span style="text-decoration: underline;">**Avantages :** </span>

- Un traitement des données par flux et par lot sans serveur, à la fois rapide, unifié et économique.
- fully managed, serverless service for unified stream and batch data processing requirements

<span style="text-decoration: underline;">**Technologies :** </span>

- Apache Beam 
    - defining both batch- and streaming-data parallel-processing pipelines

<span style="text-decoration: underline;">**Utilité :** </span>

- preprocessing for machine learning

<span style="text-decoration: underline;">**Commandes :** </span>

```
gcloud dataflow
```

#####  

##### DataProc

<span style="text-decoration: underline;">**Type :** </span>

- ServerLess

<span style="text-decoration: underline;">**Avantages :** </span>

- Dataproc est un service entièrement géré et hautement évolutif qui permet d'exécuter Apache Spark, Apache Flink, Presto et plus de 30 outils et frameworks Open Source. Entièrement intégré à Google Cloud, Dataproc vous permet de moderniser vos lacs de données, d'effectuer des tâches d'ETL et de sécuriser la science des données à l'échelle mondiale et pour un moindre coût.

<span style="text-decoration: underline;">**Technologies :** </span>

- Apache Hadoop
- Apache Spark
- Apache Flink
- Presto

<span style="text-decoration: underline;">**Utilité :** </span>

- Stream Processing
- Batch Processing
- Terative processing and notebooks
- Machine Learning With Spark ML
- Dataproc is a managed Spark and Hadoop service that lets you take advantage of open source data tools for batch processing, querying, streaming, and machine learning. Dataproc automation helps you create clusters quickly, manage them easily, and save money by turning clusters off when you don't need them. With less time and money spent on administration, you can focus on your jobs and your data.
- If you have a substantial investment in Apache Spark or Hadoop on-premise and considering moving to the cloud
- If you are looking at a Hybrid cloud and need portability across a private/multi-cloud environment
- If in the current environment Spark is the primary machine learning tool and platform In case the code depends on any custom packages along with distributed computing need

<span style="text-decoration: underline;">**Commandes :** </span>

```align-left
gcloud dataproc
```

#####  

## <span style="text-decoration: underline;">**La Surveillance de la plateforme :**</span>

### <span style="text-decoration: underline;">**Monitoring** </span>: 

Used to notify DevOps engineers when resources are not functioning as expected

### <span style="text-decoration: underline;">**Trace** </span>:

Distributed tracing application that provides details on how long different parts of code run

### <span style="text-decoration: underline;">**Logging** </span>:

Logging is for collecting, storing, and viewing log data.

### <span style="text-decoration: underline;">**Debug** </span>:

Generate snapshots that provide a view of the status of an application at a particular point in its execution

## <span style="text-decoration: underline;">**Sécurité :**</span>

### <span style="text-decoration: underline;">**Google Cloud Armor** </span>:

Protégez vos applications et vos sites Web contre les attaques sur le Web et par déni de service.

<span style="text-decoration: underline;">**Avantages** </span>:

- Protection contre les attaques DDoS de niveau professionnel
- Atténuer les risques répertoriés dans le top 10 de l'OWASP
- Protection gérée

<span style="text-decoration: underline;">**Fonctionnalités :** </span>

- Adaptive Protection 
    - Détectez et limitez automatiquement les nombreuses attaques DDoS de couche 7 à l'aide d'un système de ML entraîné localement sur vos applications.
- Solution compatible avec les déploiements hybrides et multicloud 
    - Protégez-vous des attaques DDoS ou sur le Web et appliquez des stratégies de sécurité de couche 7, que votre application soit déployée sur Google Cloud ou sur une architecture hybride ou multicloud.
- Règles WAF préconfigurées 
    - Règles prêtes à l'emploi basées sur les standards de l'industrie, permettant de réduire les failles courantes des applications Web et de protéger le système des dix risques les plus importants sur OWASP.
- Gestion des robots 
    - Ce service fournit à vos applications une protection automatique contre les bots et permet d'empêcher la fraude en ligne et à la périphérie grâce à l'intégration native à reCAPTCHA Enterprise.
- Limitation de débit 
    - Les règles basées sur le taux vous aident à protéger vos applications contre les attaques qui inondent vos instances avec un grand volume de requêtes afin de bloquer l'accès des utilisateurs légitimes.

<div id="bkmrk--0"><div></div></div><div id="bkmrk--1"><div></div></div>