Sunday 30 December 2012

12. Doing Certifications


We are all understood that some of the companies does not recognize or give preference for whose has the corresponding certifications for the advertise job as they are mainly looking for domain knowledge experience. 

However, I would suggest that doing certifications will help you to improve you other technical capabilities.
For example, sometimes we don’t have time or get opportunity to work on each and every technical stuff or scenarios. But certification will give you overall road map that how you can use different technical scenarios. 

You can use these scenarios in different such way that in various systems.
And also certification covers all the technical topics which may need for development and these help us to improve to do the better than what we did before.

For example, Microsoft certifications will tell you how you can debug the production system remotely in order to identify the issue from your development tool such as Visual Studio 2010 and many more.

For more information about certifications, please visit the following sites and follow up other technical service providers certifications which are demand for the current IT market.


13. SOA & Cloud Fundamentals


Sorry. This page is under construction. Please check back soon.

14. Building SOA & Cloud based services


Sorry. This page is under construction. Please check back soon.

15. Networking skills up to Architect level


In this post, I am going to explain what are the network diagnostic commands need for in order to troubleshoot the website or networking issues for developers and architects. I am not going to explain all the commands which Network Engineers use.

Now, I am think of the following commands, tools…etc.

NetworkingCommnds

Before going into the details of each command, I would like to mention

How Internet Works?
  1. In high level, when we type www.microsoft.com on browser, browser sends the request to DNS (Domain Name Server) to ask for the IP address of the website.  This browser request goes via many DNS including root DNS and finally to get the IP address of the website which we are requested.
  2. Once browser get the IP address of the website, browser sends request to the IP address to get the content of the website.
Commands Explanation:
Please click start->and type command on the windows search box and open the command prompt to verify the following commands. Please note that some of the commands are may not work for you due to path issue or utility for that command is not installed on your machine. Please check with your Network Engineer if it’s not working. The command prompt window should be similar like the below picture.
Command
  1. Ipconfig:  To display the network settings currently assigned to any or all network adapters in the machine. This command is used to verify/find an IP address, network connection as well as to verify your network settings. Please type ipcong/? If you need to know more about the command and other options.
For example, the result of ipconfig for my machine
ipconfig

2. nslookup:  To look up an IP address of a domain or host on a network. Please type nslookup/?  To know more about how to use them.
For example, nslookup results for www.microsoft.com from my machine

nkslookup

3. Tracert: Used to visually see a network packet being sent and received and the amount of hops required for that packet to get to its destination. It will also show you that your request going to via which networks and firewalls with details from source to destination.
For example, type tracert google.com. This is the tracert for google.com from my machine.
tracert

4.       Ping: Used to check for network errors.  Generally, if unable to connect webs site or any host then you can use ping command to verify and it’s also give you he IP address of the site.
For example, When I type, ping www.facebook.com and I am seeing the below result.
ping
5. netstat: Allow you to view the statistics of the network such as active TCP connections, ports on which the computer is listening…etc.
For example, netstat results for my machine is given below.
netstat

6.       pathping: Its similar to the tracert command, pathping command provides information about network latency and network loss at intermediate hops between a source and destination. Pathping sends multiple echo request messages to each router between a source and destination over a period of time and then computes results based on the packets returned from each router.
For example, pathping results for www.amazon.com from my machine.

pathping

7. telnet: Telnet is software utility that allows users to remotely access another computer such as a server, network device, or other computer.  We can verify that if we cannot connect to any machine with particular port and this will help us to troubleshoot the problem and connectivity issue.

8. ftp: Short name for File Transfer Protocol. Used to receive and send the files from FTP server

Tools:

1.       Fiddler: Fiddler is the web debugging tool and its downloaded from http://www.fiddler2.com. Please download and play around it to know more about the fiddler. Fiddler will show lot of information such HTTP headesr, requests…etc. & also used for verifying the performance of the web site.
 For example, traffic information for www.yahoo.com from my machine.
fiddler

WireShark: WireSharek is a network packet analyser tool and it’s downloaded from wireshark.org. Please download and try it. Please share your experience about this tool if you like it.
Others:

Hosts file:  Hosts file is used to map hostname to IP address. The location of the host file is C:\Windows\System32\drivers\etc. The contents of the host files similar like below.

127.0.0.1       localhost
x.y.z.z1          mysite.com
Usability:  
  1. Used to test for the DNS IP address changes when diverting traffic to specific IP address.
  2. Divert any website traffic to specific IP address on your machine.
If you would to know more about the networking commands please refer the following sites

Note: There are many numbers of tools/info available for debug/trace the website/network traffic. If your find the good one and useful for others please share with us and also share with me at Jayachandran.NET@hotmail.com.

16. Troubleshooting the problems


This post describes how to you troubleshoot the any problems.

As mention on the post 4. UML that simple diagrams will save you lot of time for the explanation. So I am going to draw diagram here to show how we can troubleshoot the problems if website or application is not working and the same troubleshooting funda can applicable for other problems too.

Diagram:

TroubleShooting The Problems

As of now, I can think of that the following other ways to help to troubleshoot the problem.

Notes:
  1. Use Fiddler to inspect your HTTP traffic.
  2. Check Event Viewer and exception logging database if you have for that website or application.
  3. If your website hosted on Web Farm(same website hosted on multiple web servers), then very hard to find the request coming from which web server, So in order to trouble shoot the problems easily I would suggest to define the customer http headers on IIS using “HTTP Response Headers”  for each web servers. For example, please refer the below picture and you will understand that.
TroubleShootingTheProblems1

4. If your website or application build up with many layers (say UI, BAL, Web Service, Data, caching …etc.) then I would suggest to write the simple script to make sure everything is working on individual layers including connectivity and calling simple methods…etc. Because this will save us lot of time. For example, if there is a problem on DB then if we execute the script and script will tell us straightaway where is the problem instead of looking from web servers and narrow down the issue to other layers.
5.  Setup instant notifications via email or SMS for your production environments if any critical problems are happened or any health check issues.
6. Prepare the support manual documentation and use it for when the problems are happened and this document also very useful for future support/developers.
7. To work our applications on all of the modern browsers, sometimes, we need to write separate working block for the some of the functionalities for specific browsers. For example, our testers say it’s not working on Chrome or IE…etc. then we need fine the alternative working solution of that.
8. Please use networking commands to troubleshoot the problems for network related issues.

I hope you enjoy reading this post. Please contact me if you have any questions.

Architect Graph


Architect Topics Graph
Architect Topics Graph
Please click the below links which do you wish to know more details to become an Architect.
2. OOAD
4. UML

Contact

If you have any questions regarding about design/architect the software systems or any other technical help, please contact Jayachandran(Jay) at Jayachandran.NET@hotmail.com. He will  reply your queries as soon as he can.