Ten Things to Know Before Hiring a WebLogic Consultant

Have your business applications given youas its technical architecture. This lets you to plan
performance headaches at some point during theirfor the future with your systems. It helps you
lifecycle? Maybe you resolved the problems andact proactively rather than reactively.
the application was able to keep servicing yourRULE: Find a consultant who's a big-picture thinker,
customers and performing its business functionsomeone who can see beyond your immediate
for you.needs and give you insightful recommendations
But no doubt there were other times when youfor the best-practices approach to running your
tried to solve the performance problemsapplications.
internally, but sadly-and expensively-you didn't5) GOOD BEDSIDE MANNER: One of the most
succeed. To keep future hassles away, youvaluable assets of a top consultant is excellent
probably (a) added more hardware or, worse yet,people skills. Production problems put extreme
(b) started a server recycle program to minimizestress on people, so when you're bringing in a
the damage to your production.consultant, it's vital to find one who can
As a result, the performance is still sub-optimum,communicate effectively and build instant rapport
your company is losing money, and yourwith your team. Getting a handle quickly on what's
customer satisfaction keeps sinking. To get yourhappening with your system requires good
application back on track, you've decided it's timecommunication skills all around. This means the
to bring in a professional performance consultant.ability not only to communicate with others but to
You've made a smart decision. But now you faceinteract well with them and build a positive
the challenge of finding the right person. You mustrelationship with your team. You need someone
find someone who can quickly identify thewho can come in and quickly add value to your
performance problems, resolve them, andteam.
implement a plan to bring stability to theI've lost count of how many times I've heard
application.someone complain that a consultant simply came
But that's just for starters. You also needin, asked some questions and produced a report.
someone who'll work well with your team and canThis benefits the company hardly at all, and will
put standard operating procedures in place toleave a team working to bring stability to the
stabilize the current environment and preventsystem feeling alienated.
future problems. Plus, this person must be able toRULE: You want someone technical who can
transition the best practices to your team clearlydiagnose your situation, but most important, be
and effectively.able to communicate those findings well to the
As you can imagine, it's tough to find all theseteam they're working with.
qualifications in one person. Performance6) SELECTIVITY: It's better to hire no consultant
consultants are not all created equal. When thethan a bad one. Hiring the wrong person for the
time comes to look for your professionaljob can cause you more problems than solutions.
performance consultant, here are the 10 keyA good rule of thumb: if you have any
things to keep in mind:reservations about the consultant, then follow
1) SOLVABILITY: The performance troublesyour instinct and don't hire them.
you're facing are common, and cost manySure, you're under pressure to clear up the
companies money. The good news is thesetrouble, but think about who you're bringing in to
problems are solvable. But companies often havedo it before you give the green light. Not only are
a consultant look at an application and he or sheyou bringing in a consultant to tackle performance
decides the problems are just too complex orproblems, but you're also going to need one or
aren't solvable.more dedicated resources to assist. If you adopt
For example, one company had a software pricingthe recommendations of someone you were
engine that was critical to the business: if thewary of to start with, you might end up with
pricing engine was down, the company lostmore headaches than if you hadn't brought
revenue. The CIO admitted that to remedy theseanyone in.
problems, they'd have to add more servers. TheRULE: Make sure the consultant you choose is
standing architect said he'd need 240 new serverstechnically qualified to address your particular
to handle the load volume.problems. Be picky and get the best consultant.
I came in, did some testing and found that the7) DOMAIN EXPERTISE: Besides the ability to
performance troubles stemmed from the amounttroubleshoot, customers usually look for a specific
of memory the current application was using. Myapplication skill. It's actually a mistake to narrow
options in this case were limited: I couldn't rewriteyour focus only to such skills. The engineers might
code or change architecture, but I was able tofocus on a specific application, but what you really
change the Java Virtual Machine for the poorlyneed is a different skill set to help turn the
performing application. This alternative JVM wassituation around. You need someone who can
more forgiving on memory consumption. Withthink outside of the application to bring light to the
new settings, the company was able to scalesystem as a whole, not just the application in
back from buying the 240 new servers to onlyquestion.
10. Imagine the cost savings!You probably haven't found the application skill set
RULE: Performance problems are common andfor the problems you're having, or the
above all solvable. Sometimes the creativeperformance-troubleshooting skills, either.
solutions are the ones that offer the most costApplication specialists might have the business logic
effective results.understanding, but most of them are light on the
2) FUNDAMENTALS: A performance consultanttroubleshooting aspect.
must possess a certain amount of commonRULE: You've probably identified the right skill
knowledge. Ultimately, you're looking for aset(s) to handle technical or business problems
specialist in identifying and resolving performancewith your application. Consider looking for a
issues. This person must be well-roundedconsultant who can augment your internal
technically. Here are some basic qualifications toknowledge.
look for:a. JAVA: the foundation of the application8) MANAGING EXCEPTIONS: Suppose you've
server. Don't hire someone to identify and solvenarrowed your field of consultants and have
Java Application Server issues if they don't havefound the perfect one for the job. You're ready
a strong foundation in JAVA. At a minimum, theyto bring this person on board. Make sure you've
must understand threads, know how Java usesboth explained and documented your expectations
memory, and be able to read stack traces andwith the consultant before starting the
write test cases.b. Networking: includes Loadengagement. You must identify, up front, the
Balancers, Network Interface Cards (NICS) on thedeliverables and artifacts that you expect before
boxes, firewalls and anything that's responsible forthe work starts. If a report or a recommendation
routing traffic to your applications. Your consultantis due, make sure you negotiate this up front.
must be up to speed on these.c. N-Tier: TheseHave regular checkpoints during the engagement
architectural designs add complexity to anyto ensure you're getting what you expect.
system Java Application Servers. Having solidIf you expect any deliverables, bear in mind that
experience with other n-tier applications will helpthis usually adds time to an engagement. Allocate
the consultant look at your big picture.d. J2EEtime during the engagement, with checkpoints, to
Specifications and Standards: having someonefinalize reports and deliverables.
who understands the J2EE specifications is aRULE: Manage the expectations up front by
must.e. Operating Systems: make sure thedetermining exactly what the consultant will do.
consultant has experience with your platform. IfSpecify verbally and in writing any deliverables and
you're UNIX, make sure they have Unix skills.f.checkpoints that the consultant must meet during
Database: At a minimum, your consultant shouldthe engagement.
understand Structured Query Language (SQL),9) SOFTWARE SOLUTIONS: Customers are
and be able to identify long-running queries withalways buying expensive software, hoping this will
your database version.solve the performance problems on their
RULE: Understanding basic fundamentals will enablesystems. Be wary of consultants who want to
your consultant to adapt to your uniqueinstall software they say will cure the ills in your
environment quicker and cure your ills in a shorterenvironment. The truth is, installing a software
time.package usually adds overhead to the system
3) SKILL SET: Systems are so complex that it'sand opens the door to increased instability.
understandable why companies bring in the wrongIf a consultant needs to install software to help
consultants to find and fix performanceidentify the issue, limit the footprint to one server
headaches. The problems could range from ain the cluster or to a non-production environment
code bug, a vendor code or a tuning issue tofirst. In some cases, you do need to install
technical architecture troubles and sometimes ansoftware. Consultants might also need to install
application architecture issue. Consultants havetools to find the root cause of a problem. Those
varying levels of skill and expertise. Some aretools are only as helpful as the person who's going
strong in architecture and others excel into analyze the data. Installing the software won't
systems. They could have a developmentnecessarily lead to the correct action.
background or something totally different.RULE: Software packages add overhead and can
Before you start interviewing consultants,actually worsen instability. Remember, once you
consider nailing down the skill set you're lookinglet a consultant install the software, you'll l also
for. I once had a customer who hired a consultantneed someone who can interpret the data and
with a strong architecture background to come intake action on them.
and look at the company's performance problems.10) PROCESS: Solving problems in any
After doing some analysis, the consultant toldenvironment will give you some immediate relief
them the architecture for the application wasfrom performance headaches. There are usually
wrong and that they'd have to re-architect theirmultiple reasons for performance problems.
systems. I took a look at the same system andImagine you resolve an issue and send the
found the trouble: a combination of applicationconsultant home, having new confidence in your
settings and a bug in the underlying operatingsystem. Then two months later you launch a
system. Once I fixed those, the systemlarge marketing effort and find yourself with your
performed much better and didn't needsite down again. Or imagine you brought the
re-architecting.consultant in during non-seasonal loads and are
If you hire a specialist in a particular area, expectnow in the middle of your busy season.
the recommendations you get to reflect their fieldSolving the problem is not the most crucial goal of
of expertise. Understand what you're looking forthe engagement. The most crucial goal is to
before you open your door to any consultant.understand how the problem was solved. What
RULE: Identify the focal point of where thetools did the consultant use? Is this something
problems are, and then hire the best generalist toyou can build into your best practices to minimize
help you find where they are.performance troubles early in the development
4) BIG-PICTURE THINKER: One of thelifecycle? And how can you put a process in place
advantages of bringing in a consultant is seeingfor continual improvement?
your operation from a new and different point ofRULE: Create a process to improve your system
view. Plus, it's a great way to learn the latestcontinually. Fixing a problem one time only sets
about what other companies are doing or newyou up for your next fire drill.
trends that are changing your industry. TheseSUMMARY
insights can enable you to see the big picture andFirst, find a strong technical professional who has
how your environment(s) compare with others'. Asuperior communication skills and can understand
big-picture thinker can help you understand howthe big picture, in terms of what n-tier application
other companies are managing their Javaarchitecture looks like.
Application Servers.Second, look for a consultant who isn't afraid of
The true big-picture thinker can look at yourchallenges, has worked through similar problems in
environment and help make recommendationsthe past, and has a well-rounded track record of
beyond your current performance difficulties. You'llexperience.
discover solutions for problems related toAnd third, as I stressed above, it's often better
architecture, systems selection, load-testingto bring in no consultant than the wrong
capacity and other aspects of the system, suchconsultant.