Cloud Computing and Architecture Architectural Tactics (Tonight’s guest star: Availability)

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Performance Testing - Kanwalpreet Singh.
DAIMI(c) Henrik Bærbak Christensen1 Software Architecture Quality Attributes.
Software Rejuvenation: Analysis, Module and Applications Yennun Huang Chandra Kintala Nick Kolettis N. Dudley Fulton Chris L. Del Checcolo.
Quality Attributes Or, what’s wrong with this: Exterminator kit – place bug on block, strike with mallet.
Lecture 13 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
1/17 Non Functional Requirements by: Dr. Timothy Korson CPIS 443.
Software Engineering Lecture 2 ASPI8-4 Anders P. Ravn, Feb
Instructor: Tasneem Darwish
1 Steve Chenoweth Tuesday, 10/04/11 Week 5, Day 2 Right – Typical tool for reading out error codes logged by your car’s computer, to help analyze its problems.
1 CSSE 377 – Intro to Availability & Reliability Part 2 Steve Chenoweth Tuesday, 9/13/11 Week 2, Day 2 Right – Pictorial view of how to achieve high availability.
Evaluating Software Architectures RiSE’s Seminars Clement’s book :: Chapters 05 Eduardo Cruz.
DAIMIHenrik Bærbak Christensen1 What is Software Quality?
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
Principles of Software Architecture Evaluation and Design
Evaluating Architectures Quality control: rarely fun, but always necessary
Non-functional requirements
ATIF MEHMOOD MALIK KASHIF SIDDIQUE Improving dependability of Cloud Computing with Fault Tolerance and High Availability.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Achieving Qualities 1 Võ Đình Hiếu. Contents Architecture tactics Availability tactics Security tactics Modifiability tactics 2.
1 Computer Systems & Architecture Lesson 2 3. Understanding Quality Attributes.
Quality Attributes Often know as “–ilities” …
Chapter 2: Non functional Attributes.  It infrastructure provides services to applications  Many of these services can be defined as functions such.
Module 7: Fundamentals of Administering Windows Server 2008.
Quality Attribute -continued. What is Availability? Availability refers to a property of software that it is there and ready to carry out its task when.
Other Quality Attributes Other Important Quality attributes Variability: a special form of modifiability. The ability of a system and its supporting artifacts.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Achieving Qualities © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
1 Software Architecture in Practice Quality attributes.
Business Data Communications, Fourth Edition Chapter 11: Network Management.
Software System Architecture Software System Architecture Chapter 6:Air Traffic Control: A Case Study in Designing for High Availability. Chapter 6:Air.
Early Availability Requirements Modeling using Use Case Maps KAMARUL ZAMAN BIN PANATIK MAN
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Cloud Interoperability & Standards. Scalability and Fault Tolerance Fault tolerance is the property that enables a system to continue operating properly.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
1 Software Architecture in Practice Quality attributes (The amputated version)
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Software Architecture Quality Attributes. Good or Bad? Measurable criterions required...
1 Software Architecture in Practice Architectural Design (Again, the amputated version)
Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen Quality Attributes & Tactics (1)
Software Architecture in Practice Architectural Decision Exercise.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
Software Architecture in Practice Architectural Prototyping.
Lecture 04 Availability Topics Chapter 5 – Availability June 2, 2016 CSCE 742 Software Architectures.
Chapter 5: Availability © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
Cloud Computing and Architecuture
Chapter 4: Understanding Quality Attributes
Software Architecture in Practice
John D. McGregor Session 9 Testing Vocabulary
Software Architecture in Practice
CSCE 742 Software Architectures
Fault Tolerance & Reliability CDA 5140 Spring 2006
Maximum Availability Architecture Enterprise Technology Centre.
Chapter 19: Architecture, Implementation, and Testing
Software Architecture Quality Attributes
John D. McGregor Session 9 Testing Vocabulary
Lecture 4 – Quality Attributes
John D. McGregor Session 9 Testing Vocabulary
Quality Attributes Or, what’s wrong with this:
Fault Tolerance Distributed Web-based Systems
Quality Attributes Or, what’s wrong with this:
Progression of Test Categories
Software System Testing
Software Engineering and Architecture
Quality Attributes Or, what’s wrong with this:
Presentation transcript:

Cloud Computing and Architecture Architectural Tactics (Tonight’s guest star: Availability)

Quality framework (Bass et al.) Central quality attributes –Availability –Interoperability –Modifiability –Performance –Security –Testability –Usability Other qualities –Portability –Scalability –Variability –Flexibility –Cost –Time to market –… Strongly recommended reading!

A Writing Template 3  Source of stimulus. This is some entity (a human, a computer system, or any other actuator) that generated the stimulus.  Stimulus. The stimulus is a condition that needs to be considered when it arrives at a system.  Environment. The stimulus occurs within certain conditions. The system may be in an overload condition or may be running when the stimulus occurs, or some other condition may be true.  Artifact. Some artifact is stimulated. This may be the whole system or some pieces of it.  Response. The response is the activity undertaken after the arrival of the stimulus.  Response measure. When the response occurs, it should be measurable in some fashion so that the requirement can be tested.

Example: World of Warcraft Bærbak Christensen4

Example: SkyCave Quality attributeAvailability SourceInternal to the system StimuliA crash ArtifactDatabase server EnvironmentNormal operation ResponseDetects events, record it in log, continues in normal operation Response MeasureWithin 3 seconds Bærbak Christensen5 Quality attributePerformance Source1000 independent clients StimuliGenerate on average 2 character events per second ArtifactSkyCave App server EnvironmentNormal operation ResponseEvents are processed, cave state is updated Response MeasureWith maximal 5 seconds latency

Tactic –A design decision that influences the achievement of a quality attribute response Example of modifiability tactic: –Encapsulate: Introduce explicit interface to module Bærbak Christensen6

CloudArch Core Focus Discussion If a system is not available, what is the point of all other QAs? Security ? – Equals slowness  Bærbak Christensen7 System quality attributes –Availability –Modifiability –Performance –Security –Testability –Usability –Interoperability –Scalability

Availability Bærbak Christensen8

Definition(s) Availability (1): Property of software that it is there and ready to carry out its task when you need it to be Availability (2): Ability of a system to mask or repair faults such that the cumulative service outage period does not exceed a required value over a specified time interval Bærbak Christensen9 Nygard Stability (resilience, longevity): Ability to keep processing for a long time even when there are transient impulses, persistent stresses, or component failures

Measurements MTBF: Mean time between failure MTTR: Mean time to repair But often we talk in percentages! –99%3d 15h downtime per year –99,9%8h 1m –99,99%52m –99,9999%32 seconds (!) Bærbak Christensen10

Tactics Lots of techs! Bærbak Christensen11

Tactics Categories –Fault detection –Recovery Preparation+Repair Reintroduction –Prevention Bærbak Christensen12

Detection Ping-echo MonitorNagios – Zabbix - … Exceptions –Time out Bærbak Christensen13

Recover: Prep and Repair Active redundancyHot standby –All receive and process all events Millisecond failover Passive redundancyWarm standby –Master-slave Minute failover SpareCold standby –”I think we have an extra machine in the cellar” Bærbak Christensen14

Recover: Prep and Repair Exceptions Rollback –Used in DB and [exercise: where else?] –Check pointing Retry Degradation Bærbak Christensen15 Which Nygard patterns?

Recover: Reintroduction Shadow –Run in shadow mode until ‘up-to-speed’ State Resync –Typical DB behaviour Cold slaves must catch up with primary –EcoSense db war storyStale DB Bærbak Christensen16

Preventing Removal from service –‘scrubbing’ –Use to be that Tomcat server would respawn every 12 hours Easiest way to fix the numerous memory leaks! Transactions –ACID guaranties Bærbak Christensen17

Summary All things bad can and will happen to real systems having real users operating in the real world! You systems should strive for high availability and graceful degradation –If you want to keep your customers! The architectural tool box is big! Bærbak Christensen18