Clouds is a native operating system for a distributed environment. The Clouds operating system is built on top of a kernel called Ra. Ra is a second generation kernal derived from our experience with the first version of the Clouds operating system. Ra is a minimal, flexible kernel that provides a framework for implementing a variety of distributed operating systems. This paper presents the Clouds paradigm and a brief overview of its first implementation. We then present the details of the Ra kernel, the rationale for its design, and the system services that constitute the Clouds operating system.