SlideShare a Scribd company logo
1 of 92
Download to read offline
Cloud Computing
and
Software Engineering
Ravindra Dastikop
http://dastikop.blogspot.in
View video of this presentation :
http://youtube.com/user/dastikop
Purpose 
●Cloud represents at the same time a new emerging
opportunity and new challenge
●This presentation aims to identify the challenges
inherent to cloud applications and suggests some
approaches towards the same.
Agenda for Presentation
●What is a Cloud Application? (project)
●Cloud resources for cloud application
developers
●Cloud application examples
○General examples
○Cloud applications (that our students have
built)
●A sample cloud Application demo
●Q & A session
●Summary 
Evolution of Computer
Applications
Desktop Applications
Full control and ownership of machine, data,
software
Web Application
No ownership, data stored elsewhere, application comes
from service provider
Rich, remote and responsive (now)
Picture credit: http://wiki.sproutcore.com
Goal of Cloud Applications
●Cloud application represents the state of
art in application development
●They try to combine best of both worlds -
○richness of desktop with
○remoteness of web applications 
 
Cloud Application :
Meaning
● Cloud computing applications are the applications available
as SaaS over the internet 
● which facilitates the user to run those applications without
installing them on his own computer. 
● This saves the cost of infrastructure and hardware
maintenance. 
● In general cloud computing customers do not own the
infrastructure but use it from a third party provider as a
service.
Cloud Application :
Where do they come from?
●Cloud computing applications are loaded at the
server of service provider and the service provider
give access to these applications through an
interface using internet.
●Every customer has its own unique account from
which they log on to the cloud of the provider and
access the application they have paid for. 
●Service provider also provides space at his own
server for the customer’s data.
CloudApp :
A Simple Example
CloudApp allows you to share as well as save files
easily on the web. It works well for links, images,
video and music. Check out how the entire thing
works-
●Select a file
●Drag the file to the menu bar
 CloudAPP
Any Questions?
Cloud Apps:
The difference
Statelessness and server failures are givens in the
cloud
The big difference between a traditional application
and cloud application is that cloud application itself is
able to provision the resources that the application
needs
Using API’s applications for cloud can be designed so
that they request more resources from the cloud
provider
Cloud Apps: The difference
Cloud Applications have to be stateless
If cloud application has states, it becomes a challenge
In cloud if something dies, you kill it and reincarnate
There is no concept of a local disk, no registry
All these is encapsulated by being a stateless
application
Cloud Apps: The difference
Cloud applications need to be designed for
redundancy and should acknowledge that commodity
machines are being used in the cloud
It is a guarantee that machines are going to fail, hence
cloud application need to designed for redundancy
Cloud Apps: The difference
Cloud Apps parts can be scattered in many places
● Presentation layer might be on the Facebook
storage could be on Amazon’s S3
● application logic could run somewhere else entirely
In traditional applications, entire application used to
built on own servers
Building cloud application requires solid engineering
and design
Cloud Apps: The difference
Database are not same in the cloud
Cloud databases are non-relational
schema-free
Cloud Apps: The difference
Database are not same in the cloud
Example:
Google App Engine uses Google’s Big Table data store
for persistent storage. Big Table is not a SQL
database, and the reason for that is because some of
the functionalities supported by SQL databases - for
example- joins- make it very difficult to split a
database across multiple machines
Cloud Apps: The difference
Database are not same in the cloud
In cloud database using Big Table - denormalization
is encouraged from the design phase.
This enables developers to store data in multiple
places at the same time. As a consequence
applications run very efficient queries
Cloud Apps: The difference
Database are not same in the cloud
What developers have found that in very high-traffic
situations, relational databases are extremely
difficult to manage and that ends up being a huge
money and resource sink for developers
Cloud Apps: The difference
Get used to rapid change in the cloud
● Things change much more rapidly in the cloud.
● Cloud providers offer new releases several time a year
and each upgrade might have something a developer
wants to take advantage of
● A developer need to stay abreast of those developments,
keep eye on lot of the different blogs and also particpate
in webinars
Cloud Apps: The difference
Developer need to be aware of different design
patterns such as eventual consistency- in which a
change to an application might not register for a few
million seconds. The consequence of that is that you
can not utilize a database to keep track of the next
value “
This needs a different programming approach when
they are utilizing the cloud because of such things
Cloud Apps: The difference
Developers can let go most of plumbing concerns
in the Cloud
The loosely coupled nature of web makes it an easier
development platform.
Developers can focus on innovation and business logic
instead of worrying about plumbing and infrastructure such
as the operating system and hardware.
Cloud service providers offer security, workflow,
administration and load-balancing as seperate modules
Cloud Apps: The difference
One enterprise wanted to build college
admission applications on Microsoft’s .NET
platform but found that it was many times
cheaper to develop on Force-.com- this is
because of its use of pre-built functionality.
Any Questions?
Cloud Apps: The difference
Developers need to keep in mind the
difference between cloud platforms and
licensing models different cloud models have
different pricing models
Cloud Apps: The difference
Developers should develop applications in such a way
that they could be moved off that platform
For example, Google enables such mobility by
supporting the popular Python language and the
Django web framework and supports open source
uploading and downloading tools for moving data in
and out of GAE
Software engineering
Software engineering is the application of systematic,
disciplined, quantifiable approach to the development,
operation, and maintenance of software
Cloud computing offers new possibilities for
multilateral software
Cloud Apps: The difference
ASPECT Traditional
Software
multilateral
development (Cloud
Software
Composition
coherent set of
software
modules
interoperable third
party components
Cloud Apps: The difference
ASPECT Traditional Software multilateral
development ( Cloud
source
code
full source available no source code for
third party companies
Cloud Apps: The difference
ASPECT Traditional Software multilateral
development ( Cloud
execution
model
single computer often distributed
between multiple
computeres
Cloud Apps: The difference
ASPECT Traditional Software multilateral
development ( Cloud
Ownership
and control
single team or
enterprise
distributed between
multiple enterr
Cloud Apps: Challenges
ASPECT cloud computing Challenge
Source
code
No source code for
third party
compoenents
system comprehension
Execution
model
often distributed
between multiple
computers
state inspection and
debugging
Ownership
and control
distributed separation of
ownership
Any Questions?
Cloud Apps: key principles
● The Map-Reduce paradigm for independent
computation
● schema-free databases and their use
● service-oriented computing
● multi-tenancy
● security and compliance
● design for resilience
● loosely-coupled
Cloud Apps: promises
● Reduced development time through use of
high-level service
● maximum utilization of resources: pay for
what u use
● reduced operation costs
● increased development productivity
●
Cloud Computing
Resources
What is available for developers
Cloud Application Building Resources
Open source
●Java
●C# DotNet
●AJAX- real time collaboration
●GAE- Google Application Engine
●PHP It provides web developers with a full suite of tools for
building dynamic websites
●Python: integrate your systems more effectively
●API - Royal route resources Google APIs,
●Facebook
Commercial
●AWS - Amazon Web services
●Microsoft Azure
Any Questions?
Developing a Cloud
Application
Demonstration
Cloud applications using Open sources
Cloud Teaching System
using
Google Application Engine(GAE)
(Our Final Year Project)
A Placed and Happy Student
My Maps Locator
developed using Google Map API
Challenge is customizing it for Mobile
A simple Cloud application
Examples- Business
Housing Maps Route Finder
Facebook Game
Deployed on AWS.
Fametown
Best Example
Twitter
Cloud Application Using Open Source
Social site aggregator
using
Facebook
Twitter
Linkedlin
( A Final Year Project )
CloudCourse:
An Open source cloud application
CloudCourse is a course scheduling system. It is built on
GAE
CloudCourse
Cloud Applications using Open Source
AlumniMaps
Procures Facebook users data and Plots on Google
Uses Flex, Google Maps API, Facebook API
Final Year Project
A Happy Student
Training and Placement cell ( PES,
Mandya
Training and Placement cell
using Google App Engine and Google APP Store
Virtualization Project ( NIE, Mysore)
Cloud Computing for SMES- BVB
Students 
Cloud Computing for SMEs
First version of this project is done by a group of Hyderabad
engineering students.
BVB gr oup is build it further on
FaceBook Applications
Developing a Facebook Application: First Step
Developing FB applications: Tools
Blog Post Translator
Application Objective:
To translate Blog post in English to Different languages
Resource used
● Google App Engine- A Paas Solution
● Google Translate API
● Language: Python
AWS Applications
Building Your First Cloud Application on AWS
MS in Software Engineering
To be Presented at
Recent Advances in Web Technologies,
St.Joseph Engineering College, Mangalore,
27-29 Jan, 2011
Cloud Computing:
Engineering Approach
click here to see updated version
Ravindra Dastikop
email : Ravindra.dastikop@gmail.com
http://dastikop.blogspot.com
Purpose
In this this presentation , we
●explain why cloud applications business
appeal
●list challenges encountered during
development of cloud scale applications
●provide an introduction to newly emerging
discipline – Cloud Engineering
●Share our experience of Cloud Engineering
http://dastikop.blogspot.com
Agenda for Presentation
●Challenges- Developing a cloud
application?
●Cloud Engineering – Discipline for
develop cloud applications
●Q & A
●Summary
http://dastikop.blogspot.com
Emergence of Cloud Computing Age
●Cloud has become
a preferred destination for enterprises to
host applications
●Designing and building applications for the
Cloud requires specialized skills
●It demands a new mind set and also
architecrual thinking (MS)
Understanding Cloud Phenomenon
In order to understand Cloud Engineering, it is
necessary to know about Cloud Computing
and Cloud application. Please refer to the
following presentations before u proceed
further
●Cloud computing- Foundation of Cloud computing
●Cloud application- Fruits of Cloud Computing
●
The Challenge
Developing Cloud scale Applications
Cloud Application: An Example
The Cloud Evolution
CloudApp
allows something as fun and simple as sharing
of images, links, music, videos and files by simple choosing
a file and drag it to the menu bar to be easy, faster and reliable
by providing short link automatically copied to your clipboard
that you can use to share your upload with co-workers and
friends.
http://dastikop.blogspot.com
Why cloud-deployable
applications?
●Cloud computing infrastructure is an
interesting proposition because of its
●Pay-per-use model
●Ability to leverage the benefits of platform
as a services.
●Result: Cloud application is
○A major requirement (business)
○A challenge for developers
How a FREE Cloud Application can
become a business
Cloudapp Pro is available with
more features and is now charged
http://dastikop.blogspot.com
Challenges in Cloud Computing
●Number 1. Business Continuity and Service Availability
●Number 2. Data Lock-In
●Number 3. Data Confidentiality/Auditability
●Number 4. Data Transfer Bottlenecks
●Number 5. Performance Unpredictability
●Number 6: Scalable Storage
●Number 7: Bugs in Large-Scale Distributed Systems
●Number 8: Scaling Quickly
●Number 9: Reputation Fate Sharing
●Number 10: Software Licensing
Source:
Cloud engineering- Business
Reason
●Cloud services typically deliver
commodity-like capabilities, often with
consumer-grade service-level
agreements, and organizations will be
dealing with the inherent challenges
in this business model
http://dastikop.blogspot.com
Requirements of Cloud
application
●High reliability
●Dynamic scalability
○Millions of users
○Volumes of data
●Low latency
●Across all layers
○Database
○Messaging
○Web
http://dastikop.blogspot.com
Cloud
Engineering
Building Cloud applications
Cloud Engineering
●Cloud Engineering is the process of
designing the systems necessary to
leverage the power and economics
of cloud resources to solve business
problems.
Cloud Engineering
An Analogy
Comparing CE with Transportation
engineering
Transportation engineering ( Golden
Qudrangle
Transportation engineering
Build Roads
Transportation engineering
Build Vehicles ( Applications)
Transportation Engineering
Develop Standard Practices (Rules)
Cloud engineering Cycle
Source:
http://dastikop.blogspot.com
TRADITIONAL APPROACH
1
2
3 4
http://dastikop.blogspot.com
http://dastikop.blogspot.com
Engineering Perspective
Research and Practical
challenges
http://dastikop.blogspot.com
A cloud application: Ticketing
System
●Describe the systems
Cloud Engineering : Simple definition
Cloud engineering is the process of
designing systems to leverage cloud
architecture
http://dastikop.blogspot.com
Challenge No 1: High Reliability
Services without any disruption
●Vertical scaling
○Adding more CPUs and Disks
○Example: A Dating web site scaled up their application
to handle over a billion requests per month by moving
to 512 GB RAM, 32 CPU Machine
○Cost 100K USD ( costly high-end configuration
●Horizontal scaling
○Second option is to use run application on commodity
hardware, scaling horizontally by adding more box, as
the need to scale up arose
●Moving application to cloud
http://dastikop.blogspot.com
Applications scale up
●Scaling up must happen in all tiers –
○web,
○messaging and
○database
http://dastikop.blogspot.com
Scaling Up database-1
●Databases are not built for scale
●The primary factor for scaling up a database is
disk I/O performance
●Vertical Scaling can be achieved by adding high-
end disks with greater speeds and replication
●Affordable RAID 6 or RAID 10 disk can be used
to improve disk performance
●RAID disks Upper limit on disk transfer speed is
200MBps to 1GBps- which limits scaling
http://dastikop.blogspot.com
Scaling up of database –Option 2
●Adding more database instances with master-
slave replication strategy where master handles
writes, and replicates data to multiple slaves
●MySQL supports master-slave scale-out
configuration where data gets replicated
transparently to the slaves.
●When application spends most of the time in
reads, the application scales as the reads can
be served from any slaves
http://dastikop.blogspot.com
Example- Master-slave
●Master-slave is deployed in Dekoh.com.
●During user registration at Dekoh.com where all
new users sign-up requests, which involve write-
to database, are routed to the master, and the
login requests to slaves
●Since user login occurs frequently compared to
user registration, the above configuration scales
up well,
●Master does not scale when there are more
writes and when it also adds a slave lag as the
data gets replicated
http://dastikop.blogspot.com
Sharding and De-normalization
●Portioning data across master would distribute
writes to different instances and both the reads
and writes scale well
●To achieve reliability replication should be used
along with lesser number of slaves to overcome
the slave lag
●Example: Flickr.com
○Moved from pure replication to the Sharding
mechanism to be able to scale
●Shading schemes – need changes in application
architecture
http://dastikop.blogspot.com
The consequence of Sharding
●Portioning data into shards add more complexity
in terms of maintaining the integrity of data,
application architecture and Joins. ( ACID)
●Any change in the portioning scheme would
require reorganizing the entire data which is
expensive
●Joins are not possible as data is broken up into
different shards. (Join demands data to be
available on same memory space)
●Solution is to introduce some kind of de-
normalization – (end of a cherished practice)
http://dastikop.blogspot.com
De-normalization
●De-normalization is basically bringing ,
often redundant data together, to improve
the query performance. (fundamental go
for a toss)
http://dastikop.blogspot.com
De-normalization – an example
● One application has a message infrastructure where messages are
sent to recipients (users).
● Messages are stored in “Message” Table and the “recipient” table
contains message to recipient mapping.
● To obtain recent 10 messages sent to a particular recipient, all
messages-ids for recipient are obtained from the “recipient” table
and a join is performed on the “message” table filtering the recent 10
timestamps.
● If there are lot of messages, sent to a particular recipient, a join is
performed on the messages table with lot of rows from the
“recipients” table and then the time stamp filter is applied.
● Instead, if the timestamp of the message is duplicated in the
recipient table, it is easy to filter out the first 10 messages ids and
then perform a join.
● With this approach the query takes lesser time to execute and
minimize disk I/O
http://dastikop.blogspot.com
Cloud Engineering by Google
●Google has come out with its own datastore
implementation
●Google’s Bigtable is a distributed ‘scheme-less” key-
value store, which was developed for the web search
engine.
●It is applied to Orkut, Docs, Google Maps, Earth and
others.
●Bigtable runs on the top of Google File System and
provides the needed scalability at its core, supporting
high availability at the file system level
●Google App Engine offers Bigtable as the primary
datastore for application developers.
http://dastikop.blogspot.com
Cloud Engineering by Amazon
●Amazon’s SimpleDB is a distributed key-value store
which supports a SQL-like syntax for retrieving data and
exposes REST API for all operations.
●SimpleDB is available as a paid service and is very
effective when working with huge amount of data
●Limitations
●Restrictions imposed on size of results, comparisons,
predicates used in the query
●No supports for transactions, aggregate functions, data
types and full-text search
●For above reasons, adoption of service is less.
http://dastikop.blogspot.com
Cloud Engineering by Facebook
●Facebook uses Apache Hive
●It is a data warehouse that runs on the top of the Hadoop
distributed system
●Facebook uses Hive to analyze historical data of users
and content using brute force mechanism
●Hive is not a datastore but is only used for analytics on
the large amounts of data.
●The other datastore include
○ HBase
○ Hypertable
○ Cassandra
○ CoudDB
○ Voldermort
Contact Information
Ravindra Dastikop
Assistant Professor, CSE
SDM College of Engineering & Technology
Dharwad 580 002
email: ravindra.dastikop@gmail.com
web site:
http://dastikop.blogspot.com

More Related Content

What's hot

Cloud computing and service models
Cloud computing and service modelsCloud computing and service models
Cloud computing and service modelsPrateek Soni
 
Cloud computing report
Cloud computing reportCloud computing report
Cloud computing reportErManish5
 
Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Pulkit Gupta
 
Containerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatContainerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatAmazon Web Services
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computingRkrishna Mishra
 
Mobile cloud Computing
Mobile cloud ComputingMobile cloud Computing
Mobile cloud ComputingPooja Sharma
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud ComputingLiming Liu
 
Azure architecture
Azure architectureAzure architecture
Azure architectureAmal Dev
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
Virus and its CounterMeasures -- Pruthvi Monarch
Virus and its CounterMeasures                         -- Pruthvi Monarch Virus and its CounterMeasures                         -- Pruthvi Monarch
Virus and its CounterMeasures -- Pruthvi Monarch Pruthvi Monarch
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentEric Cattoir
 
Challenges of the Cloud Migration Journey
Challenges of the Cloud Migration JourneyChallenges of the Cloud Migration Journey
Challenges of the Cloud Migration JourneyCloudHealth by VMware
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android pptTaha Malampatti
 

What's hot (20)

Cloud computing and service models
Cloud computing and service modelsCloud computing and service models
Cloud computing and service models
 
Cloud computing report
Cloud computing reportCloud computing report
Cloud computing report
 
FOG COMPUTING
FOG COMPUTINGFOG COMPUTING
FOG COMPUTING
 
Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)Introduction to GCP (Google Cloud Platform)
Introduction to GCP (Google Cloud Platform)
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Common Standards in Cloud Computing
Common Standards in Cloud ComputingCommon Standards in Cloud Computing
Common Standards in Cloud Computing
 
Containerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatContainerized Cloud Computing - Redhat
Containerized Cloud Computing - Redhat
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computing
 
Mobile cloud Computing
Mobile cloud ComputingMobile cloud Computing
Mobile cloud Computing
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Azure architecture
Azure architectureAzure architecture
Azure architecture
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage
 
Virus and its CounterMeasures -- Pruthvi Monarch
Virus and its CounterMeasures                         -- Pruthvi Monarch Virus and its CounterMeasures                         -- Pruthvi Monarch
Virus and its CounterMeasures -- Pruthvi Monarch
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Challenges of the Cloud Migration Journey
Challenges of the Cloud Migration JourneyChallenges of the Cloud Migration Journey
Challenges of the Cloud Migration Journey
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android ppt
 

Similar to Cloud computing and software engineering

Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment ToolkitBret Piatt
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...José Román Martín Gil
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...e-Legion
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGMamathaSharma4
 
GDSC Study Jam Session 1
GDSC Study Jam Session 1GDSC Study Jam Session 1
GDSC Study Jam Session 1SahithiGurlinka
 
PaaS for the New Cloud Era
PaaS for the New Cloud EraPaaS for the New Cloud Era
PaaS for the New Cloud EraWSO2
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...Sanjeev Sharma
 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignGDSCVJTI
 
The App Evolution
The App EvolutionThe App Evolution
The App EvolutionDev_Events
 
PaaS for the New Cloud Era
PaaS for the New Cloud EraPaaS for the New Cloud Era
PaaS for the New Cloud EraWSO2
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptxGangTingFan
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Apigee | Google Cloud
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021NeerajKumar1965
 
Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Sanjeev Sharma
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform UpdateIdo Green
 

Similar to Cloud computing and software engineering (20)

The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
Build A Scalable Mobile App
Build A Scalable Mobile App Build A Scalable Mobile App
Build A Scalable Mobile App
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTING
 
GDSC Study Jam Session 1
GDSC Study Jam Session 1GDSC Study Jam Session 1
GDSC Study Jam Session 1
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
PaaS for the New Cloud Era
PaaS for the New Cloud EraPaaS for the New Cloud Era
PaaS for the New Cloud Era
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP Campaign
 
The App Evolution
The App EvolutionThe App Evolution
The App Evolution
 
PaaS for the New Cloud Era
PaaS for the New Cloud EraPaaS for the New Cloud Era
PaaS for the New Cloud Era
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
!GDSC NYUST Infrastructure and Application Modernization with Google Cloud .pptx
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021Nyc mule soft_meetup_13_march_2021
Nyc mule soft_meetup_13_march_2021
 
Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014Continuous Delivery to the cloud - Innovate 2014
Continuous Delivery to the cloud - Innovate 2014
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 

More from Ravindra Dastikop

1. Digital india: A Resident approach
1. Digital india:   A  Resident approach1. Digital india:   A  Resident approach
1. Digital india: A Resident approachRavindra Dastikop
 
Data protection Framework in India - Seven Key Principles
Data protection Framework in India - Seven Key Principles  Data protection Framework in India - Seven Key Principles
Data protection Framework in India - Seven Key Principles Ravindra Dastikop
 
Unified Payment Interface (UPI)
Unified Payment Interface (UPI)Unified Payment Interface (UPI)
Unified Payment Interface (UPI)Ravindra Dastikop
 
Aadhaar : Locking your biometrics
Aadhaar : Locking your biometricsAadhaar : Locking your biometrics
Aadhaar : Locking your biometricsRavindra Dastikop
 
Jeevan Praman- The Digital Life Certificate
Jeevan Praman- The Digital Life Certificate Jeevan Praman- The Digital Life Certificate
Jeevan Praman- The Digital Life Certificate Ravindra Dastikop
 
The Practice of digital india
The Practice of digital indiaThe Practice of digital india
The Practice of digital indiaRavindra Dastikop
 
What are the features of DigiLocker?
What are the features of DigiLocker?What are the features of DigiLocker?
What are the features of DigiLocker?Ravindra Dastikop
 
Meghraj - Government of India Cloud
Meghraj - Government of India Cloud Meghraj - Government of India Cloud
Meghraj - Government of India Cloud Ravindra Dastikop
 
An Overview of Internet of Things
An Overview of Internet of Things An Overview of Internet of Things
An Overview of Internet of Things Ravindra Dastikop
 
Digital india a world scale market within home
Digital india  a world scale market within homeDigital india  a world scale market within home
Digital india a world scale market within homeRavindra Dastikop
 
Webinar: Cloud Computing - Service and Deployment Models
Webinar: Cloud Computing - Service and Deployment Models Webinar: Cloud Computing - Service and Deployment Models
Webinar: Cloud Computing - Service and Deployment Models Ravindra Dastikop
 
#1 introduction to cloud computing
#1  introduction to cloud computing #1  introduction to cloud computing
#1 introduction to cloud computing Ravindra Dastikop
 
Cloud Computing - An Introduction
Cloud Computing - An IntroductionCloud Computing - An Introduction
Cloud Computing - An IntroductionRavindra Dastikop
 
Webinars With Ravindra Dastikop
Webinars With Ravindra DastikopWebinars With Ravindra Dastikop
Webinars With Ravindra DastikopRavindra Dastikop
 

More from Ravindra Dastikop (20)

National Health Stack
National Health Stack  National Health Stack
National Health Stack
 
1. Digital india: A Resident approach
1. Digital india:   A  Resident approach1. Digital india:   A  Resident approach
1. Digital india: A Resident approach
 
Data protection Framework in India - Seven Key Principles
Data protection Framework in India - Seven Key Principles  Data protection Framework in India - Seven Key Principles
Data protection Framework in India - Seven Key Principles
 
Digital India : An Overview
Digital India : An OverviewDigital India : An Overview
Digital India : An Overview
 
Unified Payment Interface (UPI)
Unified Payment Interface (UPI)Unified Payment Interface (UPI)
Unified Payment Interface (UPI)
 
Aadhaar : Locking your biometrics
Aadhaar : Locking your biometricsAadhaar : Locking your biometrics
Aadhaar : Locking your biometrics
 
Digilocker in education
 Digilocker in education  Digilocker in education
Digilocker in education
 
Jeevan Praman- The Digital Life Certificate
Jeevan Praman- The Digital Life Certificate Jeevan Praman- The Digital Life Certificate
Jeevan Praman- The Digital Life Certificate
 
Aadhaar in Kannada
Aadhaar in KannadaAadhaar in Kannada
Aadhaar in Kannada
 
The Practice of digital india
The Practice of digital indiaThe Practice of digital india
The Practice of digital india
 
What are the features of DigiLocker?
What are the features of DigiLocker?What are the features of DigiLocker?
What are the features of DigiLocker?
 
What is DigiLocker?
What is DigiLocker?What is DigiLocker?
What is DigiLocker?
 
Meghraj - Government of India Cloud
Meghraj - Government of India Cloud Meghraj - Government of India Cloud
Meghraj - Government of India Cloud
 
An Overview of Internet of Things
An Overview of Internet of Things An Overview of Internet of Things
An Overview of Internet of Things
 
Digital india a world scale market within home
Digital india  a world scale market within homeDigital india  a world scale market within home
Digital india a world scale market within home
 
Webinar: Cloud Computing - Service and Deployment Models
Webinar: Cloud Computing - Service and Deployment Models Webinar: Cloud Computing - Service and Deployment Models
Webinar: Cloud Computing - Service and Deployment Models
 
#1 introduction to cloud computing
#1  introduction to cloud computing #1  introduction to cloud computing
#1 introduction to cloud computing
 
Teaching using the cloud
Teaching using the cloudTeaching using the cloud
Teaching using the cloud
 
Cloud Computing - An Introduction
Cloud Computing - An IntroductionCloud Computing - An Introduction
Cloud Computing - An Introduction
 
Webinars With Ravindra Dastikop
Webinars With Ravindra DastikopWebinars With Ravindra Dastikop
Webinars With Ravindra Dastikop
 

Recently uploaded

What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 

Recently uploaded (20)

What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 

Cloud computing and software engineering

  • 1. Cloud Computing and Software Engineering Ravindra Dastikop http://dastikop.blogspot.in View video of this presentation : http://youtube.com/user/dastikop
  • 2. Purpose  ●Cloud represents at the same time a new emerging opportunity and new challenge ●This presentation aims to identify the challenges inherent to cloud applications and suggests some approaches towards the same.
  • 3. Agenda for Presentation ●What is a Cloud Application? (project) ●Cloud resources for cloud application developers ●Cloud application examples ○General examples ○Cloud applications (that our students have built) ●A sample cloud Application demo ●Q & A session ●Summary 
  • 5. Desktop Applications Full control and ownership of machine, data, software
  • 6. Web Application No ownership, data stored elsewhere, application comes from service provider
  • 7. Rich, remote and responsive (now) Picture credit: http://wiki.sproutcore.com
  • 8. Goal of Cloud Applications ●Cloud application represents the state of art in application development ●They try to combine best of both worlds - ○richness of desktop with ○remoteness of web applications   
  • 9. Cloud Application : Meaning ● Cloud computing applications are the applications available as SaaS over the internet  ● which facilitates the user to run those applications without installing them on his own computer.  ● This saves the cost of infrastructure and hardware maintenance.  ● In general cloud computing customers do not own the infrastructure but use it from a third party provider as a service.
  • 10. Cloud Application : Where do they come from? ●Cloud computing applications are loaded at the server of service provider and the service provider give access to these applications through an interface using internet. ●Every customer has its own unique account from which they log on to the cloud of the provider and access the application they have paid for.  ●Service provider also provides space at his own server for the customer’s data.
  • 11. CloudApp : A Simple Example CloudApp allows you to share as well as save files easily on the web. It works well for links, images, video and music. Check out how the entire thing works- ●Select a file ●Drag the file to the menu bar  CloudAPP
  • 13. Cloud Apps: The difference Statelessness and server failures are givens in the cloud The big difference between a traditional application and cloud application is that cloud application itself is able to provision the resources that the application needs Using API’s applications for cloud can be designed so that they request more resources from the cloud provider
  • 14. Cloud Apps: The difference Cloud Applications have to be stateless If cloud application has states, it becomes a challenge In cloud if something dies, you kill it and reincarnate There is no concept of a local disk, no registry All these is encapsulated by being a stateless application
  • 15. Cloud Apps: The difference Cloud applications need to be designed for redundancy and should acknowledge that commodity machines are being used in the cloud It is a guarantee that machines are going to fail, hence cloud application need to designed for redundancy
  • 16. Cloud Apps: The difference Cloud Apps parts can be scattered in many places ● Presentation layer might be on the Facebook storage could be on Amazon’s S3 ● application logic could run somewhere else entirely In traditional applications, entire application used to built on own servers Building cloud application requires solid engineering and design
  • 17. Cloud Apps: The difference Database are not same in the cloud Cloud databases are non-relational schema-free
  • 18. Cloud Apps: The difference Database are not same in the cloud Example: Google App Engine uses Google’s Big Table data store for persistent storage. Big Table is not a SQL database, and the reason for that is because some of the functionalities supported by SQL databases - for example- joins- make it very difficult to split a database across multiple machines
  • 19. Cloud Apps: The difference Database are not same in the cloud In cloud database using Big Table - denormalization is encouraged from the design phase. This enables developers to store data in multiple places at the same time. As a consequence applications run very efficient queries
  • 20. Cloud Apps: The difference Database are not same in the cloud What developers have found that in very high-traffic situations, relational databases are extremely difficult to manage and that ends up being a huge money and resource sink for developers
  • 21. Cloud Apps: The difference Get used to rapid change in the cloud ● Things change much more rapidly in the cloud. ● Cloud providers offer new releases several time a year and each upgrade might have something a developer wants to take advantage of ● A developer need to stay abreast of those developments, keep eye on lot of the different blogs and also particpate in webinars
  • 22. Cloud Apps: The difference Developer need to be aware of different design patterns such as eventual consistency- in which a change to an application might not register for a few million seconds. The consequence of that is that you can not utilize a database to keep track of the next value “ This needs a different programming approach when they are utilizing the cloud because of such things
  • 23. Cloud Apps: The difference Developers can let go most of plumbing concerns in the Cloud The loosely coupled nature of web makes it an easier development platform. Developers can focus on innovation and business logic instead of worrying about plumbing and infrastructure such as the operating system and hardware. Cloud service providers offer security, workflow, administration and load-balancing as seperate modules
  • 24. Cloud Apps: The difference One enterprise wanted to build college admission applications on Microsoft’s .NET platform but found that it was many times cheaper to develop on Force-.com- this is because of its use of pre-built functionality.
  • 26. Cloud Apps: The difference Developers need to keep in mind the difference between cloud platforms and licensing models different cloud models have different pricing models
  • 27. Cloud Apps: The difference Developers should develop applications in such a way that they could be moved off that platform For example, Google enables such mobility by supporting the popular Python language and the Django web framework and supports open source uploading and downloading tools for moving data in and out of GAE
  • 28. Software engineering Software engineering is the application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software Cloud computing offers new possibilities for multilateral software
  • 29. Cloud Apps: The difference ASPECT Traditional Software multilateral development (Cloud Software Composition coherent set of software modules interoperable third party components
  • 30. Cloud Apps: The difference ASPECT Traditional Software multilateral development ( Cloud source code full source available no source code for third party companies
  • 31. Cloud Apps: The difference ASPECT Traditional Software multilateral development ( Cloud execution model single computer often distributed between multiple computeres
  • 32. Cloud Apps: The difference ASPECT Traditional Software multilateral development ( Cloud Ownership and control single team or enterprise distributed between multiple enterr
  • 33. Cloud Apps: Challenges ASPECT cloud computing Challenge Source code No source code for third party compoenents system comprehension Execution model often distributed between multiple computers state inspection and debugging Ownership and control distributed separation of ownership
  • 35. Cloud Apps: key principles ● The Map-Reduce paradigm for independent computation ● schema-free databases and their use ● service-oriented computing ● multi-tenancy ● security and compliance ● design for resilience ● loosely-coupled
  • 36. Cloud Apps: promises ● Reduced development time through use of high-level service ● maximum utilization of resources: pay for what u use ● reduced operation costs ● increased development productivity ●
  • 37. Cloud Computing Resources What is available for developers
  • 38. Cloud Application Building Resources Open source ●Java ●C# DotNet ●AJAX- real time collaboration ●GAE- Google Application Engine ●PHP It provides web developers with a full suite of tools for building dynamic websites ●Python: integrate your systems more effectively ●API - Royal route resources Google APIs, ●Facebook Commercial ●AWS - Amazon Web services ●Microsoft Azure
  • 41. Cloud applications using Open sources Cloud Teaching System using Google Application Engine(GAE) (Our Final Year Project) A Placed and Happy Student
  • 42. My Maps Locator developed using Google Map API Challenge is customizing it for Mobile A simple Cloud application
  • 44. Facebook Game Deployed on AWS. Fametown Best Example Twitter
  • 45. Cloud Application Using Open Source Social site aggregator using Facebook Twitter Linkedlin ( A Final Year Project )
  • 46. CloudCourse: An Open source cloud application CloudCourse is a course scheduling system. It is built on GAE CloudCourse
  • 47. Cloud Applications using Open Source AlumniMaps Procures Facebook users data and Plots on Google Uses Flex, Google Maps API, Facebook API Final Year Project A Happy Student
  • 48. Training and Placement cell ( PES, Mandya Training and Placement cell using Google App Engine and Google APP Store
  • 49. Virtualization Project ( NIE, Mysore)
  • 50. Cloud Computing for SMES- BVB Students  Cloud Computing for SMEs First version of this project is done by a group of Hyderabad engineering students. BVB gr oup is build it further on
  • 51. FaceBook Applications Developing a Facebook Application: First Step Developing FB applications: Tools
  • 52. Blog Post Translator Application Objective: To translate Blog post in English to Different languages Resource used ● Google App Engine- A Paas Solution ● Google Translate API ● Language: Python
  • 53. AWS Applications Building Your First Cloud Application on AWS
  • 54. MS in Software Engineering
  • 55. To be Presented at Recent Advances in Web Technologies, St.Joseph Engineering College, Mangalore, 27-29 Jan, 2011 Cloud Computing: Engineering Approach click here to see updated version Ravindra Dastikop email : Ravindra.dastikop@gmail.com http://dastikop.blogspot.com
  • 56. Purpose In this this presentation , we ●explain why cloud applications business appeal ●list challenges encountered during development of cloud scale applications ●provide an introduction to newly emerging discipline – Cloud Engineering ●Share our experience of Cloud Engineering
  • 57. http://dastikop.blogspot.com Agenda for Presentation ●Challenges- Developing a cloud application? ●Cloud Engineering – Discipline for develop cloud applications ●Q & A ●Summary
  • 58. http://dastikop.blogspot.com Emergence of Cloud Computing Age ●Cloud has become a preferred destination for enterprises to host applications ●Designing and building applications for the Cloud requires specialized skills ●It demands a new mind set and also architecrual thinking (MS)
  • 59. Understanding Cloud Phenomenon In order to understand Cloud Engineering, it is necessary to know about Cloud Computing and Cloud application. Please refer to the following presentations before u proceed further ●Cloud computing- Foundation of Cloud computing ●Cloud application- Fruits of Cloud Computing ●
  • 60. The Challenge Developing Cloud scale Applications
  • 61. Cloud Application: An Example The Cloud Evolution CloudApp allows something as fun and simple as sharing of images, links, music, videos and files by simple choosing a file and drag it to the menu bar to be easy, faster and reliable by providing short link automatically copied to your clipboard that you can use to share your upload with co-workers and friends.
  • 62. http://dastikop.blogspot.com Why cloud-deployable applications? ●Cloud computing infrastructure is an interesting proposition because of its ●Pay-per-use model ●Ability to leverage the benefits of platform as a services. ●Result: Cloud application is ○A major requirement (business) ○A challenge for developers
  • 63. How a FREE Cloud Application can become a business Cloudapp Pro is available with more features and is now charged
  • 64. http://dastikop.blogspot.com Challenges in Cloud Computing ●Number 1. Business Continuity and Service Availability ●Number 2. Data Lock-In ●Number 3. Data Confidentiality/Auditability ●Number 4. Data Transfer Bottlenecks ●Number 5. Performance Unpredictability ●Number 6: Scalable Storage ●Number 7: Bugs in Large-Scale Distributed Systems ●Number 8: Scaling Quickly ●Number 9: Reputation Fate Sharing ●Number 10: Software Licensing Source:
  • 65. Cloud engineering- Business Reason ●Cloud services typically deliver commodity-like capabilities, often with consumer-grade service-level agreements, and organizations will be dealing with the inherent challenges in this business model
  • 66. http://dastikop.blogspot.com Requirements of Cloud application ●High reliability ●Dynamic scalability ○Millions of users ○Volumes of data ●Low latency ●Across all layers ○Database ○Messaging ○Web
  • 68. Cloud Engineering ●Cloud Engineering is the process of designing the systems necessary to leverage the power and economics of cloud resources to solve business problems.
  • 69. Cloud Engineering An Analogy Comparing CE with Transportation engineering
  • 70. Transportation engineering ( Golden Qudrangle
  • 78. http://dastikop.blogspot.com A cloud application: Ticketing System ●Describe the systems
  • 79. Cloud Engineering : Simple definition Cloud engineering is the process of designing systems to leverage cloud architecture
  • 80. http://dastikop.blogspot.com Challenge No 1: High Reliability Services without any disruption ●Vertical scaling ○Adding more CPUs and Disks ○Example: A Dating web site scaled up their application to handle over a billion requests per month by moving to 512 GB RAM, 32 CPU Machine ○Cost 100K USD ( costly high-end configuration ●Horizontal scaling ○Second option is to use run application on commodity hardware, scaling horizontally by adding more box, as the need to scale up arose ●Moving application to cloud
  • 81. http://dastikop.blogspot.com Applications scale up ●Scaling up must happen in all tiers – ○web, ○messaging and ○database
  • 82. http://dastikop.blogspot.com Scaling Up database-1 ●Databases are not built for scale ●The primary factor for scaling up a database is disk I/O performance ●Vertical Scaling can be achieved by adding high- end disks with greater speeds and replication ●Affordable RAID 6 or RAID 10 disk can be used to improve disk performance ●RAID disks Upper limit on disk transfer speed is 200MBps to 1GBps- which limits scaling
  • 83. http://dastikop.blogspot.com Scaling up of database –Option 2 ●Adding more database instances with master- slave replication strategy where master handles writes, and replicates data to multiple slaves ●MySQL supports master-slave scale-out configuration where data gets replicated transparently to the slaves. ●When application spends most of the time in reads, the application scales as the reads can be served from any slaves
  • 84. http://dastikop.blogspot.com Example- Master-slave ●Master-slave is deployed in Dekoh.com. ●During user registration at Dekoh.com where all new users sign-up requests, which involve write- to database, are routed to the master, and the login requests to slaves ●Since user login occurs frequently compared to user registration, the above configuration scales up well, ●Master does not scale when there are more writes and when it also adds a slave lag as the data gets replicated
  • 85. http://dastikop.blogspot.com Sharding and De-normalization ●Portioning data across master would distribute writes to different instances and both the reads and writes scale well ●To achieve reliability replication should be used along with lesser number of slaves to overcome the slave lag ●Example: Flickr.com ○Moved from pure replication to the Sharding mechanism to be able to scale ●Shading schemes – need changes in application architecture
  • 86. http://dastikop.blogspot.com The consequence of Sharding ●Portioning data into shards add more complexity in terms of maintaining the integrity of data, application architecture and Joins. ( ACID) ●Any change in the portioning scheme would require reorganizing the entire data which is expensive ●Joins are not possible as data is broken up into different shards. (Join demands data to be available on same memory space) ●Solution is to introduce some kind of de- normalization – (end of a cherished practice)
  • 87. http://dastikop.blogspot.com De-normalization ●De-normalization is basically bringing , often redundant data together, to improve the query performance. (fundamental go for a toss)
  • 88. http://dastikop.blogspot.com De-normalization – an example ● One application has a message infrastructure where messages are sent to recipients (users). ● Messages are stored in “Message” Table and the “recipient” table contains message to recipient mapping. ● To obtain recent 10 messages sent to a particular recipient, all messages-ids for recipient are obtained from the “recipient” table and a join is performed on the “message” table filtering the recent 10 timestamps. ● If there are lot of messages, sent to a particular recipient, a join is performed on the messages table with lot of rows from the “recipients” table and then the time stamp filter is applied. ● Instead, if the timestamp of the message is duplicated in the recipient table, it is easy to filter out the first 10 messages ids and then perform a join. ● With this approach the query takes lesser time to execute and minimize disk I/O
  • 89. http://dastikop.blogspot.com Cloud Engineering by Google ●Google has come out with its own datastore implementation ●Google’s Bigtable is a distributed ‘scheme-less” key- value store, which was developed for the web search engine. ●It is applied to Orkut, Docs, Google Maps, Earth and others. ●Bigtable runs on the top of Google File System and provides the needed scalability at its core, supporting high availability at the file system level ●Google App Engine offers Bigtable as the primary datastore for application developers.
  • 90. http://dastikop.blogspot.com Cloud Engineering by Amazon ●Amazon’s SimpleDB is a distributed key-value store which supports a SQL-like syntax for retrieving data and exposes REST API for all operations. ●SimpleDB is available as a paid service and is very effective when working with huge amount of data ●Limitations ●Restrictions imposed on size of results, comparisons, predicates used in the query ●No supports for transactions, aggregate functions, data types and full-text search ●For above reasons, adoption of service is less.
  • 91. http://dastikop.blogspot.com Cloud Engineering by Facebook ●Facebook uses Apache Hive ●It is a data warehouse that runs on the top of the Hadoop distributed system ●Facebook uses Hive to analyze historical data of users and content using brute force mechanism ●Hive is not a datastore but is only used for analytics on the large amounts of data. ●The other datastore include ○ HBase ○ Hypertable ○ Cassandra ○ CoudDB ○ Voldermort
  • 92. Contact Information Ravindra Dastikop Assistant Professor, CSE SDM College of Engineering & Technology Dharwad 580 002 email: ravindra.dastikop@gmail.com web site: http://dastikop.blogspot.com