1. Scripts
    1. Overview
      1. Automation eases management of large number of VMs
      2. Automate software installation, updates, services
      3. Easily and programmatically customize VMs
      4. Key component of instance groups and autoscaling
    2. Considerations
      1. Scripts always run as root/administrator
      2. Can run whatever script types OS recognizes
    3. Input Method
      1. Direct input allows users to paste instance properties in script field
      2. Very useful for large scale automation
      3. Link to script in Google Cloud Storage
      4. Must have access to bucket/object
      5. Using metadata server URL
    4. Shutdown
      1. Best effort basis
      2. Run during shutdown period
      3. May shutdown before script completes
      4. Good to pair with preemptible instances
      5. Great for managed instance group/autoscaler
  2. Agent
    1. Gathers system and application metrics from VM and sends them to Cloud Monitoring
    2. Without the Agent, only CPU, disk traffic, network traffic and uptime metrics are collected
    3. Using the agent is optional but recommended
    4. Monitors many 3rd party applications
  3. Labels
    1. Labels are key-value pairs
    2. Tools for organizing resources
    3. Can be applied across all resources
    4. Search for and filter resources by labels
    5. Organization purpose only
    6. Does not affect resource operation
  4. Quotas
    1. Used to set a cap on resources
    2. e.g. 24 CPUs per region, 5 static IPs per project
    3. Prevents unexpected spikes in usage and billing
    4. Prevents runaway consumption due to error or malicious intent
    5. Forces user to re-assess needs
    6. Most quotas are soft caps and can be raised by request
    7. Free trials have additional quotas in place
    8. Support ticket or self service form
    9. Types
      1. Resources per project (global, not region-bound)
      2. API rate limit per request per project
      3. Per region