Skip to content

Commit 5c3efea

Browse files
committed
Add diagrams / architecture
Architecture sections updated Deployment guides now point to workshop Images added for architecture Signed-off-by: Alex Ellis <[email protected]>
1 parent 86b4e10 commit 5c3efea

File tree

9 files changed

+42
-16
lines changed

9 files changed

+42
-16
lines changed

diagrams/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Source diagrams
2+
3+
These diagrams are in the original vector or binary format such as Gliffy.
4+
5+
gliffy is a Chrome extension for building technical diagrams.

diagrams/watchdog-modes.gliffy

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

docs/architecture/watchdog-modes.png

83.7 KB
Loading

docs/architecture/watchdog.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,24 @@ The OpenFaaS watchdog is responsible for starting and monitoring functions in Op
44

55
## Classic watchdog
66

7+
The classic watchdog is currently used in all the official OpenFaaS templates. You can view the templates in the [templates repository](https://github.com/openfaas/templates).
8+
79
<a href="https://camo.githubusercontent.com/61c169ab5cd01346bc3dc7a11edc1d218f0be3b4/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f4447536344626c554941416f34482d2e6a70673a6c61726765"><img src="https://camo.githubusercontent.com/61c169ab5cd01346bc3dc7a11edc1d218f0be3b4/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f4447536344626c554941416f34482d2e6a70673a6c61726765"></a>
810

911
*Pictured: technical conceptual diagram of the OpenFaaS watchdog during an invocation*
1012

11-
Technical documentation on the classic watchdog is available in the faas repo:
13+
Technical documentation on the classic watchdog is available belong along with a table with all configuration options.
1214

1315
* [Watchdog README](https://github.com/openfaas/faas/tree/master/watchdog)
1416

15-
## Alpha of-watchdog
17+
## of-watchdog
1618

17-
We have next generation watchdog under incubation within our [openfaas-incubator organisation](https://github.com/openfaas-incubator). This brings new features for high-throughput systems.
19+
of-watchdog is our next-generation watchdog which is in incubation within our [openfaas-incubator organisation](https://github.com/openfaas-incubator).
1820

19-
* [Read more on the of-watchdog](https://github.com/openfaas-incubator/of-watchdog)
21+
<a href="/architecture/watchdog-modes.png"><img src="/architecture/watchdog-modes.png"></a>
22+
23+
*Pictured: various modes for the of-watchdog component*
2024

25+
This brings version of the watchdog brings new features for high-throughput systems. The primary difference is the ability to keep a process warm between invocations. The classic watchdog forks one process per request and the new version enables a mode where that same process can be re-used repeatedly to reduce latency.
26+
27+
* [Read more on the of-watchdog](https://github.com/openfaas-incubator/of-watchdog)

docs/conceptual.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Your API Gateway will scale functions according to demand by altering the service replica count in the Docker Swarm or Kubernetes API.
1616
* A UI is baked in allowing you to invoke functions in your browser and create new ones as needed.
1717

18-
> The API Gateway is a RESTful micro-service and you can view the [Swagger docs here](https://github.com/openfaas/faas/tree/master/api-docs).
18+
> The API Gateway is a RESTful micro-service and you can view the [Swagger docs here](/architecture/gateway/#swagger).
1919
2020
### CLI
2121

docs/deployment.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Deployment
22

3-
> Note: The best place to get an overview of OpenFaaS is in the [Overview page](./).
4-
53
### A foreword on security
64

75
These instructions are for a development environment. If you plan to expose OpenFaaS on the public Internet you need to enable basic authentication with a proxy such as Kong or Traefik at a minimum. TLS is also highly recommended and freely available with LetsEncrypt.org. [Kong guide](https://github.com/openfaas/faas/blob/master/guide/kong_integration.md) [Traefik guide](https://github.com/openfaas/faas/blob/master/guide/traefik_integration.md).

docs/deployment/docker-swarm.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Deployment guide for Docker Swarm
22

3-
## Initialize Swarm Mode
3+
## 1.0 Initialize Swarm Mode
44

55
You can create a single-host Docker Swarm on your laptop with a single command. You don't need any additional software to Docker 17.06 or greater. You can also run these commands on a Linux VM or cloud host.
66

@@ -14,41 +14,49 @@ If you have more than one IP address you may need to pass a string like `--adver
1414

1515
Take a note of the join token
1616

17-
* Join any workers you need
17+
## 1.1 Join any workers you need
1818

1919
Log into your worker node and type in the output from `docker swarm init` on the master. If you've lost this info then type in `docker swarm join-token worker` and then enter that on the worker.
2020

2121
It's also important to pass the `--advertise-addr` string to any hosts which have a public IP address.
2222

2323
> Note: check whether you need to enable firewall rules for the [Docker Swarm ports listed here](https://docs.docker.com/engine/swarm/swarm-tutorial/).
2424
25-
## Deploy the stack
25+
## 2.0 Deploy the stack
2626

2727
Clone OpenFaaS and then checkout the latest stable release:
2828

2929
```
3030
$ git clone https://github.com/openfaas/faas && \
3131
cd faas && \
32-
git checkout 0.7.1 && \
32+
git checkout 0.7.7 && \
3333
./deploy_stack.sh
3434
```
3535

3636
`./deploy_stack.sh` can be run at any time and includes a set of sample functions. You can read more about these in the [TestDrive document](https://github.com/openfaas/faas/blob/master/TestDrive.md)
3737

38-
## Test out the UI
38+
> Note: if you want to try newer features you can checkout the `master` branch, but we do not recommend that for first-time users.
39+
40+
## 2.1 Test out the UI
3941

4042
Within a few seconds (or minutes if on a poor WiFi connection) the API gateway and sample functions will be pulled into your local Docker library and you will be able to access the UI at:
4143

42-
http://localhost:8080
44+
http://127.0.0.1:8080
4345

44-
If you're running on Linux you may find that `localhost` times out. In this case force an IPv4 address such as http://127.0.0.1:8080.
46+
> Note: If you're running on Linux you may find that accessing `localhost` times out. We recommend using an IPv4 address such as http://127.0.0.1:8080 to prevent any ambiguity.
4547
46-
## Learn the CLI
48+
## 3.0 Learn the CLI
4749

4850
You can now grab a coffee and start learning how to create your first function with the CLI:
4951

5052
[Morning coffee with the OpenFaaS CLI](https://blog.alexellis.io/quickstart-openfaas-cli/)
5153

54+
## 3.1 Start the hands-on labs
55+
56+
Learn how to build serverless functions with OpenFaaS and Python in our half-day workshop. You can follow along online at your own pace.
57+
58+
* [OpenFaaS workshop](/tutorials/workshop/)
59+
5260
## Troubleshooting
5361

5462
If you are running into any issues please check out the troubleshooting guide and search the documentation / past issues before raising na issue.

docs/deployment/kubernetes.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,13 @@ $ echo -n "" | faas-cli invoke --gateway http://kubernetes-ip:31112 nodeinfo
184184
$ echo -n "verbose" | faas-cli invoke --gateway http://kubernetes-ip:31112 nodeinfo
185185
```
186186

187+
188+
## 3.1 Start the hands-on labs
189+
190+
Learn how to build serverless functions with OpenFaaS and Python in our half-day workshop. You can follow along online at your own pace.
191+
192+
* [OpenFaaS workshop](/tutorials/workshop/)
193+
187194
## Troubleshooting
188195

189196
If you are running into any issues please check out the troubleshooting guide and search the documentation / past issues before raising an issue.

docs/tutorials/workshop.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ The OpenFaaS community has built a set of hands-on labs which you can work throu
44

55
It's a good place to start if you're new to the project and want to build a working knowledge of how to start shipping serverless functions.
66

7-
* [Start the workshop](https://github.com/openfaas/workshop)
7+
* [Start the workshop on GitHub](https://github.com/openfaas/workshop)

0 commit comments

Comments
 (0)