code: func NewGlobalServices(c context.Context) (*GlobalServices, error) {
  	var err error
  
  	// Instantiate our services. At the moment, it doesn't have instantiated
  	// clients, so it's only partially viable. We will use it to fetch our
  	// application configuration, which we will in turn use to instantiate our
  	// clients.
  	s := GlobalServices{
  		storageCache: &StorageCache{},
  	}
  
  	// Load our service configuration.
  	cfg, err := s.Config(c)
  	if err != nil {
  		return nil, errors.Annotate(err, "failed to get service configuration").Err()
  	}
  
  	// Connect our clients.
  	if err := s.connectBigTableClient(c, cfg); err != nil {
  		return nil, errors.Annotate(err, "failed to connect BigTable client").Err()
  	}
  
  	if err := s.createGoogleStorageClientFactory(c, cfg); err != nil {
  		return nil, errors.Annotate(err, "failed to connect Google Storage client").Err()
  	}
  
  	return &s, nil
  }
docs: // NewGlobalServices instantiates a new GlobalServices instance.
  //
  // The Context passed to GlobalServices should be a global Context not a
  // request-specific Context, with required services installed:
  // - auth
  // - luci_config