RTUEE / EC / EEEYr 2020 · Sem 62020

Q6Cloud Computing

Question

10 marks

Q.6. Describe system architecture of Aneka using suitable example.

Answer

Aneka is a .NET-based Platform-as-a-Service (PaaS) cloud application development and management framework whose architecture comprises a container-based runtime environment hosting pluggable services (scheduling, execution, storage, accounting) on each node, coordinated by a master node, supporting multiple parallel programming models (Task, Thread, MapReduce) to build and deploy applications across public, private, or hybrid cloud resources.

Aneka is a .NET-based Platform-as-a-Service (PaaS) framework, developed originally by Manjrasoft, designed to build and deploy applications on distributed computing infrastructures ranging from a private in-house cluster/data center to public cloud resources, or a hybrid combination of both, providing a unified development and runtime environment abstracting away the underlying infrastructure heterogeneity from the application developer.

Aneka System Architecture

Container: the fundamental deployable unit of Aneka's architecture, running as a lightweight process on each physical or virtual machine (node) participating in the Aneka cloud; the container hosts a collection of pluggable, configurable services that together provide the platform's actual functionality — the specific set of active services in a given container's configuration determines whether that particular node acts as a master (coordinating) node or a worker (execution) node within the overall Aneka deployment.

Fabric services: low-level services managing the physical resources of the Aneka cloud — including resource provisioning (dynamically adding/removing nodes from the Aneka cloud, potentially by provisioning additional virtual machines from an underlying public/private cloud infrastructure provider as workload demands increase or decrease) and hardware profiling/monitoring.

Foundation services: core platform-level services providing the essential runtime infrastructure — including membership/node-discovery services (tracking which nodes are currently part of the Aneka cloud), storage services (managing distributed file storage across the cloud), accounting/billing services (tracking resource usage per user/application for chargeback purposes), and security services (authentication and authorization of users and applications).

Execution services: application-level services directly supporting the execution of user applications — most notably the scheduling service (which determines how and where individual units of work within a submitted application are assigned to execute across the available worker nodes) and the execution service itself (which actually manages the running of individual tasks/threads on each worker node and reports results back).

Programming models (SDK): Aneka supports multiple distinct parallel/distributed programming models through its client-side Software Development Kit, allowing developers to express their application's parallelism in whichever model is most natural for their specific problem — including the Task Programming Model (independent tasks submitted for parallel execution across the available nodes), the Thread Programming Model (a distributed analogue of standard multithreaded programming, distributing individual threads across the cluster), and the MapReduce Programming Model (supporting the same Map/Reduce paradigm discussed in the parallel/distributed programming question, allowing large-scale data processing jobs to run on the Aneka platform).

Aneka System Architecture (simplified)Client SDK (Task/Thread/MapReduce)Execution Services (Scheduling, Execution)Foundation Services (Membership, Storage, Accounting, Security)Fabric Services (Resource Provisioning, Hardware Profiling)

Example use case: a research organization could deploy Aneka containers across its own existing in-house computing cluster (private cloud resources) and configure Aneka's fabric services to additionally and automatically provision extra virtual machines from a public cloud provider (such as Amazon EC2 or Microsoft Azure) whenever the organization's own private cluster capacity is insufficient to meet a sudden surge in computational demand (for example, during a large scientific simulation run); the application developer, using Aneka's Task Programming Model SDK, would simply submit the collection of independent computational tasks making up the simulation to the Aneka platform, without needing to write separate code to handle the underlying complexity of whether a given task actually executes on a private in-house node or a dynamically-provisioned public cloud virtual machine — Aneka's scheduling and fabric services transparently manage this hybrid-cloud resource allocation and task-distribution complexity on the developer's behalf, illustrating Aneka's core value proposition as a unifying PaaS layer across heterogeneous private/public cloud computing infrastructure.

Back to Paper