The aim of the NorduGrid project is to build and operate a production grid infrastructure in Scandinavia and Finland. By developing innovative middleware solutions, it enables a 24/7 production-level test bed. Through a common access layer, NorduGrid connects a dynamic set of computing resources, ranging from small test clusters at academic institutions to large farms at several supercomputer centers. This article reviews the architecture and describes the grid services implemented via the NorduGrid middleware. The authors describe a case study of a demanding high-energy physics application.