Concept Overview Introduction Anatomy of the Aneka Container Building Aneka Clouds Cloud Programming and Management 2
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 mul ti core server, data centers , virtual cloud infrastructures, or a mixture of all 3
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
Aneka Framework Overview The framework provides Middleware for managing and scaling distributed applications. An extensible set of APIs for developing them. 6
7
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
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
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 mach inery is responsible for keeping the infrastructure up and running and serves as a hosting environment for services. 10
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
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
Anatomy of the Aneka Container It is a runtime machinery available to services and applications. it is a lightweight software layer designed to ho st services and interact with the underlying operating system and hardware The services stack resides on top of the Platform Abstraction Layer(PAL) . 13
14
Anatomy of the Aneka Container contd … The Aneka container can be classified into three major categories: • Fabric Services • Foundation Services • Application Services 15
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
17
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
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
20
Services Stack Fabric services Foundation services Application and Execution Services 21
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
23
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
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 a s upload and download times, file names, and sizes Resource Provisioning Service : tracks the provisioning and life time information of virtual nodes. 25
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
Services Stack Fabric services Foundation services Application and Execution Services 27
28
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
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
31
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
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 dis tributed file systems 33
34
35
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
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
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
Services Stack Fabric services Foundation services Application and Execution Services 39
40
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
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
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
Application Services …Supported Models Application Services constitutes the runtime support of the programming model in the Aneka Cloud. Task Model Thread Model Map Reduce Model Parameter Sweep Model 44
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
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
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
48
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
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
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
Aneka SDK Support is provided through Application Model Service Model 56
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
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
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
60 Service Life Cycle
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