Grid Computing is a distributive architecture, where computer resources from different locations collectively achieve a common goal. It is an arrangement of computers where unused processing power from various machines is harnessed to do tasks efficiently. Grid computing is advance form of distributive computing. It is mainly designed to solve complex problems that cannot be handled by a single computer. A task is split over multiple machines takes very less time to compute. In grid computing architecture, servers and personal computers run independent tasks but are linked by Internet or slow speed networks. In ideal state, every resource is shared that turns the computer network into a Supercomputer. A resource broker in grid computing handles the resource supply and demand according to different criteria. The scheduler distributes the subtasks over multiple machines. This document explains in detail the concept of grid computing, the components that makes up the grid, its working types of grid.