resource adaptive systems

57
Resource Adaptive Systems 2015 © 1060 Research Ltd 2015 © 1060 Research Ltd

Upload: tom-mueck

Post on 07-Apr-2017

5.401 views

Category:

Software


0 download

TRANSCRIPT

Resource(Adaptive(

Systems

2015 © 1060 Research Ltd 2015 © 1060 Research Ltd

SUMMARY – IASA Israel (Hayim Makabee)

DARPA issued an announcement about building Resource Adaptive Software Systems this past April. More specifically "to build survivable, long-lived complex software systems that are robust to changes in the resources provided by their operational environment". The motivation behind this project has to do with the short shelf life of modern day software systems:

• orders of magnitude less than other engineering artifacts• strongly inversely correlated with the rate and magnitude of change• when changes do occur they lead to high software maintenance costs and premature obsolescence of

otherwise functionally sound systems

All of these factors greatly impact an enterprise architecture and every architect wishes there would be better technology around.

1060 Research Ltd was spun out of Hewlett Packard Labs where a team of researchers set an agenda to make software more–much more–adaptable to change and positively impact it maintenance costs. They eventually pioneered a new general computing abstraction named Resource-Oriented Computing (ROC) and developed the NetKernel platform. Aside from a cursory introduction into ROC we’ll discuss these areas of particular interest to architects

• Coupled, loosely coupled and decoupled systems• Resource-Oriented Architectures• Messaging• Risk surface / security

Case studies upon request.

DARPA’s(Announcement((April(2015)

• BRASS• Building+Resource+Adaptive+Software+Systems

• DARPA+net+>+Internet

DARPA’s(Pasteur(Quadrant

Pure%Basic+Research

Niels Bohr

Use(InspiredBasic+Research

Louis+Pasteur

AppliedResearch

Thomas+Edison

Fundamental+U

nderstanding

Practical+Applications

Types+of+Research

1. PURE

2. APPLIED

3. USE+INSPIRED

Stating(The(Problem

“Modern(day%software%systems,+even+those+that+presumably+function+correctly,+have+a+useful+and+effective+shelf%life%orders+of+magnitude+less+than+other+engineering+artifacts.

While+an+application's+lifetime+typically+cannot+be+predicted+with+any+degree+of+accuracy,+it+is+likely+to+be+strongly%inversely%correlated%with%the%rate%and%magnitude%of%change%of+the+ecosystem+in+which+it+executes.”

DARPA+April+2015

…(Setting(a(Solution(Agenda

“Build%software%systems%that%work%for%a%100%years”

…(specifically

• The+goal+of+BRASS+is+to realize%foundational%

advances in+the+design+and+implementation+of+

survivable,+longQlived+complex software%systems

that+are+robust%to%changes in the+resources+(logical+

or+physical)+provided+by+their+ecosystem.

https://www.fbo.gov/utils/view?id=8af18d5c0a0eda510274

74c3005c7660

App

ECO

Access

Access%Mechanism%manages+relationship+

app+– ecoQsys

( APIs( Foreign%Interfaces( complex%model%definitions( ad%hoc%data%formats

ECO%SYSTEM

Clients

System++Components

Libraries

Middleware

Managed+Services

Protocols

Models

Drivers

Other%ResourcesBrowsers

Data+Bases

Storage+Systems+

Outside%World

SYSTEM

Mechanism

URI

ECO

RESTful

Access%Mechanism%manages+relationship+

app+– ecoQsys

APIsForeign%Interfacescomplex%model%definitionsad%hoc%data%formats

ECO%SYSTEM

Clients

System++Components

Libraries

Middleware

Managed+Services

Protocols

Models

Drivers

Other%ResourcesBrowsers

Data+Bases

Storage+Systems+

Outside%World

SYSTEM

&%Active

URI

URIURI

URI

URI

RESOURCE(ORIENTED%COMPUTING

Source(of(all(trouble

• Access%mechanism%between+an+application+and+it’s+operating+environment

• Today+applications+are+services• Access%mechanism%of+a+service+is+it’s+service+description

Architecture

Monolith((preFSOA)(– tight(coupling

SOA(– looser(coupling(– Traditional(SOA

MicroServices – deFcoupled

Interface(Math((Access(Mechanism)

Monolith+ =+4 SOA+=+6 MicroServices =+10+

Changes(=(Composite(Services

Monolith+ =+4 SOA+=+6 Microservices+=+10+

Best+data+base+schema,+world+moves+on,+new+requirement+

! use+a+view+of+a+data+base+

! Composites+ (composite+assembly+of+existing+parts)

Example(Tyro(Payment(Corp.

http://www.grahamlea.com/2015/03/microservicesQtyroQevolutionQpresentation/

18%Services

Service+Size

2,500%LoC250,000%LoC

Services(in(ResourceFOriented(Computing

• ROC+Generalizes+Web+Abstraction

• Passive+and%active uniform+resources,+representational+state,+multiQspace,+multiQdata+types…

• Resource%Engine• Kernel+Architecture+w/+roots+in+REST+and+UNIX• UNIX,+Everything+is+a+file• ROC,+Everything+is+a+resource• Res:/

Boot NetKernelRequest Space Endpoint

Cache

Layer0 .

NetKernel Foundation API

HDS / URI

ClassLoaders

Module / Boot Support

Grammars

Classic ModuleStandard Module

HTTP Server

HTTP C

lient

Lang Python

Lang JavaScript

Lang Groovy

Lang Ruby

Lang DPM

L 2.0

Lang XRL

Lang Freemarker

Res M

odel XML

Res M

odel System

Res M

odel RD

BM

S

Res M

odel Layer 1

Res M

odel Wikk

XUnit Test

Introspect Tools

Documentation SystemKernel+Architecture

28+MB+download

Service+

Infrastructure+/+

Uniform+Resource+

Engine

Scales%up%and%out%through%load%balancing

Sample(3(Tier(Architecture

Emergent(

Architecture

Application

Resource+

EcoQSystem

Environment

ROC(Motivation

Shelf(Life(– Complexity(&(

Economics

Complexity+Ceiling

Change'is'Too'Expensive

Change

Complexity

Web– Complexity(&(Economics

No+Complexity+Ceiling

Change'is'In1Expensive

Change

Complexity

TakeFaway(for(architects

ROC(Platform

Services(in(ResourceFOriented(Computing

Web:%Logical%takes%priority%over%physical

• First%order:+URL,+URI+logical+resource+identifiers

• Second%order:+physical+endpoint+implementation

• Web+is+a+Resource+Oriented+Architecture

• To+get+the+Web’s+properties+we+need+to+step+away+from+

Endpoints+and+understand+Resources…+

Web(

Abstraction

ROC(Abstraction

• Put+the+Web+Inside+Software

• New+General+Computing+Abstraction

• Basic+Concepts+remain+the+same

• Resources• Identifiers• Address+Spaces• Resolution• Endpoint• Representation

Web(Abstraction(for(any(kind(of(computation

• Everything is+a+resource

• Information,+code+and+results+of+computations

• Unique+identifiers

• Resources+are+not+only+passive+but+active%( IETF%draft

• Logical%has%priority%over%physical%(request%– resolution)

• Explicit+multiQspace+architectures+

• Many+more+data+types

ROC(abstraction

Examples(of(Active(URI((byte(level(tricks)

• res:/hello.txt (inside+the+system)+

Hello+there!

• active:toUpper+operand@res:/hello.txt

HELLO+THERE!+

• http://www.google.com+(pulled+into+system!)

Examples(of(Active(URI((byte(level(tricks)

• active:xslt+operator@res:/transform.xsl+operand

@res:/data.xml

• active:xslt+operator@res:/transform.xsl+operand

@http://resources.1060research.com/data.xml

Examples(of(Functional(Active(URI

• active:xslt+operator@res:/transform.xsl

+operand@

active:xslt

operator@res:/select(green.xsloperand@res:/data.xml

• res:/greenbox

Architecture(Components

• Resources• Services+(Applications)• MetaQInformation

• Spaces• Operational+Context• Trusted• Secure• Performance

Basic(Patterns:(Import,(Language(

Runtime

Pattern(for(Security

Delegation(to(a(trusted(Notary(for(

nonFRepudiation(of(Transaction

NOT%SO%SIMPLE%ACCESS%MECHANISM

Delegation(to(a(trusted(Notary(for(

nonFRepudiation(of(Transaction

Transaction(Log

SIMPLE%ACCESS%MECHANISM

Delegation(to(a(trusted(Notary(for(

nonFRepudiation(of(Transaction

Minimize%Risk%Surface

Minimal(Risk(Surface

• 8+interactions+→+2

• Surface+area+of+attack+is+1+single+constrained+point+(minimized+– cannot+be+smaller)

• Trust+delegated+from+B+to+Notary+within+unique+oneQtime+“envelope+of+trust”+(provable+and+measurable)+

• NonQblocking+logical+architecture+– tear+down/bring+up+and+it+carries+on

• Total+time+for+roundQtrip+20ms+(12ms+PKI+sign+alone!)

…(Software(Program(vs(SYSTEM

• …+system+of+endpoints+• (micro)service+infrastructure

• …+systemic+memoization+=+capture+system+state

• …+systemQwide+optimization+of+caching+resources

• …+system+wide+patterns+of+spatial+architectures

• …+systemQwide+realQtime+logging+

• …+systemQwide+performance+tuning

• …+system+wide+separation:+physical+vs+logical+layer

• …+system+loadQbalances+over+multiQcore+

Resource(Efficiency(– Caching(–

Systemic(Memoization

What+if+you+cache+everything

Cache+in+every+direction+simultaneously

Live%state%distribution

Caching(@(MicroFlevel(

Request(Trace(Tool

Individual(Request(Analysis

ROC(Performance

• 2Qcomputation

• Resolution

• Execution

• Performance+must+suffer

• NO,+performance+improves!

• Load+balances+inside++Q linear+scaling+multiQcore

Scalability

Resource(AdaptiveDiscovery+and+Aggregation+Pattern

APP(+(its(Ecosystem

Operating+

Environment

Application

Physical'Compute'Resources

Changing+ExternalitiesQ New+Requirements

Q Policy+Mandates

Q Security,+Confidentiality

URI

URI

URI

Dynamic(Import

Adaptive(Configurations

• Introduce+new+functions• Software

• Declare+an+import+in+the+location+where+we+want+to+access+it

• Statically+declared

• ROC+/+NetKernel• Dynamically+configured

• Dynamic+Configuration+itself+Dynamically+Configured

• Both%Bottom%Up%and%Top%Down

More(Reading…

https://www.evernote.com/l/AQYmfUrg

1ANA0KZSNxMvdZ3t0_t6pwwu7Ac

www.1060research.com

[email protected]