Cloud Computing as a Source of Innovation for Global Software Engineering



Similar documents
Cloud Computing for Global Software Engineering: Designing Infrastructures and Supporting Migration

Understanding and Addressing Architectural Challenges of Cloud- Based Systems

Tales of Empirically Understanding and Providing Process Support for Migrating to Clouds

Security Considerations for Public Mobile Cloud Computing

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages

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

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

Architectural Implications of Cloud Computing


Cloud Computing: The Next Computing Paradigm

Cloud Computing. Cloud computing:

Cloud Computing Overview

White Paper on CLOUD COMPUTING

Public Cloud Offerings and Private Cloud Options. Week 2 Lecture 4. M. Ali Babar

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

Cloud Courses Description

CLOUD COMPUTING An Overview

Perspectives on Cloud Computing and Standards. Peter Mell, Tim Grance NIST, Information Technology Laboratory

The Cloud Opportunity: Italian Market 01/10/2010

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

Realizing the Value Proposition of Cloud Computing

How To Understand Cloud Computing

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

Cloud Computing; What is it, How long has it been here, and Where is it going?

CHAPTER 8 CLOUD COMPUTING

A Hotel in the Cloud. Bruno Albietz

CLOUD COMPUTING. A Primer

BUSINESS MANAGEMENT SUPPORT

Quick guide: Using the Cloud to support your business

High Performance Computing Cloud Computing. Dr. Rami YARED

Kent State University s Cloud Strategy

How To Understand Cloud Computing

Cloud Computing. Bringing the Cloud into Focus

Cloud Computing. Chapter 1 Introducing Cloud Computing

Perspectives on Moving to the Cloud Paradigm and the Need for Standards. Peter Mell, Tim Grance NIST, Information Technology Laboratory

SOA and Cloud in practice - An Example Case Study

Abstract 1. INTRODUCTION

Turnkey Technologies- A Closer Look

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com

Lecture 02a Cloud Computing I

CLOUD COMPUTING. Dana Petcu West University of Timisoara

CLOUD COMPUTING IN HIGHER EDUCATION

Cloud Computing in the Czech Republic

Cloud Computing: Making the right choices

Cloud Computing INTRODUCTION

Cloud Services. More agility. More freedom. More choice.

Testing as a Service on Cloud: A Review

Enhancing Operational Capacities and Capabilities through Cloud Technologies

Cloud Models and Platforms

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

It s All About Cloud Key Concepts, Players, Platforms And Technologies

Cloud Computing Architecture: A Survey

Cloud Computing. Chapter 1 Introducing Cloud Computing

Cloud Computing For Distributed University Campus: A Prototype Suggestion

CLOUD SECURITY SECURITY ASPECTS IN GEOSPATIAL CLOUD. Guided by Prof. S. K. Ghosh Presented by - Soumadip Biswas

Mobile cloud business

Cloud SingularLogic:

How To Understand Cloud Computing

Cloud Computing in Higher Education: A Guide to Evaluation and Adoption

A Study of Infrastructure Clouds

Cloud-based Services: To Move or Not To Move. Seminar Internet Economics Cristian Anastasiu & Taya Goubran

Mobile and Cloud computing and SE

Implementing & Developing Cloud Computing on Web Application

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

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

Where in the Cloud are You? Session Thursday, March 5, 2015: 1:45 PM-2:45 PM Virginia (Sheraton Seattle)

Hexaware E-book on Q & A for Cloud BI Hexaware Business Intelligence & Analytics Actionable Intelligence Enabled

CLOUD COMPUTING OVERVIEW

CLOUD COMPUTING SECURITY ISSUES

APPLICATION OF CLOUD COMPUTING IN EDUCATION. Achmad Benny Mutiara

IJRSET 2015 SPL Volume 2, Issue 11 Pages: 29-33

Cloud Computing Technology

Certified Cloud Computing Professional Sample Material

Cloud Computing. P a n a g i o t i s F o u z a s I T S o l u t i o n s M a n a g e r

Global Innovations in Cloud Computing Services and Deployment

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

APPLICABILITY OF CLOUD COMPUTING IN ACADEMIA

Cloud Courses Description

Electronic Records Storage Options and Overview

Bringing the Cloud into Focus. A Whitepaper by CMIT Solutions and Cadence Management Advisors

Cloud Computing Services and its Application

Survey on software testing techniques in cloud computing

Cloud Computing: Elastic, Scalable, On-Demand IT Services for Everyone. Table of Contents. Cloud.com White Paper April Executive Summary...

Strategic approach to cloud computing deployment

Cloud Computing Evolution Not Revolution

In a dynamic economic environment, your company s survival

Cloud Computing Training

Have We Really Understood the Cloud Yet?

Cloud Computing Paradigm

PTaaS: Platform for Providing Software Developing Applications and Tools as a Service

The Definitive Guide to the Cloud and Kentico CMS THOMAS ROBBINS

Cloud Computing. Chapter 1 Introducing Cloud Computing

6 Cloud strategy formation. 6.1 Towards cloud solutions

The Cloud at Crawford. Evaluating the pros and cons of cloud computing and its use in claims management

Open Source and Cloud. Ramesh Kumar

Software as a Service (SaaS) Testing Challenges- An Indepth

Transcription:

Cloud Computing as a Source of Innovation for Global Software Engineering M. Ali Babar The University of Adelaide, Australia April 3, 2014.

Background Brief M. Ali Babar Professor of Software Engineering PhD in CSE, University of New South Wales Work History: Reader - Lancaster University: Feb. 2013 Nov. 2013 Associate Professor ITU, CPH: Dec. 2009 Lero, Ireland: 2007 2009 NICTA, Australia: 2003-2007 JRCASE, Macquarie University: 2001 2003 Various industrial roles in IT: Prior to 2001 Research in software architecture, Service Orientation, Cloud Computing, and Software Development Paradigm http://malibabar.wordpress.com

Talk s Goals Getting familiar with emerging technological and development paradigms Reflect about the areas of software engineering research motivated by cloud computing. Learn about some of the key challenges of developing software with distributed teams. Understand how cloud computing can be leveraged for global software engineering.

Overview Cloud computing & research issues. Global software engineering & challenges. Leveraging cloud computing for GSE. Tool as a Service (TaaS) for GSE.

What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. (A definition by the US National institute of standards and technology (NIST)) Some of the characteristics Distributed computing at a massive scale. On demand elasticity. Exploiting existing technologies (Grid, Utility, Virtualization). Pay per use model. Driven by economies of scale.

Market Forecast Market study on worldwide public IT cloud services by category Market study on worldwide IT spending by consumption model

Some Examples The New York Times made its archives1851 1980 free by providing 11 million articles as PDF the job was done under 24 hours at a cost of US$240 using Hadoop on Amazon Web Service Danish Rail cancellation information services used Microsoft Azhure for less than US$25 Animoto handled flood of nearly 750,000 new sign ups in three days using Amazon s cloud, which cost them about 10 cents a server per hour - the required scalability fluctuated from 50 servers to over 3500

Economic Aspects Cost reduction Reducing the cost for infrastructure acquisition and maintenance Improved time to market Imperative for SMEs. Larger enterprises can publish new capabilities with little overhead to remain competitive. Return on investment Essential but not guaranteed Turning CAPEX into OPEX from capital cost to operation cost model Going Green Reducing the energy consumption of unused resources

Potential Advantages Faster time to market and improved productivity Lower cost in terms of licensing fee No installation and maintenance Fast upgrades of new features and patches Application developed using mature processes Innovation without supportive applications

Potential Disadvantages Maturity in designing multi-tenant applications Cultural change in software development companies From licensing model to subscription business model Not for all applications, e.g., online share trading Vendor dependency is quite common Migration can be quite problematic

Some of the Challenges!!! Security Would my data be more secure with Cloud provider? Interoperability Significant risk of vendor lock-in standardized interfaces not available, incompatible programming models Reliability Use of commodity hardware, prone to failure...cloud 2.0 Laws and regulations Privacy, security, and location of data storage Organizational changes Changing authorities of IT departments, compliance policies Cost Purchase vs. lease, migration cost, models to design capital and operational budgets, cost of cloud providers

Is Cloud Computing for Me? For end users Cost reduction: From capital investment to operational expense (pay per use) Ease of use via standardized mechanisms, e.g. Browser Flexibility and short time-to-result Services providers Reduction of the entrance barrier Reduction of time to market Private Cloud Maximize the utilisation of computing resources Minimize operational costs and the organisation keeps full control of its data centres

Storage as a Service A third party rents space on their storage infrastructure Specialized cloud storage providers Google Docs are stored on Google s data server Web mail provider Gmail, Hotmail, Yahoo! Flicker and Picasa YouTube, Facebook, MySpace Reliability Unreliability can become a liability Security Encryption Authentication processes Authorization practices

Some Common Cloud Based Tools

Google Docs!!! Provides documents, spreadsheets and presentations Support sharing and real time collaboration Provide access from anywhere over the Internet Export to formats like DOC, XLS, CSV, ODS, ODT, PDF, RTF, and HTML.

Office 365 Microsoft office collaboration and productivity tools Support access through multiple devices via browser Global-redundancy for scalability & availability. Per-user per-month subscription plan with predictable annual cost. Through administrative user interface, IT staff can set up new user accounts, control access to features and see the status of all office 365 services and tools Source: www.office365.com

Office Web Applications View, edit and share contents in the Word, Excel, PowerPoint and OneNote. Common set of online viewing and editing tools. Support to access online documents with respective desktop application for rich editing. Simultaneous editing of shared Excel spreadsheets and OneNote Shared Notebooks. Source: www.office365.com

Github Social Coding Distributed version control system for collaboration Collaboration Manages teams within organizations and shared administration. Git powered Wikis Integrated issue tracking Code reviews Source: https://github.com/

A Snapshot of Potential Areas of Interest Reproduced from Figure 1 of The Future of Cloud Computing: Opportunities for European Cloud Computing beyond 2010.

Service and Deployment Models Software as a Service (SaaS) Google Apps Zoho Salesforce CRM Public Clouds! Google App Engine Platform as a Service (PaaS) Microsoft Azure Force.com Infrastructure as a Service (IaaS) Amazon EC2 Eucalyptus IBM Computing On Demand (DoC) Private Clouds! Community Clouds! Hybrid Clouds! Microsoft Cloud Services Yahoo Open Strategy VMWare vsphere Virtual Private Clouds! Service Models Deployment Models

Stakeholders Involved & their Perspectives Use APIs offered by Cloud providers to exploit their resources and deliver highvalue services for end-users. Source: EC The Cloud extends the general internet-based service provisioning model with aspects of high availability, reduced cost (through improved resource usage) and ease-of-use. Dynamic management of hosted services (*aas) to guarantee availability, reliability and related quality aspects through automation in order to optimise the overall resource utilisation. Source: EASI-Cloud Review Presenation

Global Software Engineering

Many Meanings & Forms of GSE Open Source Software Development Offshore Outsourcing Inner Source Software Development Offshore Development Centers Near-Shore Outsourcing Global Software Development Distributed Software Development

Types of GSE Arrangements One Vendor Many Vendors One Client Simple Multi-Vendors Many Clients Co-Sourcing Complex Source: Gallivan and Oh, 1999

Scenarios of Tool Support Challenges

Tools for Distributed Architecting Process Main activities of software architecture process Architectural Analysis Architectural Synthesis Architectural Evaluation Architectural Realization Architectural Evolution Types of tools required Architectural knowledge repositories Decision support systems Architecture modeling tools Web 3.0 technologies

Tool Support for GSE Integration provided at the application level

Leveraging Cloud Computing for GSE

Why Cloud Computing Matters for GSE? Software testing Stress testing with cloud-based infrastructure. Enabling testing of application for sensitive data by offshore testers. Collaborative environments in Clouds Just-in-Time (JIT) tool composition. Processes, tools, & context aligned. Source: http://aws.amazon.com/solutions/casestudies/8kmiles/

NexGen Infrastructure for GSE Context Providing supportive technologies to GSE teams. Challenges Dozens of different tools required. Some commercial tools (IBM SameTime and MS Communicator) available but across vendor integration is problematic and the tools are expensive. No Just In Time (JIT) composition and use of services. Misalignment between tools, processes, and culture. Proposed solution Cloud-based infrastructure for supporting GSE through Tool as a Service (TaaS).

Advantages of TaaS for GSE 1/3 On demand tools acquisition & access to a wide range of tools. Processes and tools alignment acquiring tools for process requirements of each project.

Advantages of TaaS for GSE 2/3 Artifacts traceability across multiple sites. Implicit support for realtime awareness and collaboration.

Advantages of TaaS for GSE 3/3 Access to sensitive and massive amount of data without data movement. Easy access to expensive and sensitive technologies.

A Coherent Picture of TaaS Benefits!

Consider Some Scenarios 1/2 An Asian organization X is working on two GSD projects for French clients. Project A will be developed using open source technologies and requires access to private data and other services during unit and integration testing in different releases. This project requires access to security and privacy sensitive data and services. French data security and privacy laws restrict the transfer of such data outside of France. If the data and services cannot be made available to organization X, complete development cannot be carried out on their premises in Asia and requires development of artifacts dealing with sensitive data and services inside France.

Consider Some Scenarios 2/2 Project B needs access to the real-time data about the traffic flows on French roads and expensive and proprietary platforms for simulation of the traffic flow patterns on road networks. The organization may also need to shuffle developers within projects depending on the workload and criticality of the release. Configuration of development environments requires significant effort during resource shuffling.

How Would a Potential Solution Look Like?

Some of the Commercial Tools for GSE AgileZen LucidChart Tool MeetingSphere Microsoft Live Meeting Microsoft Project Microsoft Team Foundation Server Pidoco IBM Rational Suite Cloud9 IDE Eclipse Orion exo Platform Description Collaborative project management. Tool to create flowcharts, organizational charts, UML designs, mind maps etc. Group meeting and decision support system. Web conference service. Project management solution. Source control, data collection/reporting and project tracking Software to design GUIs for web and mobile apps and make it live to share with other users. Suite of tools for different phases of software development life cycle. Cloud-enabled Online IDE. Cloud-enabled IDE that can be hosted on private/public clouds. Collaboration Platform and IDE.

Summary Remarks!!! Cloud Computing matters need to quickly learn how to exploit the promised benefits and address the challenges Cloud computing stimulates new research directions for new and novel ways of developing software & services GSE is increasingly becoming popular for many good reasons technological and socio-technical innovation are required Cloud computing presents huge potential for ICT innovation including GSE paradigm

Acknowledgements Several colleagues and PhD students have hugely contributed to the work on GSE. A number of academic and industrial colleagues have contributed to the research problems and solutions incorporated in this presentation. TaaS work is being performed with Aufeef Chauhan through his PhD research. Tools review work has been performed with Paolo Tell for his PhD research. Socio-technical challenges and solution stratgies work has been performed with Mansooreh Zahedi for her PhD research.

References 1/2 M. Ali Babar and M.A. Chauhan, A tale of migration to cloud computing for sharing experiences and observations, Proceedings of the 2nd International Workshop on Software Engineering for Cloud Computing (SECLOUD), 2011. M.A. Chauhan, M. Ali Babar, Migrating Service-Oriented System to Cloud Computing: An Experience Report, IEEE International Conference on Cloud Computing (CLOUD), 2011. M.A. Chauhan, M. Ali Babar, Towards Process Support for Migrating Applications to Cloud Computing, International Conference on Cloud and Service Computing (CSC), 2012. M. A. Chauhan and M. Ali Babar, Cloud infrastructure for providing tools as a service: quality attributes and potential solutions, Proceedings of the WICSA/ECSA 2012 Companion Volume (WICSA/ECSA '12). P. Tell and M. Ali Babar, A Systematic Mapping Study of Tools for Distributed Software Development Teams, TR-2012-161, 2012.

References 2/2 Y. Bard, G. Caplat, Software-as-a-Service and Versionology: Towards Innovative Service Differentiation, 24th IEEE International Conference on Advanced Information Networking and Applications (AINA), 2012. I. Brandic, et al., Service mediation and negotiation bootstrapping as first achievements towards self-adaptable grid and cloud services, Proceedings of the 6th international conference industry session on Grids meets autonomic computing (GMAC '09), 2009. J.C. Duenas, et al., System Virtualization Tools for Software Development, IEEE Internet Computing, vol.13, 2009.

Thank You! Questions M. Ali Babar alibabar.m@gmail.com malibabar.wordpress.com