Cloud Applications
Cloud computing has gained huge popularity in the industry due to its ability to host applications.
Applications in a wide range of domains, from scientific to engineering, gaming, and social networking.
1) Scientific applications
Cloud computing systems meet the needs of different types of applications in the scientific domain:
- high-performance computing (HPC) applications
- high-throughput computing (HTC) applications
- data-intensive applications
IaaS solutions offer the optimal environment for running bag-of-tasks applications and workflows.
PaaS solutions allow scientists to explore new programming models for tackling computationally challenging problems.
The MapReduce programming model has been widely used to develop data-intensive scientific applications.
1.1) Healthcare: ECG analysis in the cloud
Healthcare is a domain in which computer technology is used to
- assist scientists in developing solutions to cure diseases.
- Support doctors in providing more effective diagnostic processes
ECG data analysis and monitoring constitute a case that naturally fits into this scenario. ECG is the electrical manifestation of the contractile activity of the heart’s myocardium.
ECG waveform is used to identify arrhythmia and is the most common way to detect heart disease.
Cloud computing technologies allow the
- remote monitoring of a patient’s heartbeat data
- data analysis in minimal time
- notification of first-aid personnel and doctors if these data reveal potentially dangerous conditions.
Infrastructure for ECG monitoring
- Wearable computing devices equipped with ECG sensors constantly monitor the patient’s heartbeat.
- Such information is transmitted to the patient’s mobile device,
- From the mobile device it is forwarded to the cloud-hosted Web service for analysis.
- The Web service forms the front-end of a platform that is hosted in the cloud.
- The Web service constitute the SaaS application which store ECG data in the Amazon S3 service and issue a processing request to the scalable cloud platform.
- The runtime platform is composed of a dynamically sizable number of instances running the workflow engine and Aneka.
- The number of workflow engine instances is controlled according to the number of requests in the queue of each instance,
- Aneka controls the number of EC2 instances used to execute the single tasks defined by the workflow engine for a single ECG processing job.
- Each of these jobs consists of a set of operations involving the extraction of the waveform from the heartbeat data and the comparison of the waveform with a reference waveform to detect anomalies.
- If anomalies are found, doctors and first-aid personnel can be notified to act on a specific patient.
Advantages of Remote ECG monitoring
- The doctors and hospitals do not have to invest in large computing infrastructures.
- Computing systems hosted in the cloud are accessible from any Internet device through simple interfaces.
- Cloud services are priced on a pay-per-use basis which will result in cost savings.
1.2 Biology: protein structure prediction
Applications in biology often require high computing capabilities and often operate on large datasets that cause extensive I/O operations.
Protein structure prediction is a computationally intensive task.
The geometric structure of a protein cannot be directly inferred from the sequence of genes that compose its structure.
One project that investigates the use of cloud technologies for protein structure prediction is Jeeva.
Jeeva - an integrated Web portal that enables scientists to offload the prediction task to a computing cloud based on Aneka.
The prediction task uses machine learning techniques.
These techniques translate the problem into a pattern recognition problem.
A sequence has to be classified into one of three possible classes (E, H, and C).
A popular implementation based on support vector machines divides the pattern recognition problem into three phases:
- initialization
- classification
- final phase
It is possible to take advantage of parallel execution in the classification phase, where multiple classifiers are executed concurrently.
The prediction algorithm is then translated into a task graph that is submitted to Aneka. Once the task is completed, the middleware makes the results available for visualization through the portal.
The advantage of using cloud technologies: a scalable computing infrastructure
1.3 Biology: gene expression data analysis for cancer diagnosis
Gene expression profiling is the measurement of the expression levels of thousands of genes at once.
It is used to understand the effects of a specific treatment, which helps in drug design.
Another important application of gene expression profiling is cancer diagnosis and treatment.
This problem is often approached with learning classifiers.
CoXCS has proven to be effective in these conditions.
CoXCS divides the entire search space into subdomains and employs the standard XCS (eXtended Classifier System) algorithm in each of these subdomains.
Such a process is computationally intensive but can be easily parallelized.
Cloud-CoXCS is a cloud-based implementation of CoXCS that leverages Aneka to solve the classification problems in parallel and compose their outcomes.
1.4 Geo-science: satellite image processing
Geoscience applications collect, produce, and analyze massive amounts of geospatial and non spatial data.
The geographic information system (GIS) is a major element of geoscience applications.
GIS applications capture, store, manipulate, analyze, manage, and present all types of geographically referenced data.
Satellite remote sensing generates hundreds of gigabytes of raw images that need to be further processed.
This process requires both I/O and compute-intensive tasks.
Large images need to be moved from a ground station’s local storage to compute facilities, where several transformations and corrections are applied.
Cloud computing provides the appropriate infrastructure to support such application scenarios.
A cloud-based implementation of such a workflow has been developed by the Department of Space, Government of India.
A SaaS application provides a collection of services for such tasks as geocode generation and data visualization.
At the PaaS level, Aneka controls the importing of data into the virtualized infrastructure and the execution of image-processing tasks that produce the desired outcome from raw satellite images.
The platform leverages a Xen private cloud and the Aneka technology to dynamically provision the required resources (i.e., grow or shrink) on demand.
2) Business and consumer applications
The business and consumer sector is the one that probably benefits the most from cloud computing technologies.
Reasons
1) IT centric companies it is easy to transform capital costs into operational costs
2) cloud offers anytime, anyplace accessing of data and services
3) does not require huge up-front investments
2.1 CRM and ERP
Customer relationship management (CRM) and enterprise resource planning (ERP) applications are market segments that are flourishing in the cloud.
Cloud CRM applications support small enterprises and start-ups to have fully functional CRM software without large up-front costs.
CRM applications are more mature than ERP applications.
ERP solutions on the cloud are less mature and have to compete with well-established in-house solutions.
ERP systems integrate several aspects of an enterprise: finance and accounting, human resources, manufacturing, supply chain management, project management, and CRM.
Their goal is to provide a uniform view and access to all operations that need to be performed to sustain a complex organization.
Cloud ERP solutions are less popular than CRM solutions at this time.
2.1.1 Salesforce.com
Salesforce.com is probably the most popular and developed CRM solution available today.
The application provides customizable CRM solutions that can be integrated with additional features developed by third parties.
Salesforce.com is based on the Force.com cloud development platform.
This represents scalable and high-performance middleware executing all the operations of all Salesforce.com applications.
At the core of the platform resides its metadata architecture.
Application core logic and business rules are saved as metadata into the Force.com store.
A runtime engine executes application logic by retrieving its metadata and then performing the operations on the data.
A full-text search engine supports the runtime engine.
The search engine maintains its indexing data in a separate store and is constantly updated by background processes triggered by user interaction.
Users can customize their application by using programmatic APIs in the most popular programming languages.
Customization of application processes and logic can also be implemented by developing scripts in APEX.
This is a Java-like language that provides object-oriented and procedural capabilities for defining either scripts executed on demand or triggers.
APEX also offers the capability of expressing searches and queries to have complete access to the data managed by the Force.com platform.
2.1.2 Microsoft dynamics CRM
Microsoft Dynamics CRM is the solution implemented by Microsoft.
The system is completely hosted in Microsoft’s datacenters across the world.
Each CRM instance is deployed on a separate database.
The application provides users with facilities for marketing, sales, and advanced customer relationship management.
Dynamics CRM Online features can be accessed either through a Web browser interface or programmatically by means of SOAP and RESTful Web services.
Dynamics CRM can be extended by developing plug-ins to implement specific behaviors.
Dynamics CRM can also leverage the capability of Windows Azure for the development and integration of new features.
NetSuite
- Collection of applications that help customers manage every aspect of the business enterprise.
- It offers three major products:
- NetSuite Global ERP, NetSuite Global CRM1 , and NetSuite Global Ecommerce.
- NetSuite One World, integrates all three products together.
- The services NetSuite delivers are powered by two large datacenters on the East and West coasts of the United States, connected by redundant links.
- The NetSuite Business Operating System (NS-BOS) is a complete stack of technologies for building SaaS business applications.
- The NetSuite Business Suite components offer accounting, ERP, CRM, and ecommerce capabilities
- An online development environment, SuiteFlex, allows integrating such capabilities into new Web applications, which are then packaged for distribution by SuiteBundler.
- The entire infrastructure is hosted in the NetSuite datacenters, which provide warranties regarding application uptime and availability.
2.2 Productivity
Productivity applications - from document storage to office automation
2.2.1 Dropbox and iCloud
The most popular solution for online document storage is Dropbox.
Dropbox provides users with a free amount of storage.
Users can either access their Dropbox folder through a browser or by downloading and installing a Dropbox client.
The key advantage of Dropbox is its availability on different platforms (Windows, Mac, Linux, and mobile) and the capability to work seamlessly and transparently across all of them.
iCloud, a cloud-based document-sharing application provided by Apple to synchronize iOS-based devices in a completely transparent manner.
ICloud has been designed to be completely transparent.
Documents, photos, and videos are automatically synced as changes are made, without any explicit operation.
This capability is limited to iOS devices.
There are other solutions for online document sharing, such as Windows Live, Amazon Cloud Drive, and CloudMe
2.2.2 Google docs
- Google Docs is a SaaS application that delivers the basic office automation capabilities.
- Google Docs allows users to create and edit text documents, spreadsheets, presentations, forms, and drawings.
- These documents are always available from anyplace and from any device that is connected to the Internet.
- Moreover, the suite allows users to work offline if Internet connectivity is not available.
- Google Docs is a good example of what cloud computing can deliver to end users:
- ubiquitous access to resources,
- elasticity,
- absence of installation and maintenance costs,
- delivery of core functionalities as a service
2.2.3 Cloud desktops: EyeOS and XIOS/3
Asynchronous JavaScript and XML (AJAX) technologies is a fundamental aspect of cloud computing.
This technology has made possible the replication of complex desktop environments in the cloud called cloud desktops.
EyeOS architecture
- EyeOS1 is one of the most popular Web desktop solutions.
- It replicates the functionalities of a classic desktop environment.
- Comes with pre-installed applications for the most common file and document management tasks
- Single users can access the EyeOS desktop environment from anywhere and through any Internet-connected device.
- The EyeOS architecture is quite simple:
- On the server side, the EyeOS application maintains the information about user profiles and their data,
- The client side constitutes the access point for users and administrators to interact with the system.
- EyeOS stores the data about users and applications on the server file system.
- Once the user has logged in, the desktop environment is rendered in the client’s browser by downloading all the JavaScript libraries
- Each application loaded in the environment communicates with the server by using AJAX.
- This communication model is used to access user data as well as to perform application operations:
- editing documents, visualizing images, copying and saving files, sending emails, and chatting.
- EyeOS also provides APIs for developing new applications and integrating new capabilities into the system.
- EyeOS applications are server-side components that are defined by at least two files appname.php and appname.js.
Xcerion XML Internet OS/3 (c)
- XIOS/3 is another example of a Web desktop environment
- The service is delivered as part of the CloudMe application.
- The architecture of the OS concentrates on most of the functionalities on the client side.
- The client side renders the user interface, orchestrates processes, and provides data-binding capabilities on XML data.
- The server handles core functions such as transaction management for documents.
- XIOS/3 also provides an environment for developing applications (XIDE).
- XIOS/3 is released as open-source software and implements a marketplace.
- XIOS/3 is an advanced Web desktop environment
2.3 Social networking
Social networking applications such as Twitter and Facebook have leveraged cloud computing technologies.
2.3.1 Facebook
- With more than 800 million users, it has become one of the largest Websites in the world.
- Taken all together, these technologies constitute a powerful platform for developing cloud applications.
- Offers APIs to integrate third-party applications with Facebook’s core infrastructure to deliver additional services such as social games and quizzes created by others.
- The reference stack serving Facebook is based on LAMP (Linux, Apache, MySQL, and PHP).
- Most of the user data are served by querying a distributed cluster of MySQL instances, which mostly contain key-value pairs.
- The development of services is facilitated by a set of internally developed tools. One of the core elements is Thrift
- Thrift allows services developed in different languages to communicate and exchange data.
- Other relevant services and tools are Scribe, which aggregates streaming log feeds, and applications for alerting and monitoring.
2.4 Media applications
Media applications include video-processing operations, such as encoding, transcoding, composition, and rendering, are good candidates for a cloud-based environment.
.2.4.1 Animoto
Animoto is perhaps the most popular example of media applications on the cloud.
The Website provides users with a simple interface for quickly creating videos out of images, music, and video fragments submitted by users.
The core value of Animoto is the ability to create videos with stunning effects without user intervention..
A proprietary artificial intelligence (AI) engine, which selects the animation and transition effects according to pictures and music, drives the rendering operation.
The service allows users to create 30-second videos for free.
The core function is implemented on top of the Amazon Web Services infrastructure.
It uses Amazon EC2 for the Web front-end and the worker nodes;
Amazon S3 for the storage of pictures, music, and videos.
Amazon SQS for connecting all the components.
The system’s auto-scaling capabilities are managed by Rightscale.
Worker nodes pick up rendering requests and perform the rendering.
When the process is completed, another message is entered into a different SQS queue and another request is served.
The architecture of the system has proven to be very scalable and reliable by using up to 4,000 servers on EC2 in peak time
2.4.2 Maya rendering with Aneka
Cloud computing provides engineers with the necessary computing power to make visualization and rendering of mechanical models.
A private cloud solution for rendering train designs has been implemented by the engineering department of GoFront group, a division of China Southern Railway.
The department is responsible for designing models of high-speed electric locomotives, metro cars, urban transportation vehicles, and motor trains.
The design process for prototypes requires high-quality, three-dimensional (3D) images.
The analysis of these images can help engineers identify problems and correct their design.
The implemented system includes a specialized client interface that can be used by GoFront engineers to enter all the details of the rendering process.
2.4.3 Video encoding on the cloud: Encoding.com
- Encoding.com is a software solution that offers video-transcoding services on demand Uses cloud technology to provide both the horsepower required for video conversion and the storage for staging videos.
- The service integrates with both Amazon Web Services technologies (EC2, S3, and CloudFront) and Rackspace (Cloud Servers, Cloud Files, and Limelight CDN access).
- Encoding.com also offers other video-editing operations such as the insertion of thumbnails, watermarks, or logos.
- Moreover, it extends its capabilities to audio and image conversion.
- Encoding.com now has more than 2,000 customers and has already processed more than 10 million videos.
.2.5 Multiplayer online gaming
Online multiplayer gaming attracts millions of gamers around the world.
Online games support hundreds of players in the same session.
Game log processing is also utilized to build statistics on players and rank them.
The processing of game logs is a potentially compute-intensive operation that strongly depends on the number of players online and the number of games monitored.
The use of cloud computing technologies can provide the required elasticity for seamlessly processing these workloads.
A prototypical implementation of cloud-based game log processing has been implemented by Titan Inc. (now Xfire),
Xfire is a company based in California that extended its gaming portal for offload game log processing to an Aneka Cloud
No comments:
Post a Comment