Software Systems Architecture in a World of Cloud Computing. Christine Miyachi SDM Entering Class 2000



Similar documents
CHAPTER 8 CLOUD COMPUTING

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

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

Cloud Computing An Elephant In The Dark

Cloud Computing Technology

Why Private Cloud? Nenad BUNCIC VPSI 29-JUNE-2015 EPFL, SI-EXHEB

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

Cloud Computing: The Next Computing Paradigm

Cloud Computing. Chapter 1 Introducing Cloud Computing

Private Cloud Database Consolidation with Exadata. Nitin Vengurlekar Technical Director/Cloud Evangelist


IS PRIVATE CLOUD A UNICORN?

Cloud Computing Architecture: A Survey

The Private Cloud Your Controlled Access Infrastructure

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

Cloud Computing, and REST-based Architectures Reid Holmes

CLOUD COMPUTING. A Primer

White Paper on CLOUD COMPUTING

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

SOA and Cloud in practice - An Example Case Study

A Gentle Introduction to Cloud Computing

Cloud computing - Architecting in the cloud

Cloud Computing. Course: Designing and Implementing Service Oriented Business Processes

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

Rapid Application Development

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms

See Appendix A for the complete definition which includes the five essential characteristics, three service models, and four deployment models.

Cloud Computing. Chapter 1 Introducing Cloud Computing

The Hybrid Cloud: Bringing Cloud-Based IT Services to State Government

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

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

Cloud definitions you've been pretending to understand. Jack Daniel, Reluctant CISSP, MVP Community Development Manager, Astaro

The NIST Definition of Cloud Computing (Draft)

Cloud Computing. Karan Saxena * & Kritika Agarwal**

Oracle Applications and Cloud Computing - Future Direction

CLOUD COMPUTING OVERVIEW

Enhancing Operational Capacities and Capabilities through Cloud Technologies

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

Cloud Computing. Chapter 1 Introducing Cloud Computing

OVERVIEW Cloud Deployment Services

Security Considerations for Public Mobile Cloud Computing

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

Introduction to Cloud Computing

Applications' of Cloud Computing in Academic Institutions

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

Big Data & Its Bigger Possibilities In The Cloud

Securing and Auditing Cloud Computing. Jason Alexander Chief Information Security Officer

A Study of Infrastructure Clouds

Architectural Implications of Cloud Computing

Kent State University s Cloud Strategy

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

High Performance Applications over the Cloud: Gains and Losses

Planning in Transport and Logistics Future Internet Solutions for Improved Integration and Collaboration

How To Understand Cloud Computing

NATO s Journey to the Cloud Vision and Progress

Digital Forensics. Lab 10: Cloud Computing & the Future of Digital Forensics

Platforms in the Cloud

Capability Paper. Today, aerospace and defense (A&D) companies find

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

CSO Cloud Computing Study. January 2012

Cloud Based Architectures in Ground Systems of Space Missions

The benefits and implications of the Cloud and Software as a Service (SaaS) for the Location Services Market. John Caulfield Solutions Director

Equinox above the Cloud ( - Some call it Heaven!!)

Introduction to Cloud : Cloud and Cloud Storage. Lecture 2. Dr. Dalit Naor IBM Haifa Research Storage Systems. Dalit Naor, IBM Haifa Research

Cloud Services Overview

An Introduction to Cloud Computing Concepts

Introduction to Cloud Services

Tutorial on Client-Server Architecture

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

Service Models. Chapter Three

Cloud 101. Mike Gangl, Caltech/JPL, 2015 California Institute of Technology. Government sponsorship acknowledged

Cloud Courses Description

What Is the Cloud?

Big Data, Cloud Computing, Spatial Databases Steven Hagan Vice President Server Technologies

Cloud Computing Benefits for Educational Institutions

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

ur skills.com

Cloud Courses Description

Li Sheng. Nowadays, with the booming development of network-based computing, more and more

Private Cloud 201 How to Build a Private Cloud

The NIST Definition of Cloud Computing

E-Business Technology

CLOUD COMPUTING. Dana Petcu West University of Timisoara

Cloud Computing Services and its Application

Student's Awareness of Cloud Computing: Case Study Faculty of Engineering at Aden University, Yemen

Service-Oriented Cloud Automation. White Paper

What Factors Determine Cloud Computing Adoption by Colleges and Universities? Bill Klug Instructor, BCIT

Cloud Computing in the Enterprise An Overview. For INF 5890 IT & Management Ben Eaton 24/04/2013

Cloud Computing. Chapter 1 Introducing Cloud Computing

CLOUD IN HEALTHCARE EXECUTIVE SUMMARY 1/21/15

The Cloud at 30,000 feet. Art Ridgway Scripps Media Inc. Managing Director Newspaper IT Operations

Clo l ud d C ompu p tin i g

E-learning Using Cloud Computing

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

Building Private & Hybrid Cloud Solutions

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

An Oracle White Paper in Enterprise Architecture August Architectural Strategies for Cloud Computing

Transcription:

Software Systems Architecture in a World of Cloud Computing Christine Miyachi SDM Entering Class 2000 Copyright Christine Miyachi 2013

Outline Overview of cloud computing The business of cloud The process of cloud Software Architecture in the cloud

Definition of Cloud Computing The current NIST definition for Cloud Computing states: Cloud computing is a model for enabling ubiquitous, 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. This cloud model is composed of five essential characteristics, three service models, and four deployment models. http://www.nist.gov/customcf/get_pdf.cfm?pub_id=9 09616

From Cloud Computing Bible, Chapter 1.2

THE FIVE CLOUD CHARACTERISTICS On-demand self-service Broad network access Resource pooling Rapid elasticity Measured service

CLOUD DEPLOYMENT MODELS Private cloud Community cloud Public cloud Hybrid cloud

XaaS or <Something> as a Service Infrastructure as a Service: virtual machines, virtual storage, virtual infrastructure, and other hardware assets as resources that clients can provision. Platform as a Service: virtual machines, operating systems, applications, services, development frameworks, transactions, and control structures. Software as a Service: a complete operating environment with applications, management, and the user interface.

IaaS Amazon Elastic Compute Cloud (EC2)

Cloud Computing Bible, Chapter 1.2

PaaS Force.com Google AppEngine Windows Azure Platform

SaaS GoogleApps SalesForce.com Office 365

SaaS is different Software is binary code installed onto a computer SaaS delivers code and data over a browser

Why we love SaaS No installation or hardware worries Backups occur automatically People not co-located can work together with same data Large data sets easier to work with at one location No compatibility issues Upgrades are handled in the cloud Source: David Patterson, University of California Berkeley

THE BUSINESS OF CLOUD

Why Cloud Now? For those old timers, do you remember thin clients in the 1980s? What happened? Hard disks and memory became cheap Fueled the rise of the personal computer. Privacy advocates still warn against being locked into proprietary systems.* *http://www.guardian.co.uk/technology/2008/sep/29/cloud.computing. richard.stallman

THE PROCESS OF CLOUD

Source: David Patterson, University of California Berkeley

Cost of Fixing Software Bugs

Waterfall Lifecycle In this methodology, all requirement analysis, design, and architecture are done up front. This is often called BDUF (Big Documentation Up Front)

Iterative/ Agile In this methodology, requirements analysis, design, and architecture are done each iteration. A final system is complete after many iterations. Requirements, design, and architecture are added each iteration. This methodology is typically part of lean or agile software methodologies, like SCRUM.

What Agile Claims Cost of Change Time

Thoughts on Cloud and Agile The cost of change decreases when software applications are put in the cloud Architecture up front becomes more important because change must be seamless

SOFTWARE ARCHITECTURE IN THE CLOUD

Examples Make the hardware peripheral available to mobile users without installed a driver. In this case the services of the peripheral are offered up to cloud users. Allow a hardware peripheral to automatically order parts and supplies from the cloud when it needs them Have each peripheral send text data about the software. The software has been embedded with commands to write text out to files. Peripheral trends can be observed.

Big Data Solution: Hadoop Architecture Open source framework, originally developed at Google for writing and running distributed applications that process large amounts of data Runs on cluster of servers adaptable to cloud servers, which can automatically expand and contract as needed Code and data work together user pushes programs to where the data is Write functional programs to analyze unstructured data

#!/usr/bin/python import sys import re Example Hadoop Code def main(argv): line = sys.stdin.readline() pattern = re.compile("[a-za-z][a-za-z0-9]*") try: while line: for word in pattern.findall(line): print "LongValueSum:" + word.lower() + "\t" + "1" line = sys.stdin.readline() except "end of file": return None if name == " main ": main(sys.argv)

Software Architecture Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution. (IEEE 1471-2000)

Software Architecture A software architecture for a system is the structure or structures of the system, which comprise elements, their externally visible properties, and the relationships among them. Bass, L.; Clements, P.; & Kazman, R. Software Architecture in Practice, Second Edition, Boston, MA; Addision-Wesley, 2003

Cloud Software is architected to be Loosely Coupled services Encapsulated Strung together using Web Services or RESTful HTTP (https://en.wikipedia.org/wiki/representational_ state_transfer) calls Example: - Scan a file and deliver it to a web service that enhances the image, then deliver to a cloud storage facility.

Quality Attributes Quality attributes are properties of a software architecture by which stakeholders judge the quality of the architecture. Performances Security Modifiability Reliability Usability Availability Reusability Configurability Throughput Webifyability

What ilities are important in the Security Cloud? See http://www.wired.com/gadgetlab/2012/08/appleamazon-mat-honan-hacking/all/ Scalability Performance

What ilities are important? Traditional Reliability Configurability Usability Cloud Scalability Security Performance

Testing in the Cloud All major providers allow the ability to load test services Cloud testing products simplify the process even further by providing front ends to load test, functional test, and measure performance

Summary Priorities of ilities change when software architecture moves to the cloud Testing the ilities can be done by using cloud provider services such as load testing. Copyright Christine Miyachi 2013

About Me Principal Systems Engineer / Architect at Xerox Corporation MIT SDM graduate (entering class of 2000) Chair of the IEEE Computer Society Special Technical Community (STC) on Cloud Computing http://www.computer.org/cc - Please join us! Web site: http://home.comcast.net/~cmiyachi/default.html Blog on Software Architecture: http://abstractsoftware.blogspot.com/ - re-launching this month! Thanks to my teacher Robert Bell, UMASS Lowell Cloud Computing teacher