Mobile and Cloud computing and SE

Similar documents
CLOUD COMPUTING. When It's smarter to rent than to buy

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

Cloud Computing Architecture: A Survey

CHAPTER 8 CLOUD COMPUTING

An Introduction to Private Cloud

Cloud Computing Technology

2) Xen Hypervisor 3) UEC

21/09/11. Introduction to Cloud Computing. First: do not be scared! Request for contributors. ToDO list. Revision history

Cloud Computing Submitted By : Fahim Ilyas ( ) Submitted To : Martin Johnson Submitted On: 31 st May, 2009

International Journal of Engineering Research & Management Technology

Model-driven Performance Estimation, Deployment, and Resource Management for Cloud-hosted Services

A Gentle Introduction to Cloud Computing

How To Understand Cloud Computing

Data Centers and Cloud Computing. Data Centers

CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud

Performance Management for Cloudbased STC 2012

Data Centers and Cloud Computing

Oracle Applications and Cloud Computing - Future Direction

Code in the cloud for the cloud jfokus.mybluemix.net

Cloud Computing Flying High (or not) Ben Roper IT Director City of College Station

Cloud Computing An Introduction

A Study of Infrastructure Clouds

Windows Azure Platform

Cloud Computing An Elephant In The Dark

Comparison of Dynamic Load Balancing Policies in Data Centers


Architectural Implications of Cloud Computing

CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms

Environments, Services and Network Management for Green Clouds

Keywords: Cloudsim, MIPS, Gridlet, Virtual machine, Data center, Simulation, SaaS, PaaS, IaaS, VM. Introduction

High Performance Computing Cloud Computing. Dr. Rami YARED

Emerging Technology for the Next Decade

Service allocation in Cloud Environment: A Migration Approach

NCTA Cloud Architecture

Multilevel Communication Aware Approach for Load Balancing

Dynamic Round Robin for Load Balancing in a Cloud Computing

CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms

Cloud Computing Trends

Infrastructure as a Service

How cloud computing can transform your business landscape

CLOUD COMPUTING An Overview

Dr.K.C.DAS HEAD PG Dept. of Library & Inf. Science Utkal University, Vani Vihar,Bhubaneswar

Building Out Your Cloud-Ready Solutions. Clark D. Richey, Jr., Principal Technologist, DoD

Data Centers and Cloud Computing. Data Centers. MGHPCC Data Center. Inside a Data Center

PERFORMANCE ANALYSIS OF PaaS CLOUD COMPUTING SYSTEM

Cloud Computing: Computing as a Service. Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad

Journey to the Cloud and Application Release Automation Shane Pearson VP, Portfolio & Product Management

Datacenters and Cloud Computing. Jia Rao Assistant Professor in CS

Introduction to Cloud Computing

How To Understand Cloud Usability

Ch. 13 Cloud Services. Magda El Zarki Dept. of CS UC, Irvine

Cloud Computing Simulation Using CloudSim

Cloud Computing. Chapter 1 Introducing Cloud Computing

SaaS, PaaS & TaaS. By: Raza Usmani

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

White Paper on CLOUD COMPUTING

Session 3. the Cloud Stack, SaaS, PaaS, IaaS

The Future Of Cloud Computing. Thursday, September 1, 11

Topics. Images courtesy of Majd F. Sakr or from Wikipedia unless otherwise noted.

Efficient Service Broker Policy For Large-Scale Cloud Environments

FEDERATED CLOUD: A DEVELOPMENT IN CLOUD COMPUTING AND A SOLUTION TO EDUCATIONAL NEEDS

Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges.

CLOUD COMPUTING: A NEW VISION OF THE DISTRIBUTED SYSTEM

How to Do/Evaluate Cloud Computing Research. Young Choon Lee

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University

Cloud computing an insight

Planning the Migration of Enterprise Applications to the Cloud

Cloud Computing an introduction

HP CLOUD SYSTEM. The most complete, integrated platform for building and managing clouds featuring Intel technologies.

AUTOMATION. Tihomir Hrastovscak HP Software

The Cisco Powered Network Cloud: An Exciting Managed Services Opportunity

Mobility Management in Mobile Cloud Computing

Cloud Computing: Concepts and Technology

Security-as-a-Service in Multi-cloud and Federated Cloud Environments

Planning, Provisioning and Deploying Enterprise Clouds with Oracle Enterprise Manager 12c Kevin Patterson, Principal Sales Consultant, Enterprise

Hybrid Cloud Computing

Lecture 02a Cloud Computing I

NATO s Journey to the Cloud Vision and Progress

Infrastructure as a Service (IaaS): Market and Forecast for Secure Multitenancy Platforms and Services

CLOUD COMPUTING. A Primer

Cloud Computing. Chapter 1 Introducing Cloud Computing

Cloud SingularLogic:

Consumption IT. Michael Shepherd Business Development Manager. Cisco Public Sector May 1 st 2014

How cloud computing can transform your business landscape.

Evaluation Methodology of Converged Cloud Environments

A.Prof. Dr. Markus Hagenbuchner CSCI319 A Brief Introduction to Cloud Computing. CSCI319 Page: 1

Cloud Computing. Chapter 1 Introducing Cloud Computing

What Cloud computing means in real life

Virtualization and Cloud Computing

The Cloud, The Crowd & Social Technology

Cloud Computing. Chapter 1 Introducing Cloud Computing

Cloud Computing 101 Dissipating the Fog 2012/Dec/xx Grid-Interop 2012

Grid Computing Vs. Cloud Computing

journey to a hybrid cloud

Geschäftsanwendungen bereit machen für die Cloud. Make your Business Applications ready for the Cloud

Sistemi Operativi e Reti. Cloud Computing

Data Centers and Cloud Computing. Data Centers

Cluster, Grid, Cloud Concepts

Transcription:

Mobile and Cloud computing and SE

This week normal. Next week is the final week of the course Wed 12-14 Essay presentation and final feedback Kylmämaa Kerkelä Barthas Gratzl Reijonen??? Thu 08-10 Group Exercise presentations and feedback What are the current findings What is the road ahead to finalize the group work Instructions. See essay instructions of essay presentation. Fri 08-11 Final Exercises This is your last chance to work in group and get help from Päivi.

Deadlines Next week the normal essay DL on 13.10. (Tuesday) at noon (12:00) Group exercise 25.10.2015 (Sunday) 23:59 If late. If <12h then -1 If <24h then -2 If <36h then -3 If <48h then -4 For each additional 12h late another -1 Bonus essay 1.11.2015 (Sunday) 23:59 If late. If <12h then -1 If <24h then -2 If <36h then -3 If <48h then -4 For each additional 12h late another -1

Topic selection for this course Text mining 72 787 software / software engineering papers

Most probable words of each topic Given topic name Web services (n=915) Mobile and Cloud computing (n=862) Industrial studies (n=1376) Source code (n=988) 1 "web" "mobile" "study" "code" "test" Test generation (n=923) 2 "service" "computing" "case" "source" "generation" 3 "services" "cloud" "empirical" "open" "automatic" 4 "applications" "environments" "industrial" "projects" "coverage" 5 "composition" "agent" "studies" "changes" "automated" 6 "semantic" "middleware" "comparative" "usage" "selection" 7 "discovery" "grid" "use" "documentation" "generating" 8 "composite" "devices" "exploratory" "API" "cases" 9 "QoS" "smart" "pilot" "detecting" "suite" 10 "BPEL" "trust" "importance" "clones" "tests"

Essay Discuss one or more of the following topics What possibilities Cloud offers for Software Engineering How could CloudSim toolkit be valuable? How does the Cloud computing topic link to the Web-services topic that was already covered in the course? Can one success without the other? Are they a same thing? Platform heterogeneity of mobile systems. In many cases developers need to create native apps for several platforms. What software engineering techniques could be used to reduce code duplication when deploying for several platforms? How should testing be organized? How could testing be automated? What other problems might appear when supporting several heterogeneous platforms?

Cloud computing What it is? Cloud computing is a recent advancement wherein IT infrastructure and applications are provided as services to end-users under a usage-based payment model. [1] Cloud computing is a model for enabling ubiquitous, convenient, on-demand access to a shared pool of configurable computing resources. (Wikipedia) [1] Calheiros, Rodrigo N., et al. "CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms." Software: Practice and Experience 41.1 (2011): 23-50.

Everything as a service

SE in the Cloud Why To save from the effort of setting up and maintaining it yourself To use the effort saved for something more valuable Motivation is similar for SE services in the cloud as for other services Salesforces video to elaborate https://www.youtube.com/watch?v=ae_dknwk_ms

THE OBVIOUS

SE in the Cloud Version Control Version Control or Software Configuration Management Has always been used for sharing and distributing source code with a group of developers There is no shortage of such tools in the cloud 45 of the Top Source Code Repository Hosts https://blog.profitbricks.com/top-source-code-repositoryhosts/ Many of them of them are Based on GiT BitBucket (Git), GitHub, (Git), ProjectLocker (Git/ SVN)

SE in the Cloud Management: Defect tracking, Project management, and communication, etc Defect tracking and Project management have nearly always been in a centralized storage Example tools Jira https://www.youtube.com/watch?v=xrcjv0ftyr8 Trello https://www.youtube.com/watch?v=xwiuniolf4s VersionOne https://www.youtube.com/watch?v=ywxiuxsums4 Agilefant https://www.youtube.com/watch?v=y6ui-35htpg

SE in the Cloud Test environments Virtualized environment (hardware + software) on demand Nokia has 100 000 cores to support software engineers in software development, testing, and simulation See http://www.enterprisetech.com/2013/11/11/nokiadev-cloud-will-swell-100k-cores/ For example Run all regression tests in all environments (HW+OS+DB) automatically in few minutes after which the environment is released to other tasks Experiment with tens of machines on which configuration setting results in shortest build time in CI servers After that use the best configuration in teams CI server

THE EMERGING

SE in the Cloud - CI servers Continuous Integration server: Combines compiling, building, automated testing and sometimes also deployment Using a centralized CI server has recently gained popularity Note: Microsoft was using such system already in 1990 s [1] Buying CI as a service is also possible Cloudbees https://www.youtube.com/watch?v=qyxgc5uwwao Codeship https://www.youtube.com/watch?v=7oe47ib-jay Travis https://www.youtube.com/watch?v=uf0vzyvzpve Semaphore https://www.youtube.com/watch?v=3z1rvcsmx00 [1] Cusumano, Michael A., and Richard W. Selby. "Microsoft secrets." (1997).

SE in the Cloud - IDEs Less intuitive than the previous example Natural development considering CI, version controla and management tools are in the cloud Document editing is as well (Goodle Docs, Spreadsheets) Tools Cloud9 https://www.youtube.com/watch?v=hqzowm8axdi https://www.youtube.com/watch?v=xsdnwifwr5g Nitrous Cored - A recent PhD Thesis from TUT http://www.tut.fi/fi/tietoa-yliopistosta/uutiset-jatapahtumat/vaitostiedotteet/uusi-kehitysymparisto-mahdollistaareaaliaikaisen-yhteistyon-ohjelmoinnissa-x110797c2

SE in the Cloud Humans / Crowdsourcing Crowdsourcing process of obtaining needed services, ideas, or content by soliciting contributions from a large group of people, and especially from an online community, rather than from traditional employees or suppliers Technically speaking no longer a Cloud Computing resource Similarities: shared resources (multitenancy), scalability, pay-asyou-go, Crowdsourcing platform enables distribution and management of tasks, Amazon Mechanical Turk Offers often simple, low paid, opinion based (to a degree) and hard to automate tasks, e.g. evaluate quality of scanned images http://kernelmag.dailydot.com/features/report/4732/mygruelling-day-as-an-amazon-mechanical-turk/ Others offer more intelligent work, e.g. design a logo design

utest Crowsourcing of testing

SE in the Cloud Version controls Defect trackers Test environments CI servers IDEs Human resources (testers)

Discuss the possibilities Cloud offers for Software Engineering What do you see as the biggest hit service What service could be used for what purpose E.g. Cloud IDEs could be good for certain cases Summary of previous slides Version controls Defect trackers Test environments CI servers IDEs Human resources (testers)

CLOUDSIM

Motivation: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms Cloud computing infrastructure, platform, and software as services in a pay-as-you-go model to consumers. Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) Clouds frees the companies from the trivial task of setting up basic hardware and software infrastructures Amazon EC2, Microsoft Azure, Google App Engine

Motivation: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms Provisioning (configuring, scheduling and allocation) policies is extremely challenging because: Clouds exhibit varying demands, supply patterns, system sizes, and resources (hardware, software, network); Users have heterogeneous, dynamic, and competing QoS requirements; Applications have varying performance, workload, and dynamic application scaling requirements.

Motivation: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms Real infrastructures are difficult to modify -> time consuming to create all configurations Modifications in real environment always pose a risk of degenerating quality Cloud-based environments are not in the control of developers of application services. It is not possible to perform benchmarking experiments in repeatable, dependable, and scalable environments using real-world Cloud environments. Simulation tools are the solution!

Motivation: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms Simulation tools are the solution! CloudSim that allows seamless modeling, simulation, and experimentation of emerging Cloud computing infrastructures and application services. By using CloudSim, Test the performance of a newly developed application service in a controlled and easy to set-up environment. The main advantages of using CloudSim for initial performance testing include: time effectiveness: less effort to implement Cloud-based application provisioning test environment flexibility and applicability: developers can model and test the performance of their application services in heterogeneous Cloud environments (Amazon EC2, Microsoft Azure) with little programming and deployment effort.

Motivation: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms Simuation tools are the solution! Cloudsim that allows seamless modeling, simulation, and experimentation of emerging Cloud computing infrastructures and application services. By using CloudSim, Test the performance of a newly developed application service in a controlled and easy to set-up environment. The main advantages of using CloudSim for initial performance testing include: time effectiveness: less effort to implement Cloud-based Vested interest! application provisioning test environment flexibility and applicability: developers can model and test the performance of their application services in heterogeneous Cloud environments (Amazon EC2, Microsoft Azure) with little programming and deployment effort.

Uses of CloudSim Modeling the cloud From Iaas to SaaS Modeling the VM allocation Sharing of host computing resources (HW) to virtual machines (VM) Sharing of virtual machine computing resources to application

Uses of CloudSim Modelling the cloud market with two layer design IaaS model cost per unit of memory, cost per unit of storage, and cost per unit of used bandwidth. Cloud customers (SaaS providers) have to pay for the costs of memory and storage when they create and instantiate VMs, the costs for network usage are only incurred in the event of data transfer. SaaS model. Costs at this layer are directly applicable to the task units (application service requests) that are served by the application services. If a Cloud customer provisions a VM without an application service (task unit), then they would only be charged for layer 1 resources (i.e. the costs of memory and storage).

Uses of CloudSim Modelling network behavior Network latency affects the overall service satisfaction experience. Network latency that a message can experience on its path from one host to another or to Cloud Broker is simulated m n size matrix for all CloudSim entities (hosts) currently active in the simulation context. An entry e(ij) in the matrix represents the delay that a message will undergo when it is being transferred from entity i to entity j over the network.

Uses of CloudSim Modeling a federation of clouds to federate or inter-network multiple clouds, Cloud coordinator monitors and initiates

Uses of CloudSim Modelling of Dynamic workloads Cloud applications deploy dynamic workloads Some systems are used only during working hours Deadline driven behavior or people Call for tenders, funding applications, recruiting software Are all SLAs kept in when running various cloud applications? Power consumption of data centers is another cost factor Dynamic entities User can join or leave Data centers can go down and new ones can be built

Experiments: Evaluating federated clouds vs. non-federated (each as separate)

Experiments: Hybrid public (Amazon EC2) and private cloud

Experiments: Energy consumptions algorithms and SLA s

Summary CloudSim Model Cloud from IaaS to SaaS Cloud market VM allocation Network utilization Power usage SLAs Federation Dynamic workloads Dynamic entities (new/removal of data centers, customers etc) Then simulate different scenarios.

Discuss How could CloudSim toolkit be valuable? Summary: CloudSim Model Cloud from IaaS to SaaS Cloud market VM allocation Network utilization Power usage SLAs Federation Dynamic workloads Dynamic entities (new/removal of data centers, customers etc) Then simulate different scenarios.

Essay Discuss one or more of the following topics What possibilities Cloud offers for Software Engineering How could CloudSim toolkit be valuable? How does the Cloud computing topic link to the Web-services topic that was already covered in the course? Can one success without the other? Are they a same thing? Platform heterogeneity of mobile systems. In many cases developers need to create native apps for several platforms. What software engineering techniques could be used to reduce code duplication when deploying for several platforms? How should testing be organized? How could testing be automated? What other problems might appear when supporting several heterogeneous platforms?

What it is? Mobile computing

Mobile computing Extending terms Not just mobile (phones) but computers on: cars, eyes glasses, fridges, watches Ubiquitous computing, pervasive computing, Internet of Things, ambient intelligence,

Motivation: Mobile application platform heterogeneity: Android vs Windows Phone vs ios vs Firefox OS Android, Windows Phone, ios, were identified as market leaders for the smartphone market by Gartner Group. Firefox OS, 4, were recognized as the chiefly representative for a new category of mobile operating systems. Create a game of TIC-TAC-TOE

Platform heterogeneity Although cross platform support exists Java (1.0 desktop 1995, Java ME 2000) has a vision of supporting multiple platforms, write once, run everywhere. The idea was that the same byte code created from the source code should be able to run on all sorts of mobile device models. In practice: write once, debug everywhere Developers often need to create multiple clients for different platforms Applications running HTML 5 (the new Java) Facebook dumbed HTML5 in favor of native apps Still past work suggests: native apps if there was going to be interaction between the app and the hardware on the specific device (such as the GPS unit or the camera); otherwise, the app developed using the cross platform tool was just as good as the native one. Grønli, Tor-Morten, et al. "Mobile application platform heterogeneity: Android vs Windows Phone vs ios vs Firefox OS." Advanced Information Networking and Applications (AINA), 2014 IEEE 28th International Conference on. IEEE, 2014.

Android / Windows / IOS / Firefox

Comparison

Essay Discuss one or more of the following topics What possibilities Cloud offers for Software Engineering How could CloudSim toolkit be valuable? How does the Cloud computing topic link to the Web-services topic that was already covered in the course? Can one success without the other? Are they a same thing? Platform heterogeneity of mobile systems. In many cases developers need to create native apps for several platforms. What software engineering techniques could be used to reduce code duplication when deploying for several platforms? How should testing be organized? How could testing be automated? What other problems might appear when supporting several heterogeneous platforms?