resource adaptive systems
Post on 07-Apr-2017
5.401 Views
Preview:
TRANSCRIPT
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
…(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
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
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…+
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
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
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
ROC(Performance
• 2Qcomputation
• Resolution
• Execution
• Performance+must+suffer
• NO,+performance+improves!
• Load+balances+inside++Q linear+scaling+multiQcore
APP(+(its(Ecosystem
Operating+
Environment
Application
Physical'Compute'Resources
Changing+ExternalitiesQ New+Requirements
Q Policy+Mandates
Q Security,+Confidentiality
URI
URI
URI
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
info@1060research.com
top related