3. Introduction
Aneka is Manjrasoft’s solution for developing,
deploying, and managing cloud applications.
Aneka is a software platform for developing cloud
computing applications
Aneka is a pure PaaS solution for cloud computing.
Aneka is a cloud middleware product that can be
deployed on a heterogeneous set of resources.
Like: a network of computers, a multi core server,
data centers, virtual cloud infrastructures, or a
mixture of all
3
5. Introduction overview
Lightweight Container hosting multiple services.
All programming models available from within the same container.
SDK containing APIs for multiple programming
models and tools.
Runtime Environment for managing application
execution management
5
6. Aneka Framework Overview
The framework provides
Middleware for managing and scaling distributed applications.
An extensible set of APIs for developing them.
6
8. Aneka Framework Overview contd…
The Physical and Virtual resources representing the bare metal of the
cloud are managed by the Aneka container.
Container is installed on each node and constitutes the basic building
block of the middleware.
A collection of interconnected containers constitute the Aneka Cloud.
8
9. Aneka Framework Overview contd…
The container features three different classes of services:
Fabric Services
Takes care of infrastructure management
Foundation Services
Supporting services for the Aneka Cloud
Execution Services.
Application management and execution
9
10. Various
Services offered by Aneka Cloud Platform
Aneka implements a service-oriented architecture (SOA).
Services operate at container level
Services provide developers, users, and administrators with all features offered
by the framework.
The services offered are: -
Elasticity and Scaling:
By means of the dynamic provisioning service, Aneka supports dynamically upsizing
and downsizing of the infrastructure available for applications.
Runtime Management:
The run time machinery is responsible for keeping the infrastructure up and running
and serves as a hosting environment for services.
10
11. Various
Services offered by Aneka Cloud Platform
contd…
Application Management:
services include scheduling, execution, monitoring, and storage
management
User Management:
Aneka is a multi tenant distributed environment in which multiple
applications, potentially belonging to different users, are executed.
The framework provides an extensible user system via which it is possible to
define users, groups, and permissions
11
12. Various
Services offered by Aneka Cloud Platform contd…
QoS/SLA Management and Billing
Within a cloud environment, application execution is metered and billed.
Aneka provides a collection of services that coordinate together to take into
account the usage of resources by each application and to bill the owning user
accordingly
12
13. Anatomy of the Aneka Container
It is a runtime machinery available to services and applications.
it is a lightweight software layer designed to host services and interact
with the underlying operating system and hardware
The services stack resides on top of the Platform Abstraction
Layer(PAL) .
13
15. Anatomy of the Aneka Container contd…
The Aneka container can be classified into three major categories:
• Fabric Services
• Foundation Services
• Application Services
15
16. Anatomy of the Aneka Container contd…
Platform Abstraction Layer (PAL)
PAL provides the container with a uniform interface for accessing the
relevant hardware and operating system information.
16
18. Anatomy of the Aneka Container contd…
PAL is responsible for detecting the supported hosting environment
The PAL provides the following features:
Uniform and platform-independent implementation interface for
accessing the hosting platform
Uniform access to extended and additional properties of the hosting
platform
Uniform and platform-independent access to remote nodes
Uniform and platform-independent management interfaces
18
19. Anatomy of the Aneka Container contd…
The PAL is a small layer of software comprises a detection engine that
automatically configures the container at boot time.
The collectible data that are exposed by the PAL are
Number of cores, frequency, and CPU usage
Memory size and usage
Aggregate available disk space
Network addresses and devices attached to the node
19
21. Services Stack
Fabric services
Foundation services
Application and Execution Services
21
22. Fabric Services
Define the lowest level of the software stack representing the Aneka
Container.
It consists of
Profiling and Monitoring Services
Resource Management Services
22
24. Fabric Services contd…
Profiling and monitoring services :--
Heartbeat service
Periodically collects the dynamic performance about the nodes
The basic information about memory, disk space, CPU and OS are collected.
This information is published to membership services in the Aneka cloud.
A specific component, called Node Resolver, is in charge of collecting these data and
making them available to the Heartbeat Service
Reporting service
Manages the store for monitored data and makes them accessible to other services or
external applications for analysis purposes.
Monitoring
Acts as a gateway to the reporting service
Forwards all the monitored data that has been collected on the node.
24
25. Fabric Services contd…
Built in Services used to provide information through this channel are:-
Membership Catalogue: performance information of nodes
Execution Service: monitors several time intervals for the execution of
jobs
Scheduling Service: tracks the state transitions of jobs.
Storage Service: monitors and obtains information about data transfer
such as upload and download times, file names, and sizes
Resource Provisioning Service: tracks the provisioning and life time
information of virtual nodes.
25
26. Fabric Services contd…
Resource Management services
Tasks comprised are
Resource Membership (Index or Membership Catalogue)
It keeps track of the basic information for all the nodes that are connected or
disconnected
Directory service – where services can be searched using attributes such as
names and nodes
Resource Reservation
Resource Provisioning
All the operations that are needed for provisioning virtual instances.
(Providing virtual instances as needed by users).
Supports QoS requirements.
26
27. Services Stack
Fabric services
Foundation services
Application and Execution Services
27
29. Foundation Services
Foundation Services are related to the logical management of the
distributed system built on top of the infrastructure
Provide supporting services for the execution of distributed applications.
Services covers :
Storage Management for applications
Accounting, billing, and resource provisioning
Resource reservation
29
30. Foundation Services contd…
Storage Management
Offers two different facilities for storage management.
Centralized file storage
Used for the execution of compute- intensive applications
Scientific applications
Distributed file system
Used for the execution of data-intensive applications.
marketing analytics, image processing, machine learning, and
web crawling
30
32. Foundation Services contd…
Storage Management
Centralized file storage
Implemented through and managed by Aneka’s Storage Service.
Distributed applications are provided with the basic file transfer facility
using the normal File Transfer Protocol (FTP).
The protocols for implementing centralized storage management are supported
by a concept of File channel
It consist of
a file channel controller and
a file channel handler.
The file channel controller constitutes the server component of the channel.
The file channel handler represents the client component
32
33. Foundation Services contd…
Storage Management
Distributed file system
Data-intensive applications are characterized by large data files (gigabytes
or terabytes, peta bytes) and here processing power required by tasks is
not more
a distributed file system is used for storing data by using all the nodes
belonging to the cloud.
Google File system is best example for distributed file systems
33
36. Foundation Services contd…
Accounting, Billing, and Resource pricing
Accounting services keep track of the status of applications in the Aneka Cloud.
The collected information provides a detailed break down of the distributed
infrastructure usage.
This information constitutes the foundation on which users are charged in Aneka.
Billing is another important feature of accounting.
Resource pricing is associated with the price fixed for different types of
resources/nodes that are provided for the subscribers.
Powerful resources are priced high and less featured resources are priced low
36
37. Foundation Services contd…
Resource Reservation
Allows for reserving resources for exclusive use by specific applications.
Two types of services are used to build resource reservation
Resource Reservation
Keeps track of all the reserved time slots in the Aneka Cloud .
Allocation Service
Installed on each node that features execution services
Manages the information about allocated slots on the local node.
37
38. Foundation Services contd…
Resource Reservation
Three types of Reservation Service Implementations are supported by
Aneka Cloud
Basic Reservation
basic capability to reserve execution slots on nodes
implements the alternate offers protocol, which provides alternative options in
case the initial reservation requests cannot be satisfied.
Libra Reservation
the ability to price nodes differently according to their hardware capabilities
Relay Reservation
allows a resource broker to reserve nodes in Aneka Clouds and control the
logic with which these nodes are reserved.
38
39. Services Stack
Fabric services
Foundation services
Application and Execution Services
39
41. Application Services
Manage the execution of applications.
The types and the number of services that
compose this layer for each of the programming
models may vary according to the specific needs or
features of the selected model.
Two major types of activities that are common
across all the supported models (Two types of
services )are:
Scheduling Service
Execution Service
41
42. Application Services …..Scheduling
Service
In charge of planning the execution of distributed
applications on top of Aneka.
Governing the allocation to nodes.
Common tasks that are performed by the scheduling
component
Job to node mapping
Rescheduling of failed jobs
Job status monitoring
Application status monitoring
42
43. Application Services…..Execution
Services
Control the execution of single jobs that compose
applications.
Some common operations
Unpacking the jobs received from the scheduler
Retrieval of input files required for job execution
Submission of output files at the end of execution
43
44. Application Services …Supported
Models
Application Services constitutes the runtime
support of the programming model in the Aneka
Cloud.
1. Task Model
2. Thread Model
3. Map Reduce Model
4. Parameter Sweep Model
44
45. Application Services …Supported Models
Task Model :
In this model, an application is modeled as a collection of tasks that
are independent from each other and whose execution can be
sequenced in any order.
45
46. Application Services …Supported Models
Thread Model:
An extension to the classical multithreaded programming to a
distributed infrastructure.
Uses the abstraction of Thread to wrap a method that is executed
remotely.
46
47. Application Services …Supported Models
Map Reduce Model:
This is an implementation of Map Reduce as proposed by Google on
top of Aneka.
Parameter Sweep Model:
Specialization of the Task Model for applications that can be
described by a template task whose instances are created by
generating different combinations of parameters, which identify a
specific point into the domain of interest.
47
49. Building Aneka clouds
Aneka is primarily a platform for developing distributed applications for
clouds.
Aneka supports various deployment models for public, private, and hybrid
clouds.
49
54. Hybrid cloud deployment model
54
Provisioning
Service
Application
Management & Scheduling
Reporting, Billing, Accouting
Public Clouds
Desktops & Workstations Clusters Virtual Cluster Resources
Resource
Reservation
Master Node
Local Infrastructure
55. Cloud Programming and Management
Aneka’s primary purpose is to provide a scalable middleware product in
which to execute distributed applications.
Application development and management constitute the two major
features that are exposed to developers and system administrators.
To simplify these activities, Aneka provides developers with a
comprehensive and extensible set of APIs and administrators with
powerful and intuitive management tools.
The APIs for development are mostly concentrated in the Aneka SDK;
management tools are exposed through the Management Console.
55
56. Aneka SDK
Support is provided through
Application Model
Service Model
56
57. Application Model
Aneka provides support for distributed execution in the Cloud with the
abstraction of programming models.
The Application Model represents the minimum set of APIs that is
common to all the programming models
for representing and programming distributed applications on top of
Aneka.
57
58. Service Model
The Aneka Service Model defines the basic requirements to implement a
service that can be hosted in an Aneka Cloud.
The container defines the runtime environment in which services are
hosted.
Each service that is hosted in the container must be compliant with the
IService interface.
This interface exposes the following methods and properties:
Name and status
Control operations such as Start, Stop, Pause, and Continue methods
Message handling by means of the Handle Message method
58
59. Aneka provides a default base class for simplifying service implementation and a
set of guidelines that service developers should follow to design and implement
services .
The guidelines define a Service Base class that can be further extended to
provide a proper implementation.
This class is the base class of several services in the framework and provides
some built-in features:
Implementation of the basic properties exposed by IService
Implementation of the control operations with logging capabilities and state
control
Built-in infrastructure for delivering a service specific client
Support for service monitoring
59
61. Management Tools
Aneka is a pure PaaS implementation and requires virtual or physical
hardware to be deployed.
infrastructure management, together with facilities for installing logical
clouds on such infrastructure, is a fundamental feature of Aneka’s
management layer.
This layer also includes capabilities for managing services and
applications running in the Aneka Cloud.
61