SlideShare a Scribd company logo
1 of 43
Download to read offline
Challenges for cloud software
                     engineering	

                                          Ian Sommerville	

                               St Andrews University	



Challenges for Cloud Software Engineering, 2012                	

Slide 1
Why is cloud software engineering
different – or is it?	

What needs to be done to make cloud
software engineering easier for the
research community?	

  	



Challenges for Cloud Software Engineering, 2012   	

Slide 2
Public, private, community clouds	





Challenges for Cloud Software Engineering, 2012   	

Slide 3
There will be a number of public cloud
providers offering different capabilities at
different prices at different times	

Public cloud computing prices will
continue to fall and it will be the most
economical approach	



Challenges for Cloud Software Engineering, 2012   	

Slide 4
Private (institutional) clouds for science
research are not really viable	

Community clouds make sense for data-
intensive computing if they are located
close to the sources of the data	

Community clouds hosting standard
software may be a useful approach –
possibly hosted on public clouds	


Challenges for Cloud Software Engineering, 2012   	

Slide 5
What makes the cloud different (and
          challenging)?	





Challenges for Cloud Software Engineering, 2012   	

Slide 6
Scale	



          	

          Thousands of nodes that may be
          distributed across the world	

          	




Challenges for Cloud Software Engineering, 2012              	

Slide 7
Elasticity	



                 No fixed hardware architecture	

                                                        	

                                    Scale out and scale in	




Challenges for Cloud Software Engineering, 2012                   	

Slide 8
Pay as you go pricing	

                                                  	

Variable costs for applications	

	

Payment according to resources used	




Challenges for Cloud Software Engineering, 2012         	

Slide 9
Cloud services	





Challenges for Cloud Software Engineering, 2012               	

Slide 10
Infrastructure as a service	





Challenges for Cloud Software Engineering, 2012      	

Slide 11
Instead of buying and running physical
 equipment (computers, storage, etc.),
 you ‘rent’ these as required from a cloud
 provider	

 You ship your programs and data to a
 remote data centre and run them there
 rather than locally	

 The familiar Grid computing model	

Challenges for Cloud Software Engineering, 2012   	

Slide 12
Platform as a service	





Challenges for Cloud Software Engineering, 2012           	

Slide 13
The cloud provider makes a set of APIs
 available which you use in your program
 to interact with the platform	

 Scaleability is transparent. Automatic
 scale out/scale in as demand changes	

 Primarily geared to writing web-based
 applications	

Challenges for Cloud Software Engineering, 2012   	

Slide 14
Software as a service	





Challenges for Cloud Software Engineering, 2012          	

Slide 15
Software is shared by different users and
       accessed using a web browser	

       Services are stateless, functional
       abstractions	

       Multi-tenant databases for efficient
       operation	

       Accessed via a service interface – SOAP
       or RESTful interface	

	

   Challenges for Cloud Software Engineering, 2012   	

Slide 16
Levels of cloud usage	





Challenges for Cloud Software Engineering, 2012          	

Slide 17
Cloud hosting	

 You use the cloud to provide server
 capability rather than incurring the capital
 costs of server purchase	

 Applications need not be ‘cloud aware’	

 Fixed server infrastructure	

 Can run existing codes in Fortran/C	

 	

Challenges for Cloud Software Engineering, 2012               	

Slide 18
If server type and platform available, then
should not require any application
changes	

Almost certainly poorer performance
than local execution. 	

But makes sense for occasional runs/
demonstrations etc.	

Challenges for Cloud Software Engineering, 2012   	

Slide 19
Problems	

 Relatively low level model of interaction.	

 You need to know about lots of stuff (such as
 certificates, security keys, etc. that have nothing to
 do with your work)	


 Performance is difficult to predict	

 License issues	

 Costs may be high for high volumes of
 data transfer in/out of clouds	

Challenges for Cloud Software Engineering, 2012                 	

Slide 20
Software engineering challenge	


         Build a software development
      environment that radically simplifies
    hosting scientific applications on a range
                    of clouds	





Challenges for Cloud Software Engineering, 2012   	

Slide 21
Cloud interfacing	

You build applications that make use of
the cloud providers APIs (PaaS) to access
common services.	

‘High-level’ cloud awareness. The platform
takes care of scaleability on demand. 	

Limited programming language support	

	

      Challenges for Cloud Software Engineering, 2012             	

Slide 22
Challenge is using existing PaaS APIs for
 computationally-intensive applications	

       –  Systems are set up to support web-based
          applications	

       –  Google Apps – 30 second time limit on tasks	


 Significant application change required	

 Several experiments here – mixed
 conclusions. 	

Challenges for Cloud Software Engineering, 2012       	

Slide 23
Software engineering challenge	


 Investigate how to adapt applications that
   are computation/data intensive to run
   within the constraints set by the PaaS
      interfaces from cloud providers	





Challenges for Cloud Software Engineering, 2012   	

Slide 24
Cloud software engineering	


Build ‘cloud aware’ applications which can
 adapt to the cloud capabilities that are
                 available	

 	




Challenges for Cloud Software Engineering, 2012   	

Slide 25
Application architecture designed for the
 cloud	

 Underlying infrastructure management
 done in the program itself, depending on
 performance and cost requirements	

 What abstractions do we need for this?	


Challenges for Cloud Software Engineering, 2012   	

Slide 26
Three grand challenges	





Challenges for Cloud Software Engineering, 2012       	

Slide 27
Programming models for the cloud	

 Building a PaaS for high performance/
 throughput computing	

 Cloud-aware software development
 environments	




Challenges for Cloud Software Engineering, 2012   	

Slide 28
Scaling up and scaling out	

 Traditional model to cope with increased
 computational demand is to scale up	

 Supported by some cloud providers who
 offer different instance types.	

 Scaling out is the more usual cloud
 model	


Challenges for Cloud Software Engineering, 2012       	

Slide 29
Coping with scaling out	

 Redesigning algorithms and code to work
 with a flexible rather than a fixed
 number of resources 	

	

       –  Interaction between program and platform to know
          what resources are being used and what resources are
          available	

       –  Structuring program into a flexible number of
          computational components	

       –  Avoiding sequential computations (Amdahl’s Law)	


Challenges for Cloud Software Engineering, 2012                	

Slide 30
Programming models	

 Are there programming models that can
 take advantage of elasticity and massive
 parallelism?	

       –  Invent new models for parallel computation	

       –  Adapt existing problems to the current map/reduce
          programming model	





Challenges for Cloud Software Engineering, 2012           	

Slide 31
Map reduce explained	





    http://www.kchodorow.com/blog/2010/03/15/mapreduce-the-fanfiction/	



Challenges for Cloud Software Engineering, 2012                            	

Slide 32
Map-reduce on a slide	

  -- Split the data into a number of computationally tractable chunks. 	

  	

  in = split (thedata)	

  n = size (in)	

  	

  -- MAP. For each chunk, process in parallel 	

  	

  parfor i = 1 to n do	

  {	

       out (i) = F (in (i))	

  }	

  	

  -- REDUCE. Apply a function R to the output that computes the required
  result	

  -- (of course, A can be a list)	

  	

  A = R (out)	

Challenges for Cloud Software Engineering, 2012                              	

Slide 33
Map-reduce assumptions	

 Input data set can be split into chunks for
 independent parallel processing	

 The reduce action is a relatively simple,
 fast computation	

 Clearly, does not fit all types of problem	




Challenges for Cloud Software Engineering, 2012   	

Slide 34
Can scientific codes be re-engineered to
 take advantage of the map-reduce model?	

 Elastic + static architecture	

 Use the elastic cloud for data
 preparation/analysis (MAP)	

 Use a cloud cluster for computation
 (REDUCE)	

Challenges for Cloud Software Engineering, 2012   	

Slide 35
Opportunistic computing	



            Taking advantage of low-price/free
           resources when these are available?	





Challenges for Cloud Software Engineering, 2012    	

Slide 36
Fixed budget computation	

            	

Compute till you run out of money	

 Get as much computational capability as
 your budget will allow	

 Use spot prices	

 Stop and start instances	


Challenges for Cloud Software Engineering, 2012       	

Slide 37
Budget-driven programming	

 Develop systems that take advantage of
 variable pricing in different clouds/at
 different times	

 Potentially significant for
 computationally-intensive applications	




Challenges for Cloud Software Engineering, 2012   	

Slide 38
PaaS for Science	

 Develop a set of APIS for data/compute
 intensive applications to support cloud
 interaction	

            	

Long-running applications	

            	

Cost/demand awareness	

            	

Performance measurement/tuning	

            	

Intermittent execution	

Challenges for Cloud Software Engineering, 2012              	

Slide 39
SDE for the cloud	

 Creating an environment for the
 development of cloud-aware applications	

 Hiding low level details of IaaS cloud
 interaction	

 Testing environment	

 Occasional computation	

 Preliminary work – ELVIRA, St Andrews	

 http://cloudresearch.jiscinvolve.org/wp/category/projects/
 elvira/	

Challenges for Cloud Software Engineering, 2012            	

Slide 40
Software as a service	





Challenges for Cloud Software Engineering, 2012          	

Slide 41
Effective way for a community to share services	

 Scope for applying external computations to
 collected data – data mining, visualisation, etc.	

 What are appropriate abstractions?	

 How can large amounts of state be managed?	

 Limiting data transfer between nodes	

 As with all software reuse, the community
 rather than the project benefits. Needs central
 funding to pay for reusable element creation	

Challenges for Cloud Software Engineering, 2012   	

Slide 42
Conclusions	

 Clouds will become the dominant computing
 environment in future so costs will fall
 significantly – major driver for developing for
 the cloud	

 Offers a level of computational resource that
 cannot really be replicated in an institution	

 Software engineering issues need to be
 addressed to make the most effective use of
 the cloud	

 	

Challenges for Cloud Software Engineering, 2012                    	

Slide 43

More Related Content

What's hot

2017 Cloud Computing Primer
2017 Cloud Computing Primer2017 Cloud Computing Primer
2017 Cloud Computing PrimerRajesh Math
 
Introduction to the cloud native computing foundation
Introduction to the cloud native computing foundationIntroduction to the cloud native computing foundation
Introduction to the cloud native computing foundationJayesh Sharma
 
Transitioning to Hybrid Cloud
Transitioning to Hybrid CloudTransitioning to Hybrid Cloud
Transitioning to Hybrid CloudProlifics
 
IBM Private Cloud Solutions with IBM i
IBM Private Cloud Solutions with IBM iIBM Private Cloud Solutions with IBM i
IBM Private Cloud Solutions with IBM iLuca Comparini
 
Modernization: Moving workloads to cloud
Modernization: Moving workloads to cloud Modernization: Moving workloads to cloud
Modernization: Moving workloads to cloud Shikha Srivastava
 
Cloud Computing Business Models
Cloud Computing Business ModelsCloud Computing Business Models
Cloud Computing Business ModelsMourad ZEROUKHI
 
Revolution not Evolution: How cloud computing differs from traditional IT and...
Revolution not Evolution: How cloud computing differs from traditional IT and...Revolution not Evolution: How cloud computing differs from traditional IT and...
Revolution not Evolution: How cloud computing differs from traditional IT and...Rackspace
 
IBM Connect August 2016 - Innovate with the cloud built for cognitive business
IBM Connect August 2016 - Innovate with the cloud built for cognitive businessIBM Connect August 2016 - Innovate with the cloud built for cognitive business
IBM Connect August 2016 - Innovate with the cloud built for cognitive businessDenny Muktar
 
How to Transform Corporate IT into the Driver for Digital Transformation
How to Transform Corporate IT into the Driver for Digital TransformationHow to Transform Corporate IT into the Driver for Digital Transformation
How to Transform Corporate IT into the Driver for Digital TransformationEnterprise Management Associates
 
Cloud Computing 101 Workshop Sample
Cloud Computing 101 Workshop SampleCloud Computing 101 Workshop Sample
Cloud Computing 101 Workshop SampleAlan Quayle
 
Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015Denny Muktar
 
Cloud Services Corporate Presentation
Cloud Services Corporate PresentationCloud Services Corporate Presentation
Cloud Services Corporate PresentationVijay Vasandi
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud DeploymentJim Kaskade
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009guest829442
 
Practical DevOps in a Hybrid World
Practical DevOps in a Hybrid World Practical DevOps in a Hybrid World
Practical DevOps in a Hybrid World Dev_Events
 
IBM Cloud Privé - White paper présentation EN
IBM Cloud Privé - White paper présentation ENIBM Cloud Privé - White paper présentation EN
IBM Cloud Privé - White paper présentation ENYves Bienenfeld
 

What's hot (20)

2017 Cloud Computing Primer
2017 Cloud Computing Primer2017 Cloud Computing Primer
2017 Cloud Computing Primer
 
Introduction to the cloud native computing foundation
Introduction to the cloud native computing foundationIntroduction to the cloud native computing foundation
Introduction to the cloud native computing foundation
 
Sami-Cloud
Sami-CloudSami-Cloud
Sami-Cloud
 
Transitioning to Hybrid Cloud
Transitioning to Hybrid CloudTransitioning to Hybrid Cloud
Transitioning to Hybrid Cloud
 
IBM Private Cloud Solutions with IBM i
IBM Private Cloud Solutions with IBM iIBM Private Cloud Solutions with IBM i
IBM Private Cloud Solutions with IBM i
 
Modernization: Moving workloads to cloud
Modernization: Moving workloads to cloud Modernization: Moving workloads to cloud
Modernization: Moving workloads to cloud
 
Cloud Computing Business Models
Cloud Computing Business ModelsCloud Computing Business Models
Cloud Computing Business Models
 
Revolution not Evolution: How cloud computing differs from traditional IT and...
Revolution not Evolution: How cloud computing differs from traditional IT and...Revolution not Evolution: How cloud computing differs from traditional IT and...
Revolution not Evolution: How cloud computing differs from traditional IT and...
 
IBM Connect August 2016 - Innovate with the cloud built for cognitive business
IBM Connect August 2016 - Innovate with the cloud built for cognitive businessIBM Connect August 2016 - Innovate with the cloud built for cognitive business
IBM Connect August 2016 - Innovate with the cloud built for cognitive business
 
How to Transform Corporate IT into the Driver for Digital Transformation
How to Transform Corporate IT into the Driver for Digital TransformationHow to Transform Corporate IT into the Driver for Digital Transformation
How to Transform Corporate IT into the Driver for Digital Transformation
 
Cloud Computing 101 Workshop Sample
Cloud Computing 101 Workshop SampleCloud Computing 101 Workshop Sample
Cloud Computing 101 Workshop Sample
 
Cloud K5 Presentation
Cloud K5 PresentationCloud K5 Presentation
Cloud K5 Presentation
 
Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015Hybrid Cloud Point of View - IBM Event, 2015
Hybrid Cloud Point of View - IBM Event, 2015
 
Cloud Services Corporate Presentation
Cloud Services Corporate PresentationCloud Services Corporate Presentation
Cloud Services Corporate Presentation
 
Hybrid cloud computing explained
Hybrid cloud computing explainedHybrid cloud computing explained
Hybrid cloud computing explained
 
What the heck is cloud?
What the heck is cloud?What the heck is cloud?
What the heck is cloud?
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
 
Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009Cloud Computing & Sun Vision 03262009
Cloud Computing & Sun Vision 03262009
 
Practical DevOps in a Hybrid World
Practical DevOps in a Hybrid World Practical DevOps in a Hybrid World
Practical DevOps in a Hybrid World
 
IBM Cloud Privé - White paper présentation EN
IBM Cloud Privé - White paper présentation ENIBM Cloud Privé - White paper présentation EN
IBM Cloud Privé - White paper présentation EN
 

Viewers also liked

Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 

Viewers also liked (6)

CESI Keynote English
CESI Keynote EnglishCESI Keynote English
CESI Keynote English
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 

Similar to Challenges for Cloud Software Engineering

Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)vvmenon22
 
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
 
MODELS2013_MDHPCL_Presentation
MODELS2013_MDHPCL_PresentationMODELS2013_MDHPCL_Presentation
MODELS2013_MDHPCL_PresentationDionny Santiago
 
Leverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and TestLeverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and TestRightScale
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Prolifics
 
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...Amit Sheth
 
cloud computing and android
cloud computing and androidcloud computing and android
cloud computing and androidMohit Singh
 
Assiut Tech Club - Microsoft Cloud Computing
Assiut Tech Club - Microsoft Cloud ComputingAssiut Tech Club - Microsoft Cloud Computing
Assiut Tech Club - Microsoft Cloud Computingassiut-tech-club
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...ghodgkinson
 
BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)BusinessIntelligenze
 
A Brief Introduction to Cloud Computing
A Brief Introduction to Cloud ComputingA Brief Introduction to Cloud Computing
A Brief Introduction to Cloud ComputingIRJET Journal
 
IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...
IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...
IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...IRJET Journal
 

Similar to Challenges for Cloud Software Engineering (20)

Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)
 
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...
 
MODELS2013_MDHPCL_Presentation
MODELS2013_MDHPCL_PresentationMODELS2013_MDHPCL_Presentation
MODELS2013_MDHPCL_Presentation
 
Leverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and TestLeverage Cloud Computing to Accelerate Development and Test
Leverage Cloud Computing to Accelerate Development and Test
 
cloud computing
cloud computing cloud computing
cloud computing
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
 
cloud computing and android
cloud computing and androidcloud computing and android
cloud computing and android
 
Considering Windows Azure
Considering Windows AzureConsidering Windows Azure
Considering Windows Azure
 
Assiut Tech Club - Microsoft Cloud Computing
Assiut Tech Club - Microsoft Cloud ComputingAssiut Tech Club - Microsoft Cloud Computing
Assiut Tech Club - Microsoft Cloud Computing
 
Cloud Computing Essay
Cloud Computing EssayCloud Computing Essay
Cloud Computing Essay
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)BusinessIntelligenze - On Cloud BI (English)
BusinessIntelligenze - On Cloud BI (English)
 
call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...
 
A Brief Introduction to Cloud Computing
A Brief Introduction to Cloud ComputingA Brief Introduction to Cloud Computing
A Brief Introduction to Cloud Computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Computer project
Computer projectComputer project
Computer project
 
IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...
IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...
IRJET- Comparatively Analysis on K-Means++ and Mini Batch K-Means Clustering ...
 

More from Ian Sommerville

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale SystemsIan Sommerville
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITSIan Sommerville
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems designIan Sommerville
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITSIan Sommerville
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITSIan Sommerville
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-studyIan Sommerville
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million usersIan Sommerville
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflowIan Sommerville
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureIan Sommerville
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterIan Sommerville
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1Ian Sommerville
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2Ian Sommerville
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureIan Sommerville
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachIan Sommerville
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsIan Sommerville
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013Ian Sommerville
 

More from Ian Sommerville (20)

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale Systems
 
Resp modellingintro
Resp modellingintroResp modellingintro
Resp modellingintro
 
Resilience and recovery
Resilience and recoveryResilience and recovery
Resilience and recovery
 
LSCITS-engineering
LSCITS-engineeringLSCITS-engineering
LSCITS-engineering
 
Requirements reality
Requirements realityRequirements reality
Requirements reality
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITS
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems design
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITS
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITS
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-study
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million users
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failure
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systems
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Challenges for Cloud Software Engineering

  • 1. Challenges for cloud software engineering Ian Sommerville St Andrews University Challenges for Cloud Software Engineering, 2012 Slide 1
  • 2. Why is cloud software engineering different – or is it? What needs to be done to make cloud software engineering easier for the research community? Challenges for Cloud Software Engineering, 2012 Slide 2
  • 3. Public, private, community clouds Challenges for Cloud Software Engineering, 2012 Slide 3
  • 4. There will be a number of public cloud providers offering different capabilities at different prices at different times Public cloud computing prices will continue to fall and it will be the most economical approach Challenges for Cloud Software Engineering, 2012 Slide 4
  • 5. Private (institutional) clouds for science research are not really viable Community clouds make sense for data- intensive computing if they are located close to the sources of the data Community clouds hosting standard software may be a useful approach – possibly hosted on public clouds Challenges for Cloud Software Engineering, 2012 Slide 5
  • 6. What makes the cloud different (and challenging)? Challenges for Cloud Software Engineering, 2012 Slide 6
  • 7. Scale Thousands of nodes that may be distributed across the world Challenges for Cloud Software Engineering, 2012 Slide 7
  • 8. Elasticity No fixed hardware architecture Scale out and scale in Challenges for Cloud Software Engineering, 2012 Slide 8
  • 9. Pay as you go pricing Variable costs for applications Payment according to resources used Challenges for Cloud Software Engineering, 2012 Slide 9
  • 10. Cloud services Challenges for Cloud Software Engineering, 2012 Slide 10
  • 11. Infrastructure as a service Challenges for Cloud Software Engineering, 2012 Slide 11
  • 12. Instead of buying and running physical equipment (computers, storage, etc.), you ‘rent’ these as required from a cloud provider You ship your programs and data to a remote data centre and run them there rather than locally The familiar Grid computing model Challenges for Cloud Software Engineering, 2012 Slide 12
  • 13. Platform as a service Challenges for Cloud Software Engineering, 2012 Slide 13
  • 14. The cloud provider makes a set of APIs available which you use in your program to interact with the platform Scaleability is transparent. Automatic scale out/scale in as demand changes Primarily geared to writing web-based applications Challenges for Cloud Software Engineering, 2012 Slide 14
  • 15. Software as a service Challenges for Cloud Software Engineering, 2012 Slide 15
  • 16. Software is shared by different users and accessed using a web browser Services are stateless, functional abstractions Multi-tenant databases for efficient operation Accessed via a service interface – SOAP or RESTful interface Challenges for Cloud Software Engineering, 2012 Slide 16
  • 17. Levels of cloud usage Challenges for Cloud Software Engineering, 2012 Slide 17
  • 18. Cloud hosting You use the cloud to provide server capability rather than incurring the capital costs of server purchase Applications need not be ‘cloud aware’ Fixed server infrastructure Can run existing codes in Fortran/C Challenges for Cloud Software Engineering, 2012 Slide 18
  • 19. If server type and platform available, then should not require any application changes Almost certainly poorer performance than local execution. But makes sense for occasional runs/ demonstrations etc. Challenges for Cloud Software Engineering, 2012 Slide 19
  • 20. Problems Relatively low level model of interaction. You need to know about lots of stuff (such as certificates, security keys, etc. that have nothing to do with your work) Performance is difficult to predict License issues Costs may be high for high volumes of data transfer in/out of clouds Challenges for Cloud Software Engineering, 2012 Slide 20
  • 21. Software engineering challenge Build a software development environment that radically simplifies hosting scientific applications on a range of clouds Challenges for Cloud Software Engineering, 2012 Slide 21
  • 22. Cloud interfacing You build applications that make use of the cloud providers APIs (PaaS) to access common services. ‘High-level’ cloud awareness. The platform takes care of scaleability on demand. Limited programming language support Challenges for Cloud Software Engineering, 2012 Slide 22
  • 23. Challenge is using existing PaaS APIs for computationally-intensive applications –  Systems are set up to support web-based applications –  Google Apps – 30 second time limit on tasks Significant application change required Several experiments here – mixed conclusions. Challenges for Cloud Software Engineering, 2012 Slide 23
  • 24. Software engineering challenge Investigate how to adapt applications that are computation/data intensive to run within the constraints set by the PaaS interfaces from cloud providers Challenges for Cloud Software Engineering, 2012 Slide 24
  • 25. Cloud software engineering Build ‘cloud aware’ applications which can adapt to the cloud capabilities that are available Challenges for Cloud Software Engineering, 2012 Slide 25
  • 26. Application architecture designed for the cloud Underlying infrastructure management done in the program itself, depending on performance and cost requirements What abstractions do we need for this? Challenges for Cloud Software Engineering, 2012 Slide 26
  • 27. Three grand challenges Challenges for Cloud Software Engineering, 2012 Slide 27
  • 28. Programming models for the cloud Building a PaaS for high performance/ throughput computing Cloud-aware software development environments Challenges for Cloud Software Engineering, 2012 Slide 28
  • 29. Scaling up and scaling out Traditional model to cope with increased computational demand is to scale up Supported by some cloud providers who offer different instance types. Scaling out is the more usual cloud model Challenges for Cloud Software Engineering, 2012 Slide 29
  • 30. Coping with scaling out Redesigning algorithms and code to work with a flexible rather than a fixed number of resources –  Interaction between program and platform to know what resources are being used and what resources are available –  Structuring program into a flexible number of computational components –  Avoiding sequential computations (Amdahl’s Law) Challenges for Cloud Software Engineering, 2012 Slide 30
  • 31. Programming models Are there programming models that can take advantage of elasticity and massive parallelism? –  Invent new models for parallel computation –  Adapt existing problems to the current map/reduce programming model Challenges for Cloud Software Engineering, 2012 Slide 31
  • 32. Map reduce explained http://www.kchodorow.com/blog/2010/03/15/mapreduce-the-fanfiction/ Challenges for Cloud Software Engineering, 2012 Slide 32
  • 33. Map-reduce on a slide -- Split the data into a number of computationally tractable chunks.  in = split (thedata) n = size (in) -- MAP. For each chunk, process in parallel  parfor i = 1 to n do {      out (i) = F (in (i)) } -- REDUCE. Apply a function R to the output that computes the required result -- (of course, A can be a list) A = R (out) Challenges for Cloud Software Engineering, 2012 Slide 33
  • 34. Map-reduce assumptions Input data set can be split into chunks for independent parallel processing The reduce action is a relatively simple, fast computation Clearly, does not fit all types of problem Challenges for Cloud Software Engineering, 2012 Slide 34
  • 35. Can scientific codes be re-engineered to take advantage of the map-reduce model? Elastic + static architecture Use the elastic cloud for data preparation/analysis (MAP) Use a cloud cluster for computation (REDUCE) Challenges for Cloud Software Engineering, 2012 Slide 35
  • 36. Opportunistic computing Taking advantage of low-price/free resources when these are available? Challenges for Cloud Software Engineering, 2012 Slide 36
  • 37. Fixed budget computation Compute till you run out of money Get as much computational capability as your budget will allow Use spot prices Stop and start instances Challenges for Cloud Software Engineering, 2012 Slide 37
  • 38. Budget-driven programming Develop systems that take advantage of variable pricing in different clouds/at different times Potentially significant for computationally-intensive applications Challenges for Cloud Software Engineering, 2012 Slide 38
  • 39. PaaS for Science Develop a set of APIS for data/compute intensive applications to support cloud interaction Long-running applications Cost/demand awareness Performance measurement/tuning Intermittent execution Challenges for Cloud Software Engineering, 2012 Slide 39
  • 40. SDE for the cloud Creating an environment for the development of cloud-aware applications Hiding low level details of IaaS cloud interaction Testing environment Occasional computation Preliminary work – ELVIRA, St Andrews http://cloudresearch.jiscinvolve.org/wp/category/projects/ elvira/ Challenges for Cloud Software Engineering, 2012 Slide 40
  • 41. Software as a service Challenges for Cloud Software Engineering, 2012 Slide 41
  • 42. Effective way for a community to share services Scope for applying external computations to collected data – data mining, visualisation, etc. What are appropriate abstractions? How can large amounts of state be managed? Limiting data transfer between nodes As with all software reuse, the community rather than the project benefits. Needs central funding to pay for reusable element creation Challenges for Cloud Software Engineering, 2012 Slide 42
  • 43. Conclusions Clouds will become the dominant computing environment in future so costs will fall significantly – major driver for developing for the cloud Offers a level of computational resource that cannot really be replicated in an institution Software engineering issues need to be addressed to make the most effective use of the cloud Challenges for Cloud Software Engineering, 2012 Slide 43