Tuesday, June 5, 2012

This week studying for the Microsoft MCTS Exam for 70-515 Web Applications Development with Microsoft .NET Framework 4.  Last week great progress was made as I 'cracked the code'.  Now understanding building classes and methods has become much better.  I am next moving onto building  MVC webpages, using Interfaces and more.

In my last post I wrote about understanding YOUR Disaster Recovery Plan.  It is important that you fully cover every eventuality in your plan from the worst to the smaller incidents.  A basic precept in Disaster Recovery is utitilize a facility that is 25 miles or greater from your Data Center as your Secondary site which will house your Disaster Recovery resources.  As I mentioned earlier, you may decide to put your site in another building nearby, but this secondary site can be affected by the same factors as your primary site or headquarters.  I saw recently that a fire in a building in Boston, MA took out the power to building in six to ten blocks in all directions.  If your company was in the area and your secondary site was nearby, that building too could have lost power. 

So first you have selected your facility outside the 25-Mile radius of your Data Center.  The next important step is to build your Disaster Recovery Plan.  If you build the plan first before purchasing the exact software/hardware necessary you can avoid having to waste monies or not have a robust enough solution.  Remember when a disaster happens you normally are not thinking clearly or you are feeling a lot of pressure by the company executives to restore business continuity.  So a well thought out and documented plan will allow you or someone to start at step 1 and go through the plan without having to discuss/troubleshoot or configure systems from scratch.

In my next entry i'll start going over all the items you must consider when building your plan. 

Please put your thoughts and comments on my entries.  Have you ever built a DR Plan?  Is this topic interesting you?  Comments are welcome!

Tuesday, May 22, 2012

Day Two here in my New Horizon's OnLine Live class "Developing Web Applications with Microsoft Visual Studio 2010"

This course is focusing on moving away from Web forms in Visual Studio to the MVC model.  MVC's are quite interesting.  MVC's are faster than web forms (one reason is due to the missing viewstate data) and are much easier to test.  While there is more coding involved using the MVC model, the long-term benefits greatly outweigh the additional work.  I am lucky enough to have Peter Thorsteinson teaching this class.  He is very knowledgable on the topic and a great teacher.  Visit his Youtube channel "youtube.com/PeterTeach".  If your looking to keep up with Microsoft technologies his videos are the place to go.

I finished the topic on SNMP last week.  In the coming blogs I am going to discuss Disaster Recovery.  Today i'll talk the theories and reasoning behind why it is so important. 

One of the main misconceptions on this topic is the consideration of what a 'diaster' is.  The non-tech types in your company will say that it is to main business continuity in the event of disaster.  The layman will consider the disaster as a fire, or problem in the data center.  But the reality that a disaster must be considered from it's worst to least when preparing for it.  The problem or disaster that affects your business may not even be in your building.  What if there is a chemical spill in the building across the street?  The problem will affect all those within a four block around that building.  Your company will have to evacuate your building.  What if a fire results that causes the city municipalities to shut down power within the four blocks.  If this problem lasts longer than a day, your business needs to continue.  What will you do in this scenario?  In the coming days we'll explore the different facets of the problem and things you can do to mitigate the problem.

Tuesday, May 15, 2012

Nearly a month has gone by already since I started learning here at New Horizons Waltham.  The width and breathe of what I know now, really connects all the dots.  How all the different pieces of web design, web development and deployment are quite incredible in their potential.  I have had many discussions with people about the Microsoft world compared to the Linux world in relation to how web development occurs.  On one side the Linux/Apache Tomcat folk say that Linux is more 'open' to developers (code sharing and finding bugs/vulnerabilites).  On the other side is the Microsoft folk who have a power IDE and Microsoft 'Paid' direct support arm to help with issue/problems/vulerabilties.  It's a very interesting  paradigm.  Would love to hear the pros and cons from both sides.

Last week I spoke about the different ways SNMP can be used.  Today i'll speak of some real world examples and discuss why I like Opmanager.  When I first began this topical discussion on SNMP I stated that you can use SNMP as your personal robot to watch your 'technologies' for you 24x7 and report changes, issues and things you should know about.  While SNMP is a very powerful technology it requires care and feeding on your part.  While you have ALL these many, many messges going back and forth you have to break through the chatter and find out the ones that matter.  MangeEngine's Opmanager is very intiuitive, easy to read/understand and has many companion products from ManageEngine quite robust toolset.  Using ManageEngines tools you can monitor/manage:

Web Server server processes both Apache Tomcat and IIS
Monitor WAN links
Monitor Cisco Routers as well as many other routers
Monitor switch traffic level (down to a port level) and switch events
Server events
Website Uptime and downtime
VOIP traffic

These are a just a few of the items you can manage all under one vendor umbrella.  (point of fact:  ManageEngine uses SNMP, WMI and vendor driven proprietary languages to monitor devices).

While I did not discuss WMI (Window Management Instrumentation), this topic is very much worth investigating and learning about.  The odds that the very device you are using to read this post is at this very moment running a WMI service to help monitor and control your desktop operating system.

Thursday, May 10, 2012

Day four here in this classs - learning about what the Microsoft ASP.NET 4.0 toolset can do.  Today we learned about the Microsoft Windows Communication Foundation Services can do with Web Services.  We are learning about SOAP, debugging your code.  Many awesome things.

Yesterday I spoke about the proactive or preventative type SNMP alerts you can use for monitoring thresholds and states.  Today I want to discuss the 'oh no! its down' type events.  In the modern world servers, desktops, printers, router etc.  will fail suddenly with out any warning.  A memory corruption error, a piece of hardware, there are many different reasons for sudden outages.  A communication link outside your network may suddenly drop.  How do you manage these events and more importantly, prevent them in future.  Those in higher levels from you do not like to hear about 'repeated issues'.  The first time an 'incident' occurs it can be understood and explained.  But if the same event happens again, you be looked as being responsible for avoiding it.  Let's look at a server failure.  Your Exchange Server 2008 for some 'unknown' reason has stopped sending or receiving email.  The first question to be asked is who knew about it first, you or did the users start calling you.  In this scenario hopefully you had a threshold set to monitor the number of emails in your servers 'send' queue.  If the send queue exceeded that limit did you get notified. 

In this scenario, you as the network administrator have had an 'event'.  If your SNMP Manager is watching your messaging queues, you get notified, troubleshoot.  A reboot of the server maybe required.  After the event is over you look over the log files for issues and problems.  If no solution is found possibly a support call to Microsoft could be used to assist with your diagnosis and problem resolution.  I can safely say that the Microsoft Engineeers who support the different technologies there are very knowledgeable and will work to solve your issue.

Let's say in this scenario that you did not have the alert set to monitor the problem.  Users call you and tell you that the message they sent two hours ago to Mr. Smith did not arrive.  They called and checked.  You investigate the problem, correct the issue and also diagnose and solve the issue. 

The difference between these events is significant.  If you discover the problem, tell your users that there is a problem and a server reboot is necessary, you look very smart.   If the users call you and tell you there is a problem then you have to restart the server, it could have a negative impact on how you are viewed.

So in the case where you had a problem with your mail server and fixed the issue, you main goal is to setup and alert to monitor this behavior.  If the problem arises again you will be notified of the issue WHEN it happens and work to fix it.  Issues and problem will occur in your environment.  How you prevent them from happening in the future is really up to you.

Wednesday, May 9, 2012

Day three in class at New Horizons.  Todays class was incredibly interesting.  We are learning how using Visual Studio you can access databases and use XML easily.  It's really quite amazing the depth of the toolset Microsoft has put together.  With some points and clicks you can connect to and display SQL data.  I am looking forward to putting these tools to use.  While I am currently unemployed, I believe that these tools and the technology I am learning will really help me to become a person who can be used in a wide variety of tasks and responsibilities.

Thresholds and Alerts.  The other day I mentioned how you can use the SNMP Manager to tell you when your devices are about to go off the rails.  Every device that is networked and has SNMP measurements offers a way for you to focus on specific items to monitor thier 'Normal' behavior.  If all the subsystems are functioning normally the device will continue to function (assuming that all the auxilary dependant devices are working properly).  When a service or function begins to have issues this devices measurement (status, reading) will begin to operate outside of the 'Normal' behavior.  When this occurs this service/status/reading will 'exceed a threshold'.  When this occurs you would want some sort of notification/alert from this device in the form of a message on the screen, a text to your phone, an email or even a audible alert.  A well programmed SNMP manager will also allow you to determine the severity of the alert.  There can be thousands of these measurements/statuses for just one device.  How can you find the most important ones and connect those to an alert?  As mentioned earlier some software has templates to use to bring the most important to surface for 'device types'.  Sometimes after a particularly bad incident you tell your SNMP Manger what specific alert you want to watch for that behavior in the future and alert you accordingly.  This type of problem is your way of knowing that something MAY happen if you don't do something.  As I relayed earlier I have used OpManager to monitor many different device types.  Below is an example from their demo site that show an alert.


OpManager Alarm Example


Tomorrow I will discuss monitoring device events that are sudden and can be bad, and what to do about them.


Tuesday, May 8, 2012

Day two in my Class learning ASP.NET using Microsoft Design Studio 2010

This class at New Horizons has been awesome.  As someone who wishes to become a Business Analyst working at Web Design firm the technologies and techniques I am learning here are invaluable.  Our instructor is giving us real-world examples that make Agile Rapid Development possible.  I can highly recommend New Horizons if you wish to learn a new technology or get a refresher.

Today I am limited in time.  I will discuss tommorow alerts, thresholds and preventive steps you can use to prevent the 'OH NO' events from happening.  They will still occur but you can drastically reduce the number of them by carefully understanding key points in your network architure.

I haven't seen any comments yet!.  Let's get busy putting them up. 

Monday, May 7, 2012

Another New day another new class...

I completed my Programming in C# using Microsoft Visual Studio 2010 last week sucessfully.  It was a very challenging course with lots and lots of new concepts to learn and understand.

Today I start the course 10267A Introduction to Web Development with Microsoft Visual Studio 2010.  This promises to be the "bread and butter" web develelopment.  Some of the topics being covered are already known and some of the topics are new.  This course will wrap all the different elements of website development into a single solution. 

Last week I blogged about what an SNMP Manager was.  This week I will write some about how I have used SNMP.  SNMP has two primary purposes..  Purpose one is to look for trends or problems prior to them actually going wrong.  Purpose two is to alert you to issues/problems when they happen.  While both are very useful, it is obviously far better to see a problem coming at you prior to it's being an actual problem.  This will allow you to take steps to avoid the problem all together. 

In my experience I primarily monitored servers, routers and switches.  Checking to make sure all the interfaces (network connections) were active etc.  Because each device has different purpose you will want to monitor different things for each device type.  As an example for servers you want to ensure it is available to those connecting to them.  Can this device be pinged?  Is the response time threshold with proper tollerances.  Are the critical services the servers offers up and working correctly.  Does the C: drive of the server has adequate space?  To use SNMP properly and make it most meanigful each device must be looked at individually unless clustered.  There are some things that all servers have in common, (network interface, operating system, memory and such).  Then possible you can use a 'template' for overall monitoring and add other items specific to the actual function of that server.  Switches and routers will have very different functions you will want to monitor.

Tomorrow I discuss thresholds and alerts and show you how you can have more of the purpose one type alerts versus the 'i'm broken' alerts.

Remember to add your comments.  Let me hear from you.

Today's reader challenge - Let me know what software you are using for SNMP.