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.

Thursday, May 3, 2012

Second to last day on the Programming with C# using Microsoft ASP.NET4.0 course.

Next week I move onto the next course.  More on that later.


Another challenging day here at New Horizons Waltham.

I just want to give a quick shout out to the people who support us students here.  The mentors here at New Horizon are very knowledgeable and always willing to assist us.

Things are starting to sink in a bit and understanding is coming easier now.  A lot of studying... following this course.  I'll redo the labs, study the courseware more and ensure I understand everything.

Network Monitoring (Part Two)

Yesterday I spoke about network devices...  How they communicate what state the different parts of their functions are in.  I spoke about how these device communicate their messages over the network.  Most devices by default have SNMP turned on.  This means that if you have a network with 100 computers, 15 printer and 10 servers, ALL these devices are sending out quick small broadcast messages on the network everytime one of them have a message of state change or a problem.  Imagine the number of messages being generated not being sent to any one device.  How do you know what messages are important?  How can these messages be captured in one place?  How can meaningful information be derived from all this traffic?

Well the answer to all these questions comes in the form of an SNMP Manager.  An SNMP Manager is merely a service which listens on the network or receives all the messages and writes the messages into a database which can indexed and referred to in any number of ways.  This SNMP Mangaer comes in many different forms and is made by many different companies.  I have spent time evaluating this software and would like to share my experiences with one software that I found very stable, easy to use and very very flexible.

The software is called OpManager made by ManageEngine.

Below is a link to their software information:

Manage Engine - OpManager

In the coming days I will share with you my experiences with this software, how it works and what I used it for.

Todays Reader Challenge -  I am interested in your thoughts, experiences and ideas on the topic of SNMP.

Please put a comment in describing whether you have used SNMP Managers, what your experiences are with them or if you find the topic interesting.





Wednesday, May 2, 2012

Day Three of my course "Programming C# with Microsoft Visual Studio 2010".

The class has been very very intense.  A lot of information is being passed to us students.  I'm in a virtual class of 20.  Each day we learn new concepts in C# and do labs.  These concepts are coming to me.  It is going to take lots of practice to become comfortable with them.  My experience with SQL 2005 writing SQL code has been very helpful.  I am looking forward to doing some real work with these tools sets.  It is amazing the tool set that Microsoft has created in this software.  The software is really helpful in not just writing your code (Intellisense) but also with organizing your code and creating documentation.

Network Monitoring (Part One)

I mentioned last week that I would speak about creating software robots to watch your website for you.  I will speak of Microsoft technologies as these are the ones I am familiar with.  All computers, printers and digital based devices that connect to anything (network)  have (or should have) SNMP (Simple Network Management Protocol) to help determine how that device is running.  SNMP is merely a very flexible language that performs two important functions.  Function one is to constantly update states (how one facet of that device).  (Example - A printer can either be Ready or Not Ready.  There is a state within that printer that contains that value.  This state can be interrogated by other network devices to read that state.  The number of states within one device can number in the thousands.  Function two of the same device is to send out 'messages' about how it is doing.  Digital networked devices are constantly chattering to anyone who will listen (usually a broadcast) about its current states or changing states. So on any network if SNMP is turned on.... there will be information being transmitted about every device that is connected to that network.  In my next blog entry i'll talk about how to capture all this chatter.