 | 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.
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.
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.
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
|  |