Beruflich Dokumente
Kultur Dokumente
Application Infrastructure
Persistence Management
What’s Underneath
Application Infrastructure
Persistence Management
Application Infrastructure
Persistence Management
What’s Underneath
Persistence Management
Gomez
> Was established as a prototype for
MUVES 3 architectural
enhancements.
> Now forms the basis of the
MUVES 3 service-oriented
architecture (SOA).
> Includes all of the non-sensitive
services used by MUVES 3.
> Is an open source project (LGPLv3).
What’s Underneath
Application Infrastructure
Persistence Management
MUVES 3 System Organization
MUVES 3 UI
• Executes analysis
Sim jobs.
Client Gateway
Persistence
Team collaboration
monitoring.
Result visualization
the community
updated frequently
MUVES 3 Execution
Client Gateway
Sim Pool
Sim Pool
Busy
Sim Pool
Persistence
MUVES 3 Execution
Client Gateway
Sim Pool
Submit job Select Sim Pool
Sim Pool
Busy
Sim Pool
Persistence
MUVES 3 Execution
Client Gateway Worker Worker Worker Worker
Sim Pool
Persistence
MUVES 3 Execution
Client Gateway Worker Worker Worker Worker
Sim Pool
Persistence
MUVES 3 Execution
Client Gateway Worker Worker Worker Worker
Submit job
Sim Pool
Store results
Visualize Results
Persistence
Dynamic Clustering
Service Interface
Service
Client Proxy
Service
Proxy
injection Service
Selection
Association Strategy Service Service
declaration injection
Rio
Service discovery
Available strategies:
• Fail-Over – Uses one service unless that service goes away.
• Round-Robin – Iterates over all discovered services.
• Utilization – Like round-robin, but ignores services that are
low on system resources.
The Persistence Meta-service
> Stores the results of analyses.
> Consists of four layers:
In-memory cache (distributed JavaSpace),
Swap, (Apache Active MQ)
Long-term storage (Apache Derby), and
Archive (Hibernate+Oracle).
> Layers are implemented using dynamic clustering.
> Supports data life-cycle management
Data storage is leased, and leases can expire.
When the cache fills, results are moved to swap.
> Must work for the next 20 years.
Cloud Computing
> Public Cloud:
Obvious national security issues
> Issues
Small number of computers available locally for testing.
Difficult coordination issues due to Army security policies.
> Approach
Test the MUVES 3 architecture (Gomez) on Amazon Elastic
Compute Cloud (EC2)
Cloud Adoption Challenges
> Getting approval :)
> Administrative burden
We don’t want to build AMIs or go through the time to provision an
deployment/orchestration.
Ideally, transparently switch from LAN-based deployment to the
cloud.
> We must preserve the dynamic distributed semantics architected in
the system:
Service selection strategies
> Run multiple concurrent test cases and roll up test results.
Cloud Adoption Approach
> Use Elastic Grid (EG)
Eases development and deployment of Java
applications into the Cloud
Provides automated management, fault
detection, and scalability for the application
Allows focus on development, not cloud
infrastructure
Elastic Grid Overview
> Cloud Management Fabric
Dynamically instantiate, monitor
& manage application
components
SLA policy driven with strategies
like service scalability,
relocation, fault detection &
recovery, etc.
5
Download Test
results and post
Deploy
process
Application
Monitors
Application Agents
Cloud Activation & Deployment
S3
Groovy
Client
Test Cluster
Test Cluster
Test Cluster
Extending Continuous Integration
> Automated build and test, both unit and integration tests
> Extend this to include Continuous Deployment
If CI passes, use Test Cloud Bursting to deploy, verify and
validate system
Deploy system
and run tests
Test
Runner
SVN
Repo.
37