1 of 54

Prof. Latha

1

12/11/2024

www.skit.org.in

Title: CLOUD COMPUTING APPLICATIONS AND PLATFORM

CO addressed: CO3

Course: CLOUD COMPUTING

Presented by: Prof. Latha

Department: Computer Science and Engineering

2 of 54

Chapter 9 – Cloud Platforms in Industry

This chapter presents some of the representative cloud computing solutions offered as:

Infrastructure-as-a-Service (IaaS) and

Platform-as-a-Service (PaaS) services in the market.

3 of 54

Overview

    • Amazon web services
      1. Compute services
      2. Storage services
      3. Communication services
      4. Additional services

    • Google AppEngine
      • Architecture and core concepts
      • Application life cycle
      • Cost model
      • Observations

4 of 54

9.1 Amazon web services

  • Development of flexible applications by providing solutions for elastic infrastructure scalability, messaging, and data storage.
  • Accessible through SOAP (Simple Object Access Protocol) or RESTful (Representational State Transfer) Web service interfaces
  • Expenses computed on a pay-as-you-go basis.

5 of 54

9.1 Amazon web services

9.1.1 Compute services

1 Amazon machine images

6 of 54

9.1 Amazon web services

      • Compute services
        • fundamental element of cloud computing systems.
        • Amazon EC2, which delivers an IaaS solution.
        • Amazon EC2 allows deploying servers in the form of virtual machine images.
        • Images come with a preinstalled operating system and a software stack.

1 Amazon machine images

        • Amazon Machine Images (AMIs) are templates from which it is possible to create a virtual machine.
        • They are stored in Amazon S3.
        • An AMI contains a physical file system layout with a predefined operating system installed.
        • Predefined operating system installed as Amazon Ramdisk Image (ARI, id: ari-yyyyyy) and Amazon Kernel Image (AKI, id: aki-zzzzzz)

7 of 54

9.1 Amazon web services

9.1.1 Compute services

2 EC2 instances

EC2 instances represent virtual machines.

The processing power is expressed in terms of virtual cores and EC2 Compute Units (ECUs).

six major categories:

  1. Standard instances.
  2. Micro instances.
  3. High-memory instances.
  4. High-CPU instances.
  5. Cluster Compute instances.
  6. Cluster GPU instances.

8 of 54

9.1 Amazon web services

9.1.1 Compute services

3 EC2 environment

  • virtual environment, which provides them with the services they require to host applications.
  • In charge of allocating addresses, attaching storage volumes, and configuring security in terms of access control and network connectivity.
  • Instances are created with an internal IP address, which makes them capable of communicating within the EC2 network and accessing the Internet as clients.
  • Instance owners can partially control where to deploy instances. Instead, they have a finer control over the security of the instances as well as their network accessibility.
  • EC2 instances are given domain name in the form ec2-xxx-xxx-xxx.compute-x.amazonaws.com

9 of 54

9.1 Amazon web services

9.1.1 Compute services

  1. Advanced compute services

    • AWS CloudFormation - model that characterizes EC2 instances.
    • Concepts of templates, which are JSON formatted text files.
    • Templates provide a simple and declarative way to build complex systems.
    • AWS Elastic Beanstalk constitutes a simple and easy way to package applications and deploy them on the AWS Cloud.
    • Service is available for Web applications developed with the Java/Tomcat technology stack.
    • Amazon Elastic MapReduce provides AWS users with a cloud computing platform for MapReduce applications. It utilizes Hadoop as the MapReduce engine.

10 of 54

9.1 Amazon web services

9.1.2 Storage services

The core service is represented by Amazon Simple Storage Service (S3). The core components of S3 are two: buckets and objects.

  1. S3 key concepts
  2. Amazon elastic block store
  3. Amazon ElastiCache
  4. Structured storage solutions
  5. Amazon CloudFront

11 of 54

9.1 Amazon web services

9.1.2 Storage services 1 S3 key concepts

accessible through a Representational State Transfer (REST) interface.

  • The storage is organized in a two-level hierarchy.
  • Stored objects cannot be manipulated like standard files.
  • Content is not immediately available to users.
  • Requests will occasionally fail.

HTTP requests (GET, PUT, DELETE, HEAD, and POST).

Resource naming - uniform resource identifiers (URIs) Amazon offers three different ways of addressing a bucket:

1.

2.

3.

Buckets - container of objects. virtual drive hosted on the S3 distributed storage

Objects and metadata - object is identified by a name that needs to be unique within the bucket in which the content is stored.

Access control and security - access to buckets and objects by means of Access Control Policies (ACPs). Different permissions can be used.

12 of 54

9.1 Amazon web services

9.1.2 Storage services

  1. Amazon elastic block store

Amazon Elastic Block Store (EBS) provide EC2 instances with persistent storage in the form of volumes that can be mounted at instance startup.

EBS volumes normally reside within the same availability zone of the EC2 instances that will use them to maximize the I/O performance.

  1. Amazon ElastiCache

implementation of an elastic in-memory cache based on a cluster of EC2 instances.

based on a cluster of EC2 instances running the caching software, which is made available through Web services.

ElastiCache cluster can be dynamically resized according to the demand of the client applications.

13 of 54

9.1.2 Storage services

4 Structured storage solutions

Amazon provides applications with structured storage services in three different forms:

  • Preconfigured EC2 AMIs,
  • Amazon Relational Data Storage (RDS), and
  • Amazon SimpleDB.

Preconfigured EC2 AMIs are predefined templates featuring an installation of a given database management system. EC2 instances created from these AMIs can be completed with an EBS volume for storage persistence.

IBM DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, Sybase, and Vertica.

RDS is relational database service that relies on the EC2 infrastructure and is managed by Amazon.

Developers do not have to worry about configuring the storage for high availability, designing failover strategies, or keeping the servers up-to-date.

Amazon SimpleDB is a lightweight, highly scalable, and flexible data storage solution for applications that do not require a fully relational model for their data.

14 of 54

9.1 Amazon web services

9.1.2 Storage services

5 Amazon CloudFront

  • Content delivery network.
  • Collection of edge servers strategically located around the globe to better serve requests for static and streaming Web content.
  • Content that can be delivered through CloudFront is static (HTTP and HTTPS) or streaming (Real Time Messaging Protocol, or RMTP).

15 of 54

9.1 Amazon web services

9.1.3 Communication services

Facilities to structure and facilitate the communication

among

existing

applications and services residing within the AWS infrastructure. These facilities can be organized into two major categories:

  1. Virtual networking and
  2. Messaging.

16 of 54

9.1.3 Communication services

  1. Virtual networking
    • Virtual networking comprises a collection of services that allow AWS users to control the connectivity to and between compute and storage services.
    • Amazon Virtual Private Cloud (VPC) and Amazon Direct Connect provide connectivity solutions in terms of infrastructure.
    • Flexibility in creating virtual private networks within the Amazon infrastructure and beyond.

  • Messaging.
    • Amazon Simple Queue Service (SQS),
    • Amazon Simple Notification Service (SNS), and
    • Amazon Simple Email Service (SES).

9.1 Amazon web services

17 of 54

9.2 Google AppEngine

  • Google AppEngine is a PaaS implementation.
  • Distributed and scalable runtime environment that leverages Google’s distributed infrastructure to scale out applications.

      • Architecture and core concepts
      • Application life cycle
      • Cost model
      • Observations

18 of 54

9.2 Google AppEngine

19 of 54

9.2 Google AppEngine

9.2.1 Architecture and core concepts

The platform is logically divided into four major components:

  1. Infrastructure
  2. Runtime environment
  3. Storage
  4. Application services
  5. Compute services

20 of 54

9.2 Google AppEngine

      • Architecture and core concepts 1 Infrastructure
        • AppEngine’s infrastructure takes advantage of many servers available within Google datacenters. For each HTTP request, AppEngine locates the servers hosting the application that processes the request, evaluates their load, and, if necessary, allocates additional resources (i.e., servers) or redirects the request to an existing server.

        • Also responsible for monitoring application performance and collecting sta-
        • tistics on which the billing is calculated.

21 of 54

      • Architecture and core concepts 2 Runtime environment

represents the execution context of applications hosted on AppEngine.

Sandboxing

Major responsibilities of the runtime environment is to provide the application environment with an isolated and protected context.

Supported runtimes

        • Java, Python, and Go.
        • Currently supports Java 6, Java Server Pages (JSP), and applications interact with environment by using the Java Servlet standard.
        • Developers can create applications with the AppEngine Java SDK.
        • Python is provided by an optimized Python 2.5.2 interpreter.
        • Python Web application framework- webapp.
        • Go programming language - SDK includes compiler and standard libraries for developing applications in Go and interfacing it AppEngine services.

9.2 Google AppEngine

22 of 54

      • Architecture and core concepts 3 Storage

operate differently depending on the volatility of the data.

Static file servers

        • Dynamic and static data.
        • Dynamic data - logic of the application and the interaction with the user.
        • Static data constitute of components that define the graphical layout of the application (CSS files, plain HTML files, JavaScript files, images, icons, and sound files) or data files.

DataStore

        • DataStore is a service that allows developers to store semistructured data.

distributed, and

  • DataStore is based on Bigtable a redundant, semistructured
  • data store that organizes data in the form of tables.

23 of 54

      • Architecture and core concepts 4 Application services

Simplify common operations that are performed in Web applications:

        • access to data,
        • account management,
        • integration of external resources,
        • messaging and communication,
        • image manipulation, and
        • asynchronous computation.

UrlFetch

        • The sandbox environment does not allow applications to open arbitrary connections.
        • HTTP/HTTPS by means of the UrlFetch service.
        • Applications can make synchronous and asynchronous Web requests and integrate the resources obtained.
        • Ability to set deadlines for requests so that they can be completed (or aborted) within a given time.

24 of 54

      • Architecture and core concepts 4 Application services

MemCache

        • caching services by means of MemCache.
        • distributed in-memory cache that is optimized for fast access and provides volatile store for objects that are frequently accessed.
        • significantly reduce the access time to data.

Mail and instant messaging

        • Email can also be used to trigger activities in Web applications.
        • send and receive mails through Mail service - allows sending email on behalf of the application to specific user accounts.
        • Extensible Messaging and Presence Protocol (XMPP), Any chat service that supports XMPP, such as Google Talk, can send and receive chat messages to and from the Web application.

Account management

        • Web applications can conveniently store profile settings in the form of key-value pairs, attach them to a given Google account, and quickly retrieve them once the user authenticates.

25 of 54

      • Architecture and core concepts 5 Compute services
        • Users navigate the Web pages and get instantaneous feedback.
        • Feedback is result of some computation happening on application.

the Web

and notification once the required operation is

  • Immediate feedback completed.
  • Task queues
  • Task Queues allow applications to submit a task for a later execution.
  • Cron jobs
  • Schedule the required operation at the desired time.

26 of 54

9.2 Google AppEngine

9.2.2 Application life cycle

Testing and development, deployment, and monitoring. Java SDK and Python SDK

1 Application development and testing

2 Application deployment and management

1 Application development and testing

  • Java SDK - facility for building applications with the Java 5 and Java 6 runtime environments.
  • Eclipse development environment by using the Google AppEngine plug-in - install Java SDK, Google Web Toolkit, and Google AppEngine plug-ins into Eclipse.
  • Python SDK - Python 2.5.
  • Standalone tool, called GoogleAppEngineLauncher, for managing Web applications locally and deploying them to AppEngine.
  • webapp - includes a set of models, components, and tools that simplify development of Web applications.

27 of 54

9.2 Google AppEngine

9.2.2 Application life cycle

2 Application deployment and management

  • Deployed on AppEngine with a simple click or command-line tool.
  • Also from GoogleAppEngineLauncher and Google AppEngine plug-in.
  • http://<application-id>.appspot.com.
  • Also map the application with registered DNS domain name.

28 of 54

9.2 Google AppEngine

9.2.3 Cost model

  • Set up a billing account and be charged on a pay-per-use basis.
  • Developers to identify the appropriate daily budget.
  • An application is measured against billable quotas, fixed quotas, and per-minute quotas.
  • Once an application reaches the quota, resource is depleted and will not be available to application until the quota is replenished.
  • Once a resource is depleted, subsequent requests to that resource will generate an error or an exception.

29 of 54

Chapter 10 – Cloud Applications

  • Huge popularity in industry due to its ability to host applications for which the services can be delivered to consumers rapidly at minimal cost.
  • We discuss Application case studies, detailing their architecture and how they leveraged various cloud technologies.
  • Range of domains, from scientific to engineering, gaming, and social networking.

30 of 54

Overview

    • Scientific applications
      1. Healthcare: ECG analysis in the cloud
      2. Biology: protein structure prediction
      3. Biology: gene expression data analysis for cancer diagnosis
      4. Geoscience: satellite image processing
    • Business and consumer applications
      • CRM and ERP
        1. Salesforce.com
        2. Microsoft dynamics CRM
        3. NetSuite
      • Productivity
        • Dropbox and iCloud
        • Google docs
        • Cloud desktops: EyeOS and XIOS/3
      • Social networking
        • Facebook
      • Media applications
        • Animoto
        • Maya rendering with Aneka
        • Video encoding on the cloud: Encoding.com
      • Multiplayer online gaming

31 of 54

10.1 Scientific applications

  • increasingly using cloud computing systems and technologies.
  • high-performance computing (HPC) applications, high-throughput computing (HTC) applications, and data-intensive applications.
  • minimal changes need to be made to existing applications.
  • IaaS solutions, offer optimal environment for running bag-of-tasks applications and workflows.
  • Scientists explore new programming models for tackling computationally challenging problems.
  • Applications - redesigned and implemented on top of cloud programming application models and platforms to leverage their unique capabilities.

32 of 54

10.1 Scientific applications

      • Healthcare: ECG analysis in the cloud
        • cloud technologies to support doctors in providing

more effective

diagnostic processes.

  • Internet connectivity and its accessibility from any device at any time has made cloud technologies an attractive option for developing health-monitoring systems.

33 of 54

10.1.1 Healthcare: ECG analysis in the cloud

10.1 Scientific applications

34 of 54

10.1 Scientific applications

10.1.2 Biology: protein structure prediction

  • Require high computing capabilities and often operate on large data-sets that cause extensive I/O operations.
  • extensive use of supercomputing and cluster computing infrastructures.
  • 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, but it is the result of complex computations aimed at identifying the structure.
  • This task requires investigation of space with massive number of states, creating large number of computations for each of these states.
  • One project that investigates the use of cloud technologies for protein structure prediction is Jeeva — an integrated Web portal that enables scientists to offload the prediction task to a computing cloud based on Aneka (Figure 10.2).
  • Uses machine learning tecniques.
  • E,H,C classification.

35 of 54

10.1 Scientific applications

36 of 54

10.1 Scientific applications

10.1.3 Biology: gene expression data analysis for cancer diagnosis

  • measurement of the expression levels of thousands of genes at once.
  • used to understand the biological processes that are triggered by medical treatment at a cellular level.
  • Gene expression profiling is utilized to provide a more accurate classification of tumors.

  • Learning classifiers, which generate a population of condition-action rules that guide the classification process.
  • eXtended Classifier System (XCS) has been utilized for classifying large datasets in bioinformatics and computer science domains.
  • CoXCS divides the entire search space into subdomains and employs standard XCS algorithm in each of these subdomains.

37 of 54

10.1 Scientific applications

10.1.3 Biology: gene expression data analysis for cancer diagnosis

38 of 54

10.1 Scientific applications

10.1.4 Geoscience: satellite image processing

  • collect, produce, and analyze massive amounts nonspatial data.
  • the geographic information system (GIS) is a geoscience applications. GIS applications capture,

of geospatial and

major element of store, manipulate,

analyze, manage, and present all types of geographically referenced data.

39 of 54

10.1 Scientific applications

10.1.4 Geoscience: satellite image processing

40 of 54

10.2 Business & consumer applications

      • CRM and ERP
        1. Salesforce.com
        2. Microsoft dynamics CRM
        3. NetSuite
      • Productivity
        • Dropbox and iCloud
        • Google docs
        • Cloud desktops: EyeOS and XIOS/3
      • Social networking
        • Facebook
      • Media applications
        • Animoto
        • Maya rendering with Aneka
        • Video encoding on the cloud: Encoding.com
      • Multiplayer online gaming

41 of 54

10.2 Business & consumer applications

      • CRM and ERP
        • Customer relationship management (CRM) and enterprise resource planning (ERP) applications are market segments that are flourishing in the cloud.
        • access to business and customer data from everywhere and from any

device.

        • ERP systems integrate several aspects of enterprise: finance and accounting, human resources, manufacturing, supply chain management, project management, and CRM.
        • ERP solutions are less popular than CRM solutions at this time.

1 Salesforce.com

        • most popular and developed CRM solution available today.
        • Salesforce.com is based on Force.com cloud development platform.

42 of 54

10.2 Business & consumer applications

10.2.1 CRM and ERP

43 of 54

10.2 Business & consumer applications

10.2.1 CRM and ERP

  1. Microsoft dynamics CRM
    • completely hosted in Microsoft’s datacenters across the world and offers to customers a 99.9% SLA.
    • Each CRM
    • instance is deployed on a separate database, and the application provides users with facilities for marketing, sales, and advanced customer relationship management.
    • SOAP and RESTful Web services.
    • integrate with other Microsoft products and line-of-business applications.

  • NetSuite
    • Three major products: NetSuite Global ERP, NetSuite Global CRM1 , and NetSuite Global Ecommerce.
    • All-in-one solution: NetSuite One World, integrates all three products together.
    • 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 complete stack of technologies for building SaaS.

44 of 54

10.2 Business & consumer applications

10.2.2 Productivity

1 Dropbox and iCloud

Also Windows Live, Amazon Cloud Drive, and CloudMe.

45 of 54

10.2 Business & consumer applications

10.2.2 Productivity

2 Google docs

  • Google Docs allows users to create and edit text documents, spreadsheets, presentations, forms, and drawings.

  • It aims to replace desktop products such as Microsoft Office and OpenOffice and provide similar interface and functionality as a cloud service.

46 of 54

10.2 Business & consumer applications

10.2.2 Productivity

3 Cloud desktops: EyeOS and XIOS/3

  • EyeOS 1 is one of the most popular Web desktop solutions.
  • Replicates the functionalities of a classic desktop environment and comes with pre-installed applications for the most common file and document management tasks.

Xcerion XML Internet OS/3 (XIOS/3)

  • Another example of a Web desktop environment.
  • Strong leverage of XML, used to implement many of the tasks of the OS: rendering user interfaces, defining application business logics, structuring file system organization, and even application development.

47 of 54

10.2 Business & consumer applications

10.2.2 Productivity

3 Cloud desktops: EyeOS

48 of 54

10.2 Business & consumer applications

10.2.3 Social networking

1 Facebook

  • 800 million users
  • Two data centers built and optimized to reduce costs and impact on environment.
  • Technologies constitute a powerful platform for developing cloud applications.
  • The reference stack serving Facebook is based on LAMP (Linux, Apache, MySQL, and PHP).
  • The social graph identifies collection of interlinked information that is of relevance for a given user.
  • Most of the user data are served by querying a distributed cluster of MySQL.
  • These data are then cached for faster retrieval.
  • Thrift - collection of abstractions that allow cross-language development.

49 of 54

10.2 Business & consumer applications

10.2.4 Media applications

  • Video-processing operations, such as encoding, transcoding, composition, and rendering, are good candidates for a cloud-based environment.
  • Computationally intensive tasks offloaded to cloud computing infrastructures.

1 Animoto

  • interface for quickly creating videos out of images, music, and video fragments submitted by users.
  • process is executed in the background and the user is notified via email once the video is rendered.
  • ability to quickly create videos with stunning effects without user intervention.

  • Artificial intelligence (AI) engine, which selects the animation and transition effects according to pictures and music, drives the rendering operation.

50 of 54

51 of 54

10.2 Business & consumer applications

10.2.4 Media applications

2 Maya rendering with Aneka

  • A private cloud solution for rendering train designs by engineering department of GoFront group, a division of China Southern Railway.

52 of 54

10.2 Business & consumer applications

10.2.4 Media applications

3 Video encoding on the cloud: Encoding.com

  • Video-transcoding services on demand.
  • Leverages cloud technology to provide both horsepower required for video conversion and storage for staging videos.
  • Service integrates with both Amazon Web Services technologies (EC2, S3, and CloudFront) and Rackspace (Cloud Servers, Cloud Files, and Limelight CDN access).
  • Also offers other video-editing operations such as the insertion of thumbnails, watermarks, or logos.

53 of 54

10.2 Business & consumer applications

10.2.5 Multiplayer online gaming

  • based on game log processing.
  • Players update game server hosting game session, and server integrates all updates into a log that is made available to all players through a TCP port.
  • Client software used for game connects to the log port and, by reading log, updates local user interface with actions of other players.

54 of 54

10.2.5 Multiplayer online gaming

10.2 Business & consumer applications