Skip to content

Commit a97c2c4

Browse files
committed
fix(google): remove support for google cloud functions
1 parent 19867e0 commit a97c2c4

File tree

71 files changed

+629
-2953
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+629
-2953
lines changed

.circleci/config.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,12 @@ workflows:
109109
nodeVersion: "node16"
110110
executor: node16
111111
target: "test-aws"
112-
# - build_and_test:
113-
# name: "google-node16"
114-
# nodeVersion: "node16"
115-
# executor: node16
116-
# target: "test-google"
117112
- examples:
118113
nodeVersion: "node16"
119114
executor: node16
120115
- release:
121116
requires:
122117
- aws-node16
123-
# - google-node16
124118
- examples
125119
filters:
126120
branches:
@@ -142,13 +136,6 @@ workflows:
142136
target: "test-aws"
143137
requires:
144138
- cleanup
145-
# - build_and_test:
146-
# name: "google-node16"
147-
# nodeVersion: "node16"
148-
# executor: node16
149-
# target: "test-google"
150-
# requires:
151-
# - cleanup
152139
- examples:
153140
nodeVersion: "node16"
154141
executor: node16

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0) [![CircleCI](https://circleci.com/gh/faastjs/faast.js.svg?style=shield&circle-token=c97f196a78c7173d6ca4e5fc9f09c2cba4ab0647)](https://circleci.com/gh/faastjs/faast.js) [![codecov](https://codecov.io/gh/faastjs/faast.js/branch/master/graph/badge.svg?token=Ml90RLLbEh)](https://codecov.io/gh/faastjs/faast.js) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ffaastjs%2Ffaast.js.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Ffaastjs%2Ffaast.js?ref=badge_shield)
44

5-
Faast.js makes regular functions callable as serverless functions on AWS Lambda and Google Cloud. It handles the details of uploading your code, creating cloud infrastructure, and cleaning up. Scale up your functions to a thousand cores in seconds :rocket:
5+
Faast.js makes regular functions callable as serverless functions on AWS Lambda. It handles the details of uploading your code, creating cloud infrastructure, and cleaning up. Scale up your functions to a thousand cores in seconds :rocket:
66

77
Faast.js is a pure library with no service dependencies, operational overhead, or unnecessary complexity.
88

@@ -71,7 +71,7 @@ $0.00420858
7171
- **Cost-effective.** Understand and optimize your workload costs in real time. Pay only for compute time actually used.
7272
- **Ephemeral.** No clusters or services to manage. Faast.js creates the infrastructure it uses on the fly and cleans up when it's done.
7373
- **Productive.** First class support for TypeScript and JavaScript. Type safety, documentation, and extensive testing are part of our DNA.
74-
- **Multi-cloud:** Built-in support for AWS Lambda and Google Cloud Functions, as well as local processing mode when you don't have network access. Switch with one line of code.
74+
- **Local.** Built-in support for AWS Lambda and local processing mode when you don't have network access. Switch with one line of code.
7575

7676
## Ready to learn more?
7777

build/google-save-key.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

docs/01-introduction.md

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ Using the local provider allows you to test faast.js on your local machine. Ther
2020

2121
AWS is recommended for optimal faast.js performance. See [AWS setup instructions](./04-aws.md#setup).
2222

23-
Google Cloud is also supported. See [Google Cloud setup instructions](./05-google-cloud.md#setup).
24-
2523
## Usage
2624

2725
Cloud functions can be written as ordinary TypeScript or JavaScript modules:
@@ -109,7 +107,6 @@ Try out different providers:
109107

110108
```typescript
111109
await faast("aws", funcs);
112-
await faast("google", funcs);
113110
await faast("local", funcs);
114111
```
115112

@@ -147,15 +144,15 @@ await faast("aws", funcs, {
147144
});
148145
```
149146

150-
Read more about [package dependencies on AWS](./04-aws.md#package-dependencies) and [package dependencies on Google Cloud](./05-google-cloud.md#package-dependencies).
147+
Read more about [package dependencies on AWS](./04-aws.md#package-dependencies).
151148

152-
Check out even more options in [CommonOptions](./api/faastjs.commonoptions.md) and cloud-specific options in [AwsOptions](./api/faastjs.awsoptions.md), [GoogleOptions](./api/faastjs.googleoptions.md), and [LocalOptions](./api/faastjs.localoptions.md).
149+
Check out even more options in [CommonOptions](./api/faastjs.commonoptions.md) and cloud-specific options in [AwsOptions](./api/faastjs.awsoptions.md) and [LocalOptions](./api/faastjs.localoptions.md).
153150

154151
## Terminology
155152

156-
**Provider**: A Functions as a Service (FaaS) provider, such as AWS Lambda or Google Cloud Functions. Faast.js also has a "local" provider which uses child processes to simulate a FaaS service without cloud usage.
153+
**Provider**: A Functions as a Service (FaaS) provider, such as AWS Lambda. Faast.js also has a "local" provider which uses child processes to simulate a FaaS service without cloud usage.
157154

158-
**faast.js module**, also known as **faast module**: A wrapper around an ordinary JavaScript/TypeScript module that transforms exported ordinary functions into cloud functions. A faast.js module corresponds to a single AWS Lambda or Google Cloud Function that multiplexes requests to all of the functions exported by the module.
155+
**faast.js module**, also known as **faast module**: A wrapper around an ordinary JavaScript/TypeScript module that transforms exported ordinary functions into cloud functions. A faast.js module corresponds to a single AWS Lambda that multiplexes requests to all of the functions exported by the module.
159156

160157
**Remote function**: A function within a faast.js module instantiated on a provider.
161158

@@ -232,10 +229,6 @@ Usage:
232229
$ npx faastjs cleanup aws
233230
```
234231

235-
```shell
236-
$ npx faastjs cleanup google
237-
```
238-
239232
Example output:
240233

241234
```text
@@ -253,8 +246,6 @@ IAM roles
253246
Lambda layers
254247
Persistent cache: /Users/achou/.faastjs/aws/pricing
255248
cache entries: 12
256-
Persistent cache: /Users/achou/.faastjs/google/pricing
257-
cache entries: 5
258249
Persistent cache: /Users/achou/.faastjs/aws/gc
259250
cache entries: 1
260251
Cloudwatch log groups

docs/02-development-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ There's a natural way to use faast.js to maximize developer productivity:
1414

1515
3. Use the `"local"` provider to test your function as a faast.js module. In this mode your invocations execute in local processes. Debug any issues using standard debugging tools you know and love. Make sure your functions are idempotent by invoking them multiple times concurrently with the same arguments.
1616

17-
4. Switch from `"local"` to `"aws"` or `"google"` but limit [concurrency](./api/faastjs.commonoptions.concurrency.md) to a low amount, between 1-10. Use [logUrl](./api/faastjs.faastmodule.logurl.md) to review cloud logs of your code executing. The [DEBUG](#debug-environment-variable) environment variable can be useful to see verbose output as well.
17+
4. Switch from `"local"` to `"aws"` but limit [concurrency](./api/faastjs.commonoptions.concurrency.md) to a low amount, between 1-10. Use [logUrl](./api/faastjs.faastmodule.logurl.md) to review cloud logs of your code executing. The [DEBUG](#debug-environment-variable) environment variable can be useful to see verbose output as well.
1818

1919
5. Next, run a sample of your workload through [cost analyzer](./api/faastjs.costanalyzer.md) to find a good cost-performance tradeoff for the choice of memory size. A good default choice for CPU or S3-bandwidth bound workloads is between 1728MV-2048MB on AWS.
2020

docs/03-cost-estimates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Cost estimates are estimates. They do not capture all costs, and you should not
8383

8484
- The estimates do not take into account free tiers.
8585

86-
- The estimates assume worst-case tier pricing. If your cloud usage is extensive you may qualify for lower priced tiers (however AWS Lambda and Google Cloud Functions currently do not have tiered pricing, and usually account for most of the cost of faast.js workloads).
86+
- The estimates assume worst-case tier pricing. If your cloud usage is extensive you may qualify for lower priced tiers (however AWS Lambda currently do not have tiered pricing, and usually account for most of the cost of faast.js workloads).
8787

8888
- Ongoing storage costs such as S3 storage are not counted because they are ongoing and not ephemeral.
8989

docs/05-google-cloud.md

Lines changed: 0 additions & 90 deletions
This file was deleted.

docs/07-throttling-scaling.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ Running programs at scale introduce new issues. This topic covers some of these
1212

1313
AWS Lambda has documented [limits](https://docs.aws.amazon.com/lambda/latest/dg/limits.html). In particular, the default concurrency limit for lambda invocations is 1000 per account. This limit can be increased by request.
1414

15-
Google Cloud Functions has several [quotas](https://cloud.google.com/functions/quotas).
16-
1715
## Tail latency
1816

1917
When running hundreds or thousands of requests, it is not uncommon that a small number of requests hit a bottleneck, such as network congestion or storage system lags. If even 0.1% of requests takes a very long time, then a job with 1000 concurrent invocations can be held up even if almost all of the work is finished.

docs/08-architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ The cost analyzer takes a [`Workload`](./api/faastjs.costanalyzer.workload.md) a
2020

2121
## Implementing Providers
2222

23-
Review the implementation for the [AWS](../src/aws/aws-faast.ts) and [Google](../src/google/google-faast.ts) to understand the Provider API.
23+
Review the implementation for the [AWS](../src/aws/aws-faast.ts) to understand the Provider API.

docs/09-limitations.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,6 @@ Arguments and return values are sent through each provider's API or through a cl
4343

4444
Limits for AWS Lambda are published [here](https://docs.aws.amazon.com/lambda/latest/dg/limits.html). These limits manifest differently for [https vs queue mode](./04-aws.md#queue-vs-https-mode).
4545

46-
### Google Limits
47-
48-
Limits for Google Cloud Functions are published [here](https://cloud.google.com/functions/quotas). As of March 2019 the limits are for arguments and return values is 10MB.
49-
5046
### Local limits
5147

5248
In local mode, faast.js uses node's [`process.send()`](https://nodejs.org/api/process.html#process_process_send_message_sendhandle_options_callback) to send messages to worker processes. The IPC limits are OS-specific.

docs/11-faq.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ Separate faast.js jobs can be run at the same time and they will create separate
2020

2121
**Does faast.js support multiple clouds?**
2222

23-
Faast.js works with AWS and Google Cloud Platform. It can also work with other providers in the "local" provider mode, by simply running on a large cloud compute instance.
23+
Faast.js works with AWS. It can also work with other providers in the "local" provider mode, by simply running on a large cloud compute instance.
2424

2525
**Does faast.js look up prices when providing cost estimates?**
2626

27-
Yes, faast.js dynamically looks up prices from AWS and Google in order to produce accurate cost estimates. Prices are cached locally for 1 day and then refreshed.
27+
Yes, faast.js dynamically looks up prices from AWS in order to produce accurate cost estimates. Prices are cached locally for 1 day and then refreshed.
2828

2929
**How do you know what pricing tier to use?**
3030

0 commit comments

Comments
 (0)