Skip to content

Commit d986360

Browse files
committed
Update Blog “open-sourcing-workshops-on-demand-part2-deploying-the-backend”
1 parent 59a6f05 commit d986360

File tree

1 file changed

+33
-34
lines changed

1 file changed

+33
-34
lines changed

content/blog/open-sourcing-workshops-on-demand-part2-deploying-the-backend.md

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ tags:
1010
---
1111
In the first [article](https://developer.hpe.com/blog/willing-to-build-up-your-own-workshops-on-demand-infrastructure/) of this series, I described the reasons behind the decision to open source our Workshops-on-Demand (WoD) project and gave you a comprehensive picture of the project's overall infrastructure. In this second article, I will cover the backend part of the project and explain how to deploy it.
1212

13-
The overall infrastructure can run on physical servers or VMs. We usually designate one server for the frontend and a second server for the backend. You could also decide to separate every single component of each side.
13+
The overall infrastructure can run on physical servers or VMs. We usually designate one server for the frontend and a second server for the backend. You could also decide to separate every single component of each side.
14+
15+
1416

1517
![](/img/howto-wod-5.png)
1618

@@ -53,51 +55,48 @@ Here's a quick look at what can be found in each:
5355
![](/img/wod-blogserie2repos.png "Workshops-on-Demand repositories")
5456

5557
It provides:
56-
57-
* A complete JupyterHub server with some addons (additional Jupyterhub kernels, Ansible galaxies, and PowerShell libraries) on your system, ready to host Workshops-on-Demand that you can find [here](https://developer.hpe.com/hackshack/workshops).[](https://github.com/Workshops-on-Demand/wod-notebooks.git)
58-
* A postfix server used for the procmail API
59-
* An Ansible engine to allow automation
60-
* A fail2ban service
61-
* An Admin user to manage everything
62-
* A set of scripts to handle different tasks such as:
63-
64-
* Notebooks deployment
65-
* Jupyterhub compliancy
66-
* Users compliancy
67-
* Security Management
58+
• A complete JupyterHub server with some addons (additional Jupyterhub kernels, Ansible galaxies, and PowerShell libraries) on your system, ready to host Workshops-on-Demand that you can find here.
59+
• A postfix server used for the procmail API
60+
• An Ansible engine to allow automation
61+
• A fail2ban service
62+
• An Admin user to manage everything
63+
• A set of scripts to handle different tasks such as:
64+
o Notebooks deployment
65+
o Jupyterhub compliancy
66+
o Users compliancy
67+
o Security Managemen
6868

6969
#### Backend server preparation:
7070

7171
Before cloning the backend repository, you will need to prepare the server that will host the backend features. When ready, you will proceed with the cloning and then the installation process.
7272

73-
### Prerequesites:
73+
###### Prerequesites:
7474

75-
1. In order to setup the backend server, you will need:
75+
1. In order to setup the backend server, you will need:
76+
• A fresh OS install on physical / virtualized server running Ubuntu 20.04 or Centos 7.9 leveraging any deployment mechanism of your choice.(e.g. iLO, vagrant, etc.). You may even use this vagrant file to automatically generate a complete setup leveraging vagrant, libvirt and QEMU/KVM.
77+
• A Linux account with sudo priviledges on your Linux distro. Name it install
78+
Note: In order to support 100 concurrent users, you need:
79+
• 2 cpus or more machine
80+
• 128 GB of RAM
81+
• 500 GB of storage
7682

77-
* A fresh OS install on physical / virtualized server running Ubuntu 20.04 or Centos 7.9 leveraging any deployment mechanism of your choice.(e.g. iLO, vagrant, etc.). You may even use this [vagrant file](https://github.com/Workshops-on-Demand/wod-backend/blob/main/install/Vagrantfile) to automatically generate a complete setup leveraging vagrant, libvirt and QEMU/KVM.
78-
* A Linux account with sudo priviledges on your Linux distro. Name it `install`
7983

80-
**Note:** In order to support 100 concurrent users, you need:
8184

82-
* 2 cpus or more machine
83-
* 128 GB of RAM
84-
* 500 GB of storage
85+
We are currently using an HPE ProLiant DL360 Gen10 server on our different production sites.
8586

86-
We are currently using an HPE ProLiant DL360 Gen10 server on our different production sites.
87+
2. When done with OS installation and preparation
88+
• From the WoD-backend server (aka JupyterHub server), as the install user, you will need to clone the repo first.
8789

88-
2. When done with OS installation and preparation
90+
```shellsession
91+
install$ git clone https://github.com/Workshops-on-Demand/wod-backend.git
92+
install$ cd wod-backend/
93+
```
8994

90-
* From the WoD-backend server (aka JupyterHub server), as the `install` user, you will need to clone the repo first.
91-
92-
```shellsession
93-
install$ git clone https://github.com/Workshops-on-Demand/wod-backend.git
94-
install$ cd wod-backend/
95-
```
9695

97-
* Examine default installation parameters and adapt when necessary accordingly. Files are self documented.
98-
* Look at the following files within `ansible/group_vars` directory.
96+
Examine default installation parameters and adapt when necessary accordingly. Files are self-documented.
97+
Look at the following files within ansible/group_vars directory.
9998

100-
* `all.yml` file
99+
`all.yml` file
101100

102101
```shellsession
103102
vi all.yml
@@ -170,7 +169,7 @@ SCRIPTPRIVDIR: "{{ WODPRIVDIR }}/scripts"
170169
ANSIBLEPRIVDIR: "{{ WODPRIVDIR }}/ansible"
171170
```
172171

173-
* `wod-backend` file
172+
`wod-backend` file
174173

175174
```shellsession
176175
vi wod-backend
@@ -227,7 +226,7 @@ DATAVISUPORT1-WKSHP-DataVisu101: 22101
227226
DATAVISUPORT2-WKSHP-DataVisu101: 22131
228227
```
229228

230-
* `wod-system` file
229+
`wod-system` file
231230

232231
```shellsession
233232
vi wod-system

0 commit comments

Comments
 (0)