Skip to content

Commit cf5b394

Browse files
author
Jason Schmidt
authored
feat: update to new version of graphic (#141)
1 parent c33ed4e commit cf5b394

File tree

3 files changed

+43
-3217
lines changed

3 files changed

+43
-3217
lines changed

README.md

Lines changed: 43 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,91 +2,83 @@
22

33
# NGINX Modern Reference Architectures
44

5-
This repository has the basics for a common way to deploy and manage modern apps.
6-
Over time, we'll build more example architectures using different deployment
7-
models and options – including other clouds – and you’ll be able to find those here.
5+
This repository has the basics for a common way to deploy and manage modern apps. Over time, we'll build more example
6+
architectures using different deployment models and options – including other clouds – and you’ll be able to find those
7+
here.
88

99
## Nomenclature
1010

11-
Internally, we refer to this project as MARA for Modern Application Reference
12-
Architecture. The current repository name reflects the humble origins of this
13-
project, as it was started with the purpose of allowing users to build custom
14-
versions of the NGINX Ingress Controller in Kubernetes. This went so well that
15-
we expanded it to the project you're currently viewing.
11+
Internally, we refer to this project as MARA for Modern Application Reference Architecture. The current repository name
12+
reflects the humble origins of this project, as it was started with the purpose of allowing users to build custom
13+
versions of the NGINX Ingress Controller in Kubernetes. This went so well that we expanded it to the project you're
14+
currently viewing.
1615

1716
## Modern App Architectures
1817

19-
We define modern app architectures as those driven by four characteristics:
20-
*scalability*, *portability*, *resiliency*, and *agility*. While many different
21-
aspects of a modern architecture exist, these are fundamental.
18+
We define modern app architectures as those driven by four characteristics:
19+
*scalability*, *portability*, *resiliency*, and *agility*. While many different aspects of a modern architecture exist,
20+
these are fundamental.
2221

23-
* **Scalability** – Quickly and seamlessly scale up or down to accommodate
24-
spikes or reductions in demand, anywhere in the world.
22+
* **Scalability** – Quickly and seamlessly scale up or down to accommodate spikes or reductions in demand, anywhere in
23+
the world.
2524

26-
* **Portability** – Easy to deploy on multiple types of devices and
27-
infrastructures, on public clouds, and on premises.
25+
* **Portability** – Easy to deploy on multiple types of devices and infrastructures, on public clouds, and on premises.
2826

29-
* **Resiliency** – Can fail over to newly spun‑up clusters or virtual
30-
environments in different availability regions, clouds, or data centers.
27+
* **Resiliency** – Can fail over to newly spun‑up clusters or virtual environments in different availability regions,
28+
clouds, or data centers.
3129

32-
* **Agility** – Ability to update through automated CI/CD pipelines
33-
with higher code velocity and more frequent code pushes.
30+
* **Agility** – Ability to update through automated CI/CD pipelines with higher code velocity and more frequent code
31+
pushes.
3432

3533
This diagram is an example of what we mean by a **modern app architecture**:
36-
![Modern Apps Architecture Example Diagram](./docs/DIAG-NGINX-ModernAppsRefArch-04-web-1024x776.svg)
34+
![Modern Apps Architecture Example Diagram](docs/DIAG-NGINX-ModernAppsRefArch-NGINX-MARA-1-0-blog-1024x800.png)
3735

3836
To satisfy the four key characteristics, many modern app architectures employ:
3937

40-
* Platform agnosticism
41-
* Prioritization of OSS
42-
* Everything defined by code
43-
* CI/CD automation
44-
* Security-minded development
45-
* Containerized builds
46-
* Distributed storage
38+
* Platform agnosticism
39+
* Prioritization of OSS
40+
* Everything defined by code
41+
* CI/CD automation
42+
* Security-minded development
43+
* Containerized builds
44+
* Distributed storage
4745

4846
## What's Being Built
4947

5048
For details on the current state of this project, please see the
51-
[readme](./pulumi/python/README.md) in the [`pulumi/python`](./pulumi/python)
52-
subdirectory. This project is under active development, and the current work
53-
is using [Pulumi](https://www.pulumi.com/) with Python. Additionally, please see
54-
[Status and Issues](./docs/status-and-issues.md) for the project's up-to-date
55-
build status and known issues.
56-
57-
Subdirectories contained within the root directory separate reference architectures
58-
by infrastructure deployment tooling with additional subdirectories as needed.
59-
For example, Pulumi allows the use of multiple languages for deployment. As we
60-
decided to use Python in our first build, there is a `python` subdirectory
61-
under the `pulumi` directory.
62-
63-
This project was started to provide a complete, stealable, easy to deploy, and
64-
standalone example of how a modern app architecture can be built. It was driven by
65-
the necessity to be flexible and not require a long list of dependencies to get started.
66-
It needs to provide examples of tooling used to build this sort of architecture in
67-
the real world. Most importantly, it needs to work. Hopefully this provides a
68-
‘jumping off’ point for someone to build their own infrastructure.
49+
[readme](pulumi/python/README.md) in the [`pulumi/python`](pulumi/python)
50+
subdirectory. This project is under active development, and the current work is using [Pulumi](https://www.pulumi.com/)
51+
with Python. Additionally, please see
52+
[Status and Issues](docs/status-and-issues.md) for the project's up-to-date build status and known issues.
6953

54+
Subdirectories contained within the root directory separate reference architectures by infrastructure deployment tooling
55+
with additional subdirectories as needed. For example, Pulumi allows the use of multiple languages for deployment. As we
56+
decided to use Python in our first build, there is a `python` subdirectory under the `pulumi` directory.
57+
58+
This project was started to provide a complete, stealable, easy to deploy, and standalone example of how a modern app
59+
architecture can be built. It was driven by the necessity to be flexible and not require a long list of dependencies to
60+
get started. It needs to provide examples of tooling used to build this sort of architecture in the real world. Most
61+
importantly, it needs to work. Hopefully this provides a ‘jumping off’ point for someone to build their own
62+
infrastructure.
7063

7164
## Deployment Tools
7265

7366
### Pulumi
7467

75-
[Pulumi](https://www.pulumi.com/) is a modern Infrastructure as Code (IaC) tool
76-
that allows you to write code (node, Python, Go, etc.) that defines cloud infrastructure.
77-
Within the [`pulumi`](./pulumi) folder are examples of the pulumi being used to stand up MARA.
68+
[Pulumi](https://www.pulumi.com/) is a modern Infrastructure as Code (IaC) tool that allows you to write code (node,
69+
Python, Go, etc.) that defines cloud infrastructure. Within the [`pulumi`](pulumi) folder are examples of the pulumi
70+
being used to stand up MARA.
7871

7972
## Contribution
8073

8174
We welcome pull requests and issues!
8275

83-
Please refer to the [Contributing Guidelines](CONTRIBUTING.md) when doing a PR.
84-
76+
Please refer to the [Contributing Guidelines](CONTRIBUTING.md) when doing a PR.
8577

8678
## License
8779

8880
All code in this repository is licensed under the
89-
[Apache License v2 license](./LICENSE).
81+
[Apache License v2 license](LICENSE).
9082

9183
Open source license notices for all projects in this repository can be
9284
found [here](https://app.fossa.com/reports/92595e16-c0b8-4c68-8c76-59696b6ac219).

0 commit comments

Comments
 (0)