Cloud computing is a type of parallel and distributed system consisting of a collection of interconnected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements.
Cloud computing services can be classified as shown below.
|SaaS (Software as a Service)||Customers are provided with applications that are accessible anytime and anywhere|
|Paas||Customers are provided with a platform for developing applications hosted in the cloud|
|IaaS||Customers are provided with virtualized hardware and storage on top of which they can build their infrastructure|
A Cloud differs from a Grid or Cluster in the fact that:
A detailed comparison between Clouds, Grids and Clusters is given in the table below.
|Population||Commodity computers||High-end computers (servers,clusters)||Commodity computers and high-end servers and network attached storage|
|Size/scalability||100s||1000x||100s to 1000s|
|Node OS||One of the standard OSs (Linux, Windows)||Any standard OS (dominated by Unix)||A hypervisor (VM) on which multiple OSs run|
|Interconnection network/speed||Dedicated, highend with low latency and high bandwidth||Mostly Internet with high latency and low bandwidth||Dedicated, highend with low latency and high bandwidth|
|Security/privacy||Traditional login/ password-based. Medium level of privacy – depends on user privileges.||Public/private key pair based authentication and mapping a user to an account. Limited support for privacy.||Each user/ application is provided with a virtual machine. High security/ privacy is guaranteed. Support for setting per-file access control list (ACL).|
|Discovery||Membership services||Centralized indexing and decentralized info services||Membership services|
|Service negotiation||Limited||Yes, SLA based||Yes, SLA based|
|User management||Centralized||Decentralized and also virtual organization (VO)-based||Centralized or can be delegated to third party|
|Resource Management||Centralized||Distributed||Centralized/ Distributed|
|Allocation/ Scheduling||Centralized||Decentralized||Both centralized/ decentralized|
|Standards/interoperability||Virtual Interface Architecture (VIA)-based||Some Open Grid Forum standards||Web Services (SOAP and REST)|
|Single system image||Yes||No||Yes, but optional|
|Capacity||Stable and guaranteed||Varies, but high||Provisioned on demand|
|Failure management||Limited (often failed tasks/ applications are restarted).||Limited (often failed tasks/ applications are restarted).||Strong support for failover and content replication. VMs can be easily migrated from one node to other.|
|Pricing of services||Limited, not open market||Dominated by public good or privately assigned||Utility pricing, discounted for larger customers|
|Inter-networking||Multi-clustering within an Organization||Limited adoption, but being explored through research efforts such as Gridbus InterGrid||High potential, third party solution providers can loosely tie together services of different Clouds|
|Applications drivers||Science, business, enterprise computing, data centers||Collaborative scientific and high throughput computing applications||Dynamically provisioned legacy and web applications, Content delivery|
|Potential for building 3rd party or value-added solutions||Limited due to rigid architecture||Limited due to strong orientation for scientific computing||High potential — can create new services by dynamically provisioning of compute, storage, and application services and offer as their own isolated or composite Cloud services to users|
Some of the challenges in Cloud Computing are:
Security, along with pricing, metering and billing can be enforced through SLAs and QoS parameters.
Legal and regulatory could be dealt with on the the model of availability zones used by Amazon EC2 to provide better services.
|SaaS||SalesForce.com (CRM), Clarizen.com (Project Management), Google Documents, Google Mail (Automation)|
|Paas||Google AppEngine, Microsoft Azure, Manjrasoft Aneka|
|IaaS||Amazon EC2 and S3, GoGrid, Nirvanix|
The basic definition involves providing compute resources based on demand with priority and decision based on cost, usage, QoS or loyalty.
Market Oriented Computing in the context of Grids and Clouds was pioneered by Manjrasoft's founder and his co-authors as part of their research endeavors on as early as 2000.
More information can be found in a recent document called: Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities, which is the top Google Scholar document on Cloud Computing.
Manjrasoft was started in mid-2008 after years of research and experience in Open Source areas around Cluster Computing, Grid Computing, Cloud Computing and Market Oriented Computing.
Aneka is a Sanskrit word meaning "many into one" which signifies ability to support multiple Run-time environments and multiple programming models with one middleware platform.
|Dynamic Resource Provisioning||No||Yes. Increase/ decrease resource nodes based on user demand, autoscale|
|Cloud Support||No||Yes - private clouds, public clouds or a hybrid cloud|
|Enterprise QoS and SLA||No||Yes|
|Job Management||Queuing (no priorities)||Yes - both queuing and priorities|
|Job Priority||No||Yes - Based on reservation|
Manjrasoft is keen on making Aneka and other technologies available for educational institutions in order to gain knowledge on practical implementation of the technology. In addition, we offer a seminar and training program aimed and introducing and covering topics ranging from fundamental concepts to using state of the art Aneka technology and how to adopt them to teaching parallel and distributed computing for science and engineering graduates.
In educational environment, Manjrasoft’s Aneka technology can be used to:
Aneka is a pure implementation of the Platform as a Service model. The core value of Aneka is a service oriented runtime environment that is deployed on both physical and virtual infrastructures and allows the execution of applications developed with different application models. Aneka provides a Software Development Kit (SDK) allowing developers to create cloud applications on any language supported by the .NET runtime and a set of tools for quickly setting up and deploying clouds on Windows and Linux based systems.
Yes, Aneka can be deployed in a data center to create a private cloud. Applications can be built and managed using Aneka SDK to be run on this private cloud. With dynamic provisioning and QoS and SLA parameters, Aneka helps increase the utilization of the data center resources.
Yes, legacy applications can be run on the Cloud using Aneka. Aneka’s Design Explorer can be used to develop an interface to enable legacy applications to be distributed and run on the Cloud.
Using Aneka Thread APIs, a threaded program can be implemented to execute on a distributed system. In a program with multiple threads, each thread will run on different nodes in the distributed system which are implemented using the Aneka thread programming model. Using the above, a program designed to run on a single system can be modified to run on a distributed system with support for parallelization.
In terms of programming and execution, Thread and Task models are pretty much similar and a program can be executed on either model. BUT the primary use of the Thread model in Aneka is to port multi-threaded applications on a single machine to be run in a similar way on a distributed system which is particularly helpful for developers who are more familiar with thread programming.
MapReduce is one of the most popular programming models designed to support the development of compute and data-intensive applications which have high storage and processing demands which were initially met by large scale computer systems. MapReduce was initially created by Google for simplifying the development of large scale web search applications in data centers and has been proposed to form the basis of a ‘Data center computer’. MapReduce model is suitable for web search services, scientific research projects referred to as e-Science and data mining application amongst others.
Hadoop is an implementation of Google MapReduce based on the Java programming language. Aneka is distributed infrastructure to set up and deploy Clouds, it provides support for a wide range of services and programming models, including MapReduce.
Yes, Aneka can be run on both Windows and Linux clouds and also on a heterogenous environment consisting of Windows and Linux systems.
Aneka relies on the Mono (http://mono-project.com/) runtime in order to run on Unix / Mac OS X platforms. The mono runtime is already prepackaged in many of the available Linux distributions, if not it can be easily installed by using the common installation tools: (rpm packages, deb packages, …) or compiled from the source. The mono runtime provides an alternative solution to the .NET framework and comes with a complete implementation of the .NET 2.0 specification and a compiler for C# 1.0, 1.1, 2.0, and 3.0. Whereas it is possible to write applications with any text editor and compile them with the C# compiler, we recommend MonoDevelop (http:// monodevelop.com/), which provides an alternative to Visual Studio .NET in the Unix world for what concerns C# and other programming languages supported by the .NET runtime.
3D rendering using Autodesk Maya has been successfully implemented on Aneka and is commercially available. More info on this can be found here.
Technical institutions in India are using Aneka to setup private clouds for use in teaching and training students. To find out how they are doing this, click here.
Life sciences applications have been tested on Amazon EC2 using Aneka.
Some of the early adopters of Manjrasoft’s technology are listed below. Engineering/CAD applications:
Scalable gaming applications:
Manjrasoft has been working closely with its customers and has been able to deliver on its promise. This is reflected in the below customer endorsements. Jixiong Sun, Vice Director of IT, GoFront Group(China Southern Railway) said “ANEKA technology not only improves the overall productivity of our product design, but also it gives us an fantastic opportunity to utilize our existing desktop resources which achieves the maximum utilization of our existing investment.”
<Covered in Q6>
Students can be encouraged to write applications on
Aneka can be used for research on
An evaluation version is available for students which can be used three months for educations projects. Downloads
Yes, Manjrasoft can work with you to implement Aneka to your existing applications.
We also provide consulting services in addition to the software. Custom solutions can be developed for your applications based on your needs. For more info, submit an enquiry to our sales team at firstname.lastname@example.org.
The customer will own the rights to the IP of the extension made to their respective applications.
Aneka pricing is based on licensing model. For more information or to request a quote please email email@example.com
Yes, educational institutions receive special pricing for using Aneka in training and teaching. Please contact firstname.lastname@example.org for more information.