Estimating using Work Breakdown Structure
- Setting up Development, Test, and Production environments - 8 hours
- Creating the Login screen - 4 hours
- Creating the Landing Page - 2 days
- Developing the XYZ Page - 12 hours
- etc., etc., etc.
<Context> <Resource name="jdbc/postgres" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/mydb" username="myuser" password="mypasswd" maxActive="20" maxIdle="10" maxWait="-1"/> </Context> 2. Web application's web.xml
<resource-ref> <description>postgreSQL Datasource example</description> <res-ref-name>jdbc/postgres</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 2. Code
Connection conn = null;
try {
InitialContext cxt = new InitialContext();
DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/postgres" );
conn = ds.getConnection();
...
...
while(rs.next()) {
...
...
}
rs.close();
}
conn.close();
} catch (NamingException e1) {
e1.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
};
| System hardware requirements | ||||
| CPU | File I/O | Database I/O | RAM | |
| Management Web App | High | Low | High | Mid |
| Scoring Web App | Low | Low to Mid | Mid | Mid |
| Workers | High | High | Mid | High |
| PostgreSQL | Mid | High | N/A | High |
| DWH | N/A | N/A | High | N/A |
| ETL | High | Low to Mid | Mid | High |
| CRM | Mid | Low | Mid | Mid |
| Analytics Engine | High | Low | Mid | High |
| System Server Requirements | ||||
| File Server | Database Server | Web Server | Processing Server | |
| Functionalities | SFTP, NFS | DWH, Operation DB | Web based application, CRM, … | Workers, ETL, Analysis Engine, … |
| CPU | Low (E3-1230v2 or existing) | Mid to High (E5-2420 dual / E52620 dual) | Mid (E3-1230v2/existing server) | High (E3-1230v2/existing server) |
| RAM | 16G or above | 32G or above | 16G or above | 16G or above |
| RAID | RAID 1/5/6 | RAID 10 | NO RAID / RAID 1 | NO RAID |
| RAID Controller | Dell H710p or equivalent | Dell H710p or equivalent | N/A | N/A |
| HDD | TBD | 1TB x 4 | 500GB | 500GB |
| Quantity | x1 | x1 | xN | xN |
| Public IPs | x1 | N/A | x2 | N/A |
| Region | All | All | All | All |
| Scalability | Add drive for increase storage capacity. Can add new server as required. | Single server can support up to 3 to 5 years. Can add new server as required. | Scale Horizontally by adding new server as required. | Scale Horizontally by adding new server as required. |
| New Server Price | 20K (Dell R220) to 40K (Dell R520) | 50K+ HKD (Dell R520/R720) | 12K HKD (Dell R220) | 12K HKD (Dell R220) |
| Servers Allocation | ||||
| Live site | ||||
| File Server | Database Server | Web Server | Processing Server | |
| New server Dell R220/R520 | New server Dell R520/R720 | HK | ||
| 20K/40K+ HKD - Stage 2+ | 50K+ HKD - Stage 2 | existing server #1 - Management | ||
| Support both all regions | existing server #2 - Scoring | |||
| Database for Management, Scoring, Worker, DWH, etc. | Dell R210 - Workers, ETL, SFTP | |||
| UK | ||||
| existing #3 - Management | ||||
| existing #4 - Scoring | ||||
| =R220, R210 #2 in Stage 1 | = existing servers, R210 and R220 servers in Stage 1 | Dell R220 #2 (12K HKD - Stage 1) - Worker, SFTP | =R210, R220 #2 in Stage 1 | |
| Standby site | ||||
| File Server | Database Server | Web Server | Processing Server | |
| New server Dell R220 RAID 1 | New server Dell R220 with RAID 1 | HK | ||
| ~20K HKD - Stage 3 | (* Use low to mid-range standby server) | R220 #3 (12K HKD - Stage 1.5) - Management, Scoring, SFTP, … | ||
| ~20K HKD - Stage 3 | 1 x VM #1 (2K HKD - Stage 1.5) Worker | |||
| UK | ||||
| R220 #3 (12K HKD - Stage 1.5) - Management, Scoring, SFTP, … | ||||
| =R220 #3, R220 #4, VM #1, VM #2 in Stage 1.5 | =R220 #3, R220 #4, VM #1, VM #2 in Stage 1.5 | 1 x VM #2 (2K HKD - Stage 1.5) Worker | =VM #1, VM #2 in Stage 1.5 | |
If you have other web pages or apps running on the same server, the following information might be useful to separate Nagios as it's own Apache virtual host on a non-standard port (for example 43326 here).
Remove standard config and create Apache virtual host;
sudo cp /etc/apache2/conf.d/nagios.conf /etc/apache2/sites-available/nagio s3 sudo rm /etc/apache2/conf.d/nagios.conf sudo vi /etc/apache2/sites-available/nagios3 To beginning of file add;
Listen 43326 <VirtualHost *:43326> ServerAdmin webmaster@localhost DocumentRoot /var/www/nagios3 To the end of the file add;
</VirtualHost> Enable the new site;
sudo a2ensite nagios3 If you run a firewall (UFW), open the port;
sudo ufw allow 43326 Restart Apache
sudo service apache2 restart 


<Directory />
#Options FollowSymLinks
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order deny,allow
Allow from all
</Directory>
git tag -d 12345 git push origin :refs/tags/12345