0% found this document useful (0 votes)
93 views16 pages

Unit 4 Aneka in Cloud Computing

Aneka is a software platform that allows developers to build cloud applications that can run on both private and public clouds in a transparent manner. It provides APIs that support programming models like MapReduce. Aneka applications can be deployed and executed on infrastructure ranging from a single server to a network of datacenters. Manjrasoft created Aneka to simplify the development and deployment of cloud applications on different cloud models.

Uploaded by

Mallinath Khonde
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views16 pages

Unit 4 Aneka in Cloud Computing

Aneka is a software platform that allows developers to build cloud applications that can run on both private and public clouds in a transparent manner. It provides APIs that support programming models like MapReduce. Aneka applications can be deployed and executed on infrastructure ranging from a single server to a network of datacenters. Manjrasoft created Aneka to simplify the development and deployment of cloud applications on different cloud models.

Uploaded by

Mallinath Khonde
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Aneka in Cloud Computing

Aneka includes an extensible set of APIs associated with programming models like
MapReduce.

These APIs support different cloud models like a private, public, hybrid Cloud.

Manjrasoft focuses on creating innovative software technologies to simplify the


development and deployment of private or public cloud applications. Our product
plays the role of an application platform as a service for multiple cloud computing.

o Multiple Structures:
o Aneka is a software platform for developing cloud computing applications.
o In Aneka, cloud applications are executed.
o Aneka is a pure PaaS solution for cloud computing.
o Aneka is a cloud middleware product.
o Manya can be deployed over a network of computers, a multicore server, a data
center, a virtual cloud infrastructure, or a combination thereof.

Multiple containers can be classified into three major categories:

o Textile services
o Foundation Services
o Application Services

1. Textile Services:

Fabric Services defines the lowest level of the software stack that represents multiple
containers. They provide access to resource-provisioning subsystems and monitoring
features implemented in many.

2. Foundation Services:

Fabric Services are the core services of Manya Cloud and define the infrastructure
management features of the system. Foundation services are concerned with the
logical management of a distributed system built on top of the infrastructure and
provide ancillary services for delivering applications.

3. Application Services:
Application services manage the execution of applications and constitute a layer that
varies according to the specific programming model used to develop distributed
applications on top of Aneka.

There are mainly two major components in multiple


technologies:
The SDK (Software Development Kit) includes the Application Programming
Interface (API) and tools needed for the rapid development of applications. The Anka
API supports three popular cloud programming models: Tasks,
Threads and MapReduce;

And

A runtime engine and platform for managing the deployment and execution of
applications on a private or public cloud.

One of the notable features of Aneka Pass is to support the provision of private cloud
resources from desktop, cluster to a virtual data center using VMware, Citrix Zen
Server, and public cloud resources such as Windows Azure, Amazon EC2,
and GoGrid cloud service.

Aneka's potential as a Platform as a Service has been successfully harnessed by its


users and customers in three different areas, including engineering, life sciences,
education, and business intelligence.

Architecture of Aneka
Aneka is a platform and framework for developing distributed applications on the
Cloud. It uses desktop PCs on-demand and CPU cycles in addition to a heterogeneous
network of servers or datacenters. Aneka provides a rich set of APIs for developers to
transparently exploit such resources and express the business logic of applications
using preferred programming abstractions.

System administrators can leverage a collection of tools to monitor and control the
deployed infrastructure. It can be a public cloud available to anyone via the Internet or
a private cloud formed by nodes with restricted access.

A multiplex-based computing cloud is a collection of physical and virtualized resources


connected via a network, either the Internet or a private intranet. Each resource hosts
an instance of multiple containers that represent the runtime environment where
distributed applications are executed. The container provides the basic management
features of a single node and takes advantage of all the other functions of its hosting
services.
Services are divided into clothing, foundation, and execution services. Foundation
services identify the core system of Anka middleware, which provides a set of
infrastructure features to enable Anka containers to perform specific and specific tasks.
Fabric services interact directly with nodes through the Platform Abstraction Layer
(PAL) and perform hardware profiling and dynamic resource provisioning. Execution
services deal directly with scheduling and executing applications in the Cloud.

One of the key features of Aneka is its ability to provide a variety of ways to express
distributed applications by offering different programming models; Execution services
are mostly concerned with providing middleware with the implementation of these
models. Additional services such as persistence and security are inverse to the whole
stack of services hosted by the container.

At the application level, a set of different components and tools are provided to

o Simplify the development of applications (SDKs),


o Port existing applications to the Cloud, and
o Monitor and manage multiple clouds.

An Aneka-based cloud is formed by interconnected resources that are dynamically


modified according to user needs using resource virtualization or additional CPU cycles
for desktop machines. A common deployment of Aneka is presented on the side. If the
deployment identifies a private cloud, all resources are in-house, for example, within
the enterprise.

This deployment is enhanced by connecting publicly available on-demand resources


or by interacting with several other public clouds that provide computing resources
connected over the Internet.

Aneka Cloud Application Platform Framework-


Aneka is a cloud application platform framework that provides a middleware
platform for deploying and managing applications on cloud infrastructures. Please
note that there may have been updates or changes since then, and it's always a good
idea to refer to the official documentation or the latest sources for the most accurate
and current information.

Here are some key aspects of Aneka based on information available up to my last
update:

1. Overview:

 Middleware Platform: Aneka serves as a middleware platform for building and


deploying distributed applications on cloud environments.

2. Features:

 Task Execution: Aneka supports the execution of tasks in a distributed computing


environment, allowing applications to scale horizontally by leveraging the
computational resources available in a cloud infrastructure.
 Resource Management: It provides capabilities for managing and scheduling
resources, optimizing the use of computing resources based on application
requirements.
 Programming Model: Aneka supports different programming models, making it
versatile for various types of distributed applications.

3. Cloud Integration:
 Cloud Agnostic: Aneka is designed to be cloud-agnostic, meaning it can work with
different cloud providers. It abstracts the underlying cloud infrastructure, allowing
applications to be deployed across various cloud environments.
 Auto-Scaling: The framework may support auto-scaling features, allowing
applications to dynamically adjust the number of resources based on demand.

4. Programming Models:

 Task Parallelism: Aneka is often used for applications that can be parallelized into
tasks, which can be distributed and executed across multiple nodes.
 MapReduce: Some cloud application platforms, including Aneka, may support a
MapReduce programming model for processing large datasets in parallel.

5. Use Cases:

 Scientific Computing: Aneka has been used in scientific computing scenarios where
parallel processing is required for simulations, data analysis, or other compute-
intensive tasks.
 Enterprise Applications: It can be employed for scalable execution of enterprise
applications that can benefit from distributed computing.

6. Management and Monitoring:

 Resource Monitoring: Aneka may include tools for monitoring resource usage,
allowing administrators to track the performance of distributed applications.
 Task Scheduling: The framework may provide task scheduling mechanisms to
optimize the allocation of tasks to available resources.

7. Development and APIs:

 Development Environment: Aneka typically provides development tools and APIs


for building applications that can run on the platform.
 Integration: It may offer integration with popular development environments and
languages.

8. Community and Support:

 Community: Aneka may have a community of users and developers contributing to


its development and support.
 Documentation: Availability of documentation and resources for developers and
administrators.
Anatomy of the Aneka Container-

Aneka itself does not have a specific concept of containers like Docker containers or
Kubernetes pods. Instead, Aneka is more focused on providing a middleware
platform for deploying and managing distributed applications on cloud
infrastructures. However, I can provide a general understanding of the anatomy of
containers in the context of cloud computing.

In cloud computing, containers are lightweight, portable, and isolated environments


that package applications and their dependencies. The most common technology for
containers is Docker, and container orchestration systems like Kubernetes are often
used to manage and scale containerized applications.

Here's a general anatomy of a container in cloud computing:

1. Container Image:

 File System: A container image is a lightweight, standalone, and executable package


that includes the application code, runtime, libraries, and system tools necessary for
the application to run.

2. Container Runtime:

 Docker Engine (or equivalent): The container runtime is responsible for running
and managing containers. Docker is a widely used container runtime, but there are
others like containerd or rkt.

3. Container Orchestration:

 Kubernetes: Container orchestration systems manage the deployment, scaling, and


operation of application containers. Kubernetes is a popular open-source
orchestration platform.

4. Container Registry:

 Docker Hub, Google Container Registry, etc.: Container images are stored in
container registries. These registries provide versioning, distribution, and sharing of
container images.

5. Container Orchestration Components:


 Pods (Kubernetes): The smallest deployable units in Kubernetes. Containers within a
pod share the same network namespace and can communicate with each other using
localhost.
 Services (Kubernetes): Define a set of pods and a policy to access them. Services
enable load balancing across multiple pods.
 ReplicaSets (Kubernetes): Ensure a specified number of replicas (pod instances) are
running at all times.

6. Networking:

 Container Network Interface (CNI): CNI plugins manage the network connections
between containers, allowing them to communicate with each other and external
services.

7. Storage:

 Persistent Volumes (PV) and Persistent Volume Claims (PVC): Kubernetes


provides abstractions for persistent storage, allowing containers to have access to
durable storage.

8. Environment Variables and Configuration:

 Environment Variables: Containers often use environment variables to pass


configuration information to applications.

9. Security and Isolation:

 Namespaces and Cgroups: Linux namespaces and control groups (cgroups) provide
process and resource isolation for containers.

10. Container Lifecycle:

 Creation, Running, Stopping, and Removal: Containers go through various states


in their lifecycle, including creation, running, stopping, and removal.

11. Logging and Monitoring:

 Logging: Containers produce logs that need to be collected and analyzed for
troubleshooting and monitoring.
 Monitoring: Tools like Prometheus or Grafana are commonly used for monitoring
containerized environments.
12. Scaling:

 Horizontal Scaling: Containers can be scaled horizontally by deploying multiple


instances of the same containerized application to handle increased demand.

Keep in mind that the specifics can vary based on the containerization technology
(e.g., Docker, containerd) and the container orchestration system (e.g., Kubernetes,
Docker Swarm) being used. If there have been updates or changes to Aneka's
features or capabilities related to containers since my last update, I recommend
checking the official Aneka documentation or release notes for the most accurate
and current information.

Classification of Aneka Services in Cloud


Computing
Now we are going to learn about various classifications of Aneka service.
 Fabric services

 Foundation Services

 Application Services
Fabric Services
The Aneka container is represented by fabric services, the lowest level of the
software stack. They offer access to Aneka's resource provisioning subsystem and
the monitoring facilities. Fabric services are used in a heartbeat, monitoring, and
reporting services.
Foundation Services
Fabric services are the foundational services of the Aneka cloud, defining the
system's core infrastructure management capabilities. Foundation services are
responsible for the logical management of the distributed system constructed on top
of the infrastructure and providing support services for distributed application
execution. Foundation services are used in accounting, billing, and resource pricing.
Application Services
Application services are a layer that manages the execution of applications and
differentiates itself based on the programming model used to construct distributed
apps on top of Aneka. Application services are used in performance monitoring,
execution failure management, etc.

Infrastructure Organization:

Infrastructure organization involves the strategic arrangement of


hardware, software, networking components, and other resources to
create a robust and efficient computing environment. Buyya
highlights the significance of designing scalable and flexible
infrastructures that can adapt to the dynamic nature of cloud
environments.

1.2 Resource Virtualization:

A core concept discussed by Buyya is resource virtualization, a key


enabler in cloud computing. By abstracting physical resources into
virtual entities, organizations can achieve greater flexibility,
resource utilization, and scalability. Virtualization technologies,
such as hypervisors and containers, play a pivotal role in achieving
this abstraction.
Logical Organization-

The logical organization of resources in cloud computing involves


the efficient allocation and management of virtualized assets to meet
the demands of applications and services.

3.1. Resource Orchestration:

Resource orchestration is a critical aspect of logical organization,


encompassing the automated provisioning, configuration, and
management of resources. Orchestration tools, often facilitated by
cloud providers, streamline the deployment and scaling of
applications.

3.2. DevOps and Continuous Integration/Continuous Deployment


(CI/CD):
DevOps practices, coupled with CI/CD pipelines, contribute to the
logical organization of resources by promoting collaboration
between development and operations teams. Automation in the
software delivery lifecycle ensures faster and more reliable
deployments, enhancing the overall efficiency of cloud-based
systems.

Cloud Storage and Cloud Computing


Cloud storage is an essential component that fulfills cloud computing as a whole. Cloud
computing relies on cloud storage to store data and retrieve it using an internet-enabled device
wherever and whenever necessary.
Technically, cloud storages, such as Google Drive and Dropbox, are virtual data centers (or
virtual hard drives) that can be scaled to meet the demands of end-users’ and applications.

3 Different Types of Cloud Deployment Models


Cloud computing can be deployed on any of the 3 major categories of cloud storage:
 Public
 Private
 Hybrid

The goal of this article is to help you understand what each of the services comprises. We’ll also
highlight each cloud's benefits, so you know which model best suits your company’s needs.

Public Cloud
This is the most popular cloud computing model. It refers to computing services where the third
party vendors make the resources available to everyone and all businesses through the internet.
These resources may be anything from virtual machines to storage capabilities, infrastructure,
and servers.
In a public cloud, multiple companies share single hardware that is owned and operated by the
vendor. The third-party provider is also responsible for availing the resources to the users
according to their needs. A few of the well-known public cloud service providers include Microsoft
Azure, Amazon Elastic Compute Cloud, Google AppEngine, Blue Cloud (IBM), and Sun Cloud.

Benefits of Public Cloud Computing Services


Flexible pricing structure- most third-party, public service providers offer a pay-by-the-hour
payment plan. This is a cost-effective pricing strategy where the business pays for the services it
needs instead of paying a fixed cost upfront. This flexibility is especially beneficial to small and
medium-sized enterprises as it allows tight budget control.
Advanced cybersecurity- despite it being public, you can be assured that the data stored in a
public cloud is safe. Besides having the money for the best security tools, most public cloud
service providers also attract experienced cybercrime engineers to protect the infrastructure.
No maintenance responsibility for the users- the other benefit of a public cloud is that the service
provider is responsible for maintaining the hardware, software, and networks. This further
reduces the operational cost for the end-users. It also saves the IT team precious time that can
be funneled to other tasks boosting its overall efficiency.

Private Cloud
A private cloud is also known as a corporate or internal cloud. Unlike in a public cloud where the
services are readily available to anyone who wants to use them, a private cloud creates an
environment that is solely engineered for the end-user. That’s to say that the underlying IT
infrastructure is exclusively designed for a single customer, and it's isolated from other potential
users.
Private cloud computing services come in two flavors from a management point of view. If you
have the resources, you may choose to staff, manage, and maintain the underlying
infrastructure. However, if the IT department is understaffed or underskilled, there's an option to
have your private cloud managed by a third party.
A private cloud approach may be the solution for an IT team that wants to make the available
resources on-demand but is reluctant to move to the public cloud due to compliance regulations
and established policies. Businesses in the healthcare and banking industry, for instance,
combine private cloud deployment with firewalls and encryption protocols to enhance their data
security strategies.
Examples of private cloud in cloud computing include Ubuntu, Microsoft, HP Data Centers, and
Elastra-private cloud.

Benefits of Private Cloud Technology


 Compliance to security regulations- businesses in heavily regulated industries, such as
healthcare and finance, benefit from an additional safety level because sensitive data is held
on private hardware that outsiders can't access easily.
 Control- because private cloud infrastructures are located on-site or at a third-party data
center provider, it's easy for the IT team to access and make any necessary changes. They
can also scale the resources according to the organization's needs and even predict or
detect downtime and bottlenecks early enough.
 Customization- taking a private cloud approach also allows the business to customize the
platform to its needs. The organization can consider its scalability, availability, and security
policies and configure the cloud's underlying infrastructure to suit these needs.

Hybrid Cloud
A hybrid cloud is a computing approach that mixes public and private cloud services with on-
premises infrastructure to create a single working environment. Such an IT environment also
requires orchestration software for effective communication between the services.
In a hybrid cloud model approach, the IT team deploys its workloads in a public or private cloud
and uses the orchestration tool to switch between the 2 work areas depending on cost and
computing needs.
Hybrid and multi-cloud environments should not be confused. The most significant difference
between these 2 is that a multi-cloud working area combines several public cloud services but
does not involve on-premises or private cloud services.

Benefits of Hybrid Cloud


 Flexibility- in a hybrid environment, enterprises can switch from traditional systems to
modern cloud technology when necessary.
 Agility- an organization can offer more resource options when using a hybrid cloud model
than when using a physical data center.
 Effective cost management- thanks to this model's flexibility attribute, hybrid cloud users can
control cost management by going with the cheapest option between running their
workloads on-premises infrastructure or in private and public clouds.

Cloud Programming

A Paradigm Shift Embracing Scalability and Flexibility


Cloud programming transcends traditional boundaries, offering
unparalleled scalability and flexibility. Developers can harness the
power of cloud infrastructure to build and scale applications
dynamically, responding to changing demands in real-time.
Aneka SDK: Empowering Cloud Application Development
Understanding Aneka

Aneka SDK stands out as a robust framework designed to simplify


the development and deployment of cloud applications. Its
architecture seamlessly integrates with various cloud platforms,
providing a versatile and efficient solution for developers.

Key Features of Aneka SDK

Task Parallelism: Aneka enables developers to implement task


parallelism effortlessly, distributing computing tasks across a
network of machines for optimal performance.

Resource Management: The SDK includes sophisticated


resource management tools, ensuring efficient allocation and
utilization of cloud resources.

Programming Model Abstraction: Aneka abstracts the


underlying complexity of cloud environments, allowing developers
to focus on application logic rather than infrastructure intricacies.

Management Tools: Orchestrating the Cloud Symphony

Navigating the Cloud Management Landscape


As cloud ecosystems grow in complexity, the need for advanced
management tools becomes paramount. These tools act as
orchestrators, harmonizing the diverse components of cloud
environments for seamless operations.
Cutting-Edge Cloud Management Tools Kubernetes:
Container Orchestration Excellence
Kubernetes has emerged as a cornerstone in container
orchestration, simplifying the deployment, scaling, and operation of
containerized applications. Its versatility and wide adoption make it
a go-to tool for cloud-native development.

Terraform: Infrastructure as Code (IaC)


Terraform revolutionizes infrastructure management by introducing
the concept of Infrastructure as Code. Developers can define and
provision infrastructure using declarative configuration files,
ensuring consistency and reproducibility.

Ansible: Configuration Management Reinvented


Ansible automates configuration management, application
deployment, and task automation. Its agentless architecture and
simplicity make it an invaluable tool for managing diverse cloud
environments.

Challenges and Opportunities


While cloud programming and management tools offer immense
potential, challenges such as security, compliance, and integration
complexities persist. However, these challenges present
opportunities for innovation, driving the continuous evolution of
cloud technologies.

You might also like