Overview of Aneka Cloud Platform
Topics covered
Overview of Aneka Cloud Platform
Topics covered
Aneka provides several advantages over traditional GRID or Cluster-based systems. Firstly, it offers rapid deployment tools and framework, enabling quick setup and usage of cloud applications . Secondly, Aneka supports multiple programming models, including Task, Thread, and MapReduce, allowing for flexible application development . Thirdly, it provides dynamic workload distribution and management, which accelerates application performance using a market-oriented framework . Additionally, Aneka supports both virtual and physical machines, optimizing resource utilization in local and network environments . Lastly, it allows multiple applications to run concurrently on the same runtime environment, enhancing efficiency and resource sharing .
Aneka supports developers in building applications through its Software Development Kit (SDK), which provides a comprehensive API and toolset for expressing and virtualizing applications over distributed networks . This kit includes models for different application types, such as Task, Thread, and MapReduce, which cater to both existing and new application architectures . Aneka allows developers to develop once and run applications in multiple environments, saving time and enhancing application portability . It also provides tools for simplifying the deployment of existing applications, such as the Design Explorer for parameter sweeps .
Integrating legacy applications with Aneka can present challenges such as compatibility with modern cloud architectures and the need to adapt existing task structures to fit new programming models. Aneka addresses these issues by supporting the Task Programming Model, which enables grid/cloud functionality for legacy applications without extensive restructuring . Its extensive API support allows developers to adapt and optimize legacy applications to take advantage of cloud resources . Additionally, the Design Explorer Tool facilitates the parameter sweep of existing applications, distributing executions efficiently across cloud resources .
Aneka ensures scalability through dynamic provisioning, which scales resources up or down based on application requirements . It employs an SLA/QoS-based accounting mechanism to manage priorities, allowing efficient resource allocation and management . Aneka also utilizes both physical and virtual hardware efficiently, leveraging the spare CPU cycles of desktop and data center machines . The Aneka Scheduler manages task execution by dispatching work units to different nodes and retrieving results, optimizing resource use across the distributed system .
Aneka integrates with heterogeneous network environments by virtualizing applications over diverse resources such as PC grids, data centers, and multiple-core computers, facilitating seamless application deployment and performance . The platform utilizes a network of interconnected physical and virtualized resources, managed by the Aneka Container, to run distributed applications efficiently . Aneka’s support for multiple runtime environments and its ability to harness spare CPU cycles from local machines optimize resource allocation and application execution, regardless of the underlying network diversity . This integration is key to Aneka’s capacity to deliver rapid development and scalable cloud applications .
Aneka accelerates application deployment by supporting multiple programming languages through the Microsoft .NET framework, enabling integration with existing applications . It also uses physical machines for maximum utilization locally and provisions virtual machines as demand increases in private or public clouds . Aneka’s Scheduler allows multiple applications to be run simultaneously on the same runtime environment or in queued arrangements, optimizing deployment efficiency . Management features include a GUI for setup, monitoring, managing, and maintaining the Aneka cloud infrastructure with tools for dynamic scalability .
Aneka leverages private cloud resources by utilizing available physical machines locally to achieve high utilization rates. In response to increased demand, it provisions virtual machines through private clouds using technologies like Xen or VMware, and public clouds such as Amazon EC2 . This ensures scalability and flexibility, allowing Aneka to dynamically expand resource availability to meet application and user demands efficiently . Such integration of public and private resources is a key feature of Aneka's market-oriented cloud management approach .
Aneka offers flexibility through its support for multiple programming models: the Task Model for batch and legacy applications, the Thread Model for object-oriented thread use, and the MapReduce Model for data-intensive applications like data mining . Aneka also allows customization with models such as MPI (Message Passing Interface) and Actors (Distributive Active Objects/Agents). This variety enables developers to select the model that best fits their application’s architecture and processing requirements, facilitating diverse application developments on clouds . Custom models can also be developed, offering even greater flexibility .
Dynamic provisioning in Aneka allows for the automatic scaling of resources based on the application workload, enhancing service efficiency and cost-effectiveness . It ensures resources are allocated dynamically as user demands change, eliminating idle resources and reducing operational costs . This capability is supported by the platform's SLA/QoS-based management, which regulates resource distribution according to set priorities and service agreements . Overall, dynamic provisioning facilitates efficient cloud service management by ensuring that resources are efficiently utilized and scaled according to real-time application requirements .
In Aneka’s cloud architecture, the Container represents the runtime environment where distributed applications are executed. Each cloud resource hosts an instance of the Aneka Container, which provides essential management functions for the node and leverages operations on services it hosts . The Container supports fabric, foundation, and execution services, involved respectively in hardware profiling, core middleware functionalities, and the scheduling/execution of applications . It also supports transversal services like persistence and security, ensuring the comprehensive management and execution of applications within the cloud environment .