This document provides an overview of grid computing. It defines grid computing as a distributed architecture that connects a large number of computers to solve complex problems. Grids link computing resources from multiple locations through networks like the internet to achieve a common goal. Middleware is used to connect users to grids and hides their complexity. Grids allow resources from hundreds of computers to be combined, providing massively powerful computing accessible from any personal computer. This increases productivity and scalability while providing flexible computing power where needed.