Skip to main content

skip to main content

developerWorks  >  Architecture  >

Requirements modeling, Part 2: Build your new design

developerWorks
Document options
PDF format - Fits A4 and Letter

PDF - Fits A4 and Letter
26KB (7 pages)

Get Adobe® Reader®

Document options requiring JavaScript are not displayed


Rate this page

Help us improve this content


Level: Introductory

Michael J. Welsh (writer@roninwriter.com), Senior Writer, Ronin Writer

29 Apr 2008

After you've designed a new architecture, you're eager to build it. But before you start, look at the best way to implement your plan without interrupting business. In this second article in the "Requirements modeling" series, learn important steps to take a new architecture from the drawing board to the next level, which is building.

The previous article explored how to determine your architectural needs. Using those lessons, this article shows how to build your new architecture after the needs have been established.

In this article, I'll continue to use the example of WidgetCo, a business that has grown very quickly in a short amount of time. WidgetCo has a limited but very dedicated IT department consisting of a network and server group, a developer group, and a recently added help desk staff. You have been brought in to rebuild the architecture to handle growth and reliability.

You know who the key players are, you have a budget, and the team is ready for action. Let's build!

Skills and competencies

You have a list of problems within the architecture that need immediate attention. And although you did not get everything you wanted, you have acquired enough of a budget to make a big difference in the security and reliability of the overall architecture.

Overview of needs

From your research, you discovered several deficiencies in WidgetCo's network. First, you must address the lack of security. You can quickly remedy this situation by purchasing a new firewall with demilitarized zone (DMZ), intrusion prevention system (IPS) capabilities, deep packet inspection, and load balancing. Replacing the existing firewall will cause a disruption in service, so inform managers of the blackout, and schedule a time when Internet traffic is light to make your changes.

The second big problem is lack of redundancy. If a server fails, the data it holds is inaccessible until the server recovers. Also, the company deals with gigabytes of data accessed by various internal and external applications. WidgetCo decided to consolidate as many of the databases as possible to a Microsoft® SQL Server cluster. The common solution to both redundancy problems is a storage area network (SAN). A SAN will have the protection of redundant array of independent disks (RAID)-5, the speed of local drives, and the capacity to handle growth. The new SAN will be partitioned to be the back end for the file servers and SQL server machines. WidgetCo will redeploy the old equipment for development testing and other, less critical systems.

Here's the new equipment list:

  • Two application servers (clustered)
  • Two SQL Server machines (clustered)
  • Two file servers
  • Two Active Directory servers
  • One SAN
  • One firewall

Now that you have some projects to start, it's time to decide the best way to roll them out. As the architect, you will be wearing your project management hat to create a time line of events. When making your time line, consider the following objectives:

  • Bidding and pricing: Talk to vendors about options, and start looking for the best price.
  • Procurement: Buy it!
  • Delivery: Waiting for new toys to arrive can be the most agonizing part of the process, but you should use this time to get space and applications ready.
  • Inspection: When your new equipment does arrive, check it and test it. Is it what you ordered, and does it work?
  • Setup: Load the operating system, install any updates put out since the machine was manufactured, and set it on the shelf.
  • Testing: Test and retest. Then, test it again.
  • Deploying: Deploy it!
  • Test again: Yes, testing after deployment is important.

Let your experts find the best prices and work with accounting on payment terms. Keep communication lines open among groups. The server team should be talking to the developer team about server requirements such as processor speed, memory, and hard disk space. The developers in turn need to know what kind of load the applications will generate.

Migrate to new data models

During the pricing through delivery stages, have your development team start learning how to consolidate the various application databases scattered throughout the company. Many third-party applications have easy-to-use walk-throughs posted on their Web sites. For in-house applications, your developers may need to form a specific migration plan.

Combine data

At WidgetCo, the developers have decided to build around the SQL Server platform because of its compatibility with several third-party applications. While most of their third-party applications are already using SQL Server, the shipping and warehouse applications are running on the company IBM AS/400® system and are serviced by a vendor. To convert these applications at this stage would be too costly, so they won't be touched. Also, the AS/400 system has proved extremely reliable, so there's no urgency to make changes.

Build the network

By the time your equipment starts to arrive, WidgetCo's data center needs to be ready. Let your server gurus set up the new servers and SAN. They should continue communicating with the developers to see if memory or hard disk requirements have changed or if specific drivers are needed. After the hardware is installed and tested, let the development team take over. But keep a server administrator available as a liaison for them.

Transfer data

Transferring Structured Query Language (SQL) data to the cluster may be the easiest task for the developers, because there are plenty of tools and options to convert data from one database type to another. Making the changes to the applications will be the tricky part, as each application may have its own unique way of connecting to the database. Some may open with Open Database Connectivity (ODBC) drivers, while others are set in a configuration file. The software publisher's Web site or support line should be able to tell you how to change your application's database source.

Now that WidgetCo's data is loaded on the new servers and you can make changes to the applications, it's time again to test. Have key users test the applications on all daily, weekly, and monthly functions. Will payroll calculate correctly? Is accounting applying the right tax rate? Can invoices be printed? Also consider how many applications you will migrate at once. Weigh the pros and cons carefully. Getting everything done at one time can be convenient, but if a major issue arises, you risk shutting down access to all applications. Migrating one application at a time may be slow, but you can learn from problems that arise. Lessons learned from moving the first application can be applied when moving the second. By the time you move the last application, errors will be at a minimum.

Communicate with users about the upcoming changes to the applications. Establish a cutoff day and time after which information on the old server can not be changed. When the deadline arrives, make sure that all users are finished, then cut access to the server by either shutting down database services or unplugging the database from the network.

The complexity of your planned changes will determine how you go about making them. For example, you may be able to change a configuration file by adding a simple script to user logon scripts that replaces the file from a central server. If the process is complex and cannot be automated, consider having your help desk and workstation techs make the changes to each computer after hours. After the changes are made and tested, your help desk staff should be ready to help users with any problems that may come up.



Back to top


Tools and techniques

WidgetCo's new architecture has two sides: the software needs and the hardware needs. This section addresses these requirements separately, because different teams will probably handle the hands-on work for each side.

Software needs

In the project example with WidgetCo, special licensing and considerations are required to cluster the SQL Server machines. Although many tools and wizards are available with the software to cluster servers, an expert database administrator (DBA) can help with unexpected problems. If you don't have a certified DBA on staff, bring one in from IBM's expert consultants. They have the experience to help you avoid time-absorbing, common mistakes. They can also educate your staff on setup and general maintenance.

Hardware needs

At WidgetCo, the data center has been cluttered with various brands of server hardware. Although doing so may have appeared economical in the short run, a server failure is time-consuming enough without the added headache of multiple hardware brands. You want to use a single hardware vendor, but before you make any decisions, find each vendor's service phone number, try to find the warranty length for each machine, and determine how fast each vendor's service is.

WidgetCo has decided to standardize on IBM servers. Because of its limited space, the company is purchasing an IBM BladeCenter® system that will work with the new IBM SAN. This powerful combination provides robust options for growth.



Back to top


Milestones

The milestones for building your architecture are:

  • Communicate—not just with the team but with all users who will be affected by the changes.
  • Prioritize your projects.
  • Let your experts work.
  • Think in terms of miles, not inches. Set goals for the next month, the next year, the next two years.


Back to top


Conclusion

Rolling out your new architecture is full of challenges. But with careful planning, good communication, and a positive outlook, you can make it all seem easy.



Resources

Learn

Get products and technologies
  • Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.

Discuss


About the author

Michael Welsh is a 15-year IT professional specializing in IT security, disaster recovery, and networks. He is also knowledgeable in operating systems, hardware, and many server-side applications such as Microsoft Exchange Server. Michael writes technical articles and documentation for Web sites and businesses.




Rate this page


Please take a moment to complete this form to help us better serve you.



 


 


Not
useful
Extremely
useful
 


Share this....

digg Digg this story del.icio.us del.icio.us Slashdot Slashdot it!



Back to top


Microsoft is a trademark of Microsoft Corporation in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.