The Firm
Elsolutions is a small but growing software company with diverse computing needs. Its main focus is software development, and the company requires shared access to files, printers, video streams, and the Internet. Dial-in support is needed for engineering, technical support, marketing, sales, and the administrative staff. Our network also requires security because of strong competition and for prevention of computer viruses. Our overall objective is to lay out a computing environment that will keep all departments working efficiently, and not worrying about their tools. The computer equipment and the network must be predictable and reliable. The firm is represented in Table 11.
Table 11 Elsolutions' organizations
Organization |
People |
Software Development |
14 |
Documentation |
2 |
Systems Administration |
1 |
Manufacturing (system builds, testing, and CD-ROM manufacturing) |
5 |
Marketing |
8 |
Finance |
4 |
Technical Support |
2 |
Sales |
3 |
Executive |
5 |
Administrative Staff |
3 |
TOTALS |
47 |
The software development organization consists of a software product team and two consultancies. Our firm is developing a software product for commercial sale and has seven employees working on it. The remainder of the software team is working on two separate consulting contracts. The complete R&D team includes two technical documentation writers and five people doing system build, testing, and manufacturing. The total R&D team has 22 members. The remainder of the company is dedicated to the business aspects of the firm. Altogether, there are 47 employees. Elsolutions is housed in a single one-story building.
For us to deliver a computing environment that meets Elsolutions' needs, we have to inventory the software, hardware, and connectivity requirements (listed in Table 12). Once that inventory is complete, a design for a network layout is possible.
Table 12 Elsolutions' hardware and software requirements
Organization |
Software |
Hardware |
Notes |
Software Development |
C, C++, Visual Basic, Java, CVS, email, word processor |
desktop, mobile, servers |
15 desktops, 12 mobiles, 15 servers |
Documentation |
HTML editor, word processor, Postscript, man pages, email |
desktop |
2 desktops |
Systems Administration |
performance tools, network utilities, email |
desktop, mobile |
1 mobile, 1 monitor |
Manufacturing (system builds, testing, and CD-ROM manufacturing) |
CD-RW software, email |
desktop, servers for test |
5 desktops, 5 servers |
Marketing |
word processor, presentation (MS PowerPoint), email |
mobile |
8 mobiles, 8 monitors |
Finance |
spreadsheet, word processor, email |
mobile or desktop |
4 desktops |
Technical Support |
|
desktop or mobile |
2 desktops, 3 customer environment setup machines |
Sales |
word processor, presentation, email |
mobile |
3 mobiles, 3 monitors |
Executive |
word processor, presentation, email |
mobile and/ or desktop |
5 mobiles, 5 monitors |
Administrative Staff |
word processor, email |
desktop |
3 desktops |
All the departments need to connect to the Internet, and many need to do ad hoc sharing. There is a need for file servers to host source code and documentation. Elsolutions is a typical installation of a small networked layout with nothing particularly unusual. Our initial guess at an inventory for computers is shown in Table 13.
Table 13 Computer inventory
Organization |
People |
Linux |
Windows 2000/XP |
||
Production |
Development |
Production |
Development |
||
Software Development |
14 |
0 |
8 |
15 |
15 |
Documentation |
2 |
1 |
0 |
2 |
0 |
System Administration |
1 |
4 |
1 |
4 |
1 |
Manufacturing (system builds, testing, and CD-ROM manufacturing) |
5 |
0 |
2 |
5 |
3 |
Marketing |
8 |
0 |
0 |
8 |
0 |
Finance |
4 |
0 |
0 |
4 |
0 |
Technical Support |
2 |
0 |
1 |
2 |
1 |
Sales |
3 |
0 |
0 |
3 |
0 |
Executive |
5 |
1 |
0 |
5 |
0 |
Administrative Staff |
3 |
0 |
0 |
1 |
0 |
TOTALS |
47 |
6 |
12 |
49 |
20 |
Designing a Network
Our first task is to design our network topology. Elsolutions is a small company, so the possibilities and permutations are not great. We need servers for our file and print services and for engineering development. The executive staff as well as everyone in engineering, technical documentation, finance (accounting), marketing, technical support, and manufacturing will get a workstation.
Our manufacturing team will consist initially of a small number of people gathering relevant product parts (software) and burning them onto a CD-ROM. Manufacturing will be a catch-all organization that also performs system tests, system builds, and installation testing in addition to the actual manufacturing of golden CD-ROMs. Initially, we will ship CD-ROMs from our offices. If we grow quickly, that operation will be outsourced. For now, we will produce golden CD-ROMs and send them off to be duplicated. When the CD-ROMs return, we will package and ship them directly to customers. Our sales will be over the Internet, so we will need secure ordering and payment operations.
The software development organization consists of seven product development members plus two teams (a four-member team and a three-member team) of contracted solution providers. One member of the inhouse product development team is a manager. One of the solution contracting team members is also a manager. Both managers are hands-on managers and develop as well as perform management responsibilities. Software development is primarily targeted at the Windows market, but there is growing interest for Linux-based versions of their work. The contractual work is totally focused on Windows, but the contracts have a limited lifetime and the management wants to expand the business into the Linux market.
The technical support team members each have a desktop system and several systems for simulating customer scenarios and duplicating problems. Since the organization is small and inexperienced, the tech support team frequently does double duty as a demo team.
The other organizations are happy with single workstation scenarios and can share files (documents, spreadsheets) ad hoc as needed. Individuals with laptops generally use an external monitor while at work.
One individual with a laptop carries out system administration. His duty is to maintain a working networked environment and to assist in software installations and upgrades. We are focusing on his job.
Computer equipment is allocated among the organizations as shown in Figure 11 and Figure 12. LW refers to a machine that is dual booted. It runs either Windows or Linux, depending on a choice made at boot time. Dual booting supports developing on either operating system. It is also used for performance testing to eliminate hardware differences; tests are run on the same hardware with different operating systems running. The choice to dual boot rather than have additional machines can be revisited later if it proves too inefficient.
Figure 1.1 Elsolutions intranet network.
Figure 1.2 Elsolutions remaining intranet.
All computers are connected to each other inside the firewall. The firewall system connects the intranet with the Internet. The entire company is located in a single-floor building and our network is small. We will have a single router for the company. It will perform the routing to and from the Internet.
Generally, it is agreed that word processing and spreadsheet issues will be resolved with Windows and Windows products. Software development will be done with a variety of tools. GNU C and C++ will be used for Linux development and by the product development team. GNU C++ is also used on one of the contracts. Microsoft C++ is used on the other contract. To set up such a network, we will perform the following tasks:
Acquire an Internet identity from the Internet Network Information Center (Internic), and acquire a block of IP addresses. We will ask for two Class C licenses. That will require a routing path and possibly a router.
Establish an external communication channel to our ISP contact, using T1 technology.
Acquire modem equipment, a router, and a computer to connect to the T1 link. This machine will become the outer firewall.
Acquire other computers and necessary cabling (the building might already be cabled for Ethernet).
Position Web servers between the outer firewall machine and an interior intranet firewall. This zone is our security demilitarized zone (DMZ). The inner firewall will carry out network address translation (NAT) on intranet IP requests to the Internet.
Connect our intranet and Web application servers to the protected sides of an inner firewall computer.
Install Domain Name System (DNS) and Dynamic Host Configuration Protocol (DHCP) servers inside the inner firewall that resolve and distribute nonroutable internal IP addresses (e.g., 10.10.n.n) on our local infrastructure network.
Connect the remaining computers to our infrastructure network inside the inner firewall. Since the engineering teams are not developing or testing network protocols, there is little danger that bad programming will spoil the "network experience" for others.
This is not a detailed plan, but simply an overview of what is done to deploy a small network.