|
Pump Up Your Technical Knowledge
Listen and watch as industry luminaries bring you the latest on Java technologies
Project Caroline is a research project to build a system that provides a dynamic virtualized grid of language-level virtual machines (VMs), networks, and storage. The principal VM is the Java Virtual Machine (JVM), but others can also be supported, such as for Perl, Python, and Ruby. The system is designed for operation as a utility to host software-as-a-service (SaaS) providers and business-internal applications and is intended to be an attractive, horizontally scalable development and deployment environment for long-running services. This presentation describes the researchers' view of what a complete system would encompass, the current subset implementation and its programming model, and an example of its use. The base system API is layered on Java Platform, Standard Edition (Java SE). At its core, Project Caroline features programmatic spawning of VMs on the grid; programmatic allocation of networks, IP addresses, host names, file systems, and database instances; and programmatic control of network connectivity between resources (VMs, storage, and the Internet), including connectivity with other customers' resources. Internet-facing connectivity includes static and dynamic NAT, layer 4-7 load balancing (including HTTPS), name-based virtual hosting, and direct binding to Internet-routable IP addresses for maximum protocol flexibility. Off-grid developer access to the system is via the same API that is used on-grid, WebDAV (for file systems), and a web portal. Developer tools include NetBeans IDE support for remotely deploying and debugging applications on the grid. Higher-level frameworks automate on-grid deployment and management of subsystems and applications, such as automated deployment and network configuration of multiple Apache Tomcat instances in a load-balanced configuration. A systemwide Liberty identity provider simplifies end-user identity management for SaaS providers. The system makes use of multiple features of the Solaris Operating System (Solaris OS): Zones are used for VM isolation and network binding control. Resource pools and the Fair Share Scheduler are used to manage processor allocations. IP Filter is used in network connectivity control. Extended accounting facilities are used to account for CPU time and network traffic. ZFS file system features such as snapshots and clones are available to developers.
Watch The Session |
FREE White Papers on Java SE, Java EE, cloud computing and database technologies.
| ||||||
|
| ||||||||||||