january 29, 2003 2003 tsunami research, inc. presented to cooug february 11, 2003 hive computing a...

38
January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Upload: alison-angelina-stewart

Post on 18-Jan-2018

214 views

Category:

Documents


0 download

DESCRIPTION

Definition HIVE COMPUTING A revolutionary approach to the development, deployment, and management of applications that involves enabling large numbers of dedicated, commodity computers to join together and form a mission critical computing environment called a Hive

TRANSCRIPT

Page 1: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

January 29, 20032003 Tsunami Research, Inc.

Presented to COOUG

February 11, 2003

Hive ComputingA New Vision for

Mission Critical Applications

Page 2: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Agenda

• Definition• Executive Summary• Our History• The Problem• The Five Pillars• Benefits• Demo• The Technology• eXtreme Programming

Page 3: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Definition

HIVE COMPUTING

A revolutionary approach to thedevelopment, deployment, and management

of applicationsthat involves enabling

large numbers of dedicated, commodity computersto join together and form

a mission critical computing environmentcalled a Hive

Page 4: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Executive Summary

The goal of Hive Computing isto make reliability affordable

Page 5: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

In Essence

CommodityComputers

High PerformanceLow Price

Page 6: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

In Essence

CommodityComputers

High PerformanceLow Price

Super-computing

Performance- Scalability

BeowulfUnlimited Scale

QlustersPlatform Computing

United DevicesEntropia

Data Synapse

Linux ClustersDistributed Supercomputers

Page 7: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

In Essence

MissionCritical

Computing

Tsunami Research

Hive Computing

Affordability- Adaptability- Maintainability- Usability

Reliability- Scalability- Availability- Predictability

+

CommodityComputers

High PerformanceLow Price

Super-computing

Performance- Scalability

BeowulfUnlimited Scale

QlustersPlatform Computing

United DevicesEntropia

Data Synapse

Linux ClustersDistributed Supercomputers

Page 8: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

• Significant transaction processing experience• Core team previously founded PaylinX Corporation• Leading real-time enterprise payment processing solution• PaylinX sold to CyberSource in 2000 for $130+ million• Unfinished business…

– Scalability– Reliability– Complexity– Cost

Our History

Page 9: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

The Problem

MainframesFault

TolerantComputers

ApplicationServers

LinuxClusters

DistributedSupercomputers Hive

Reliability

Scalability

Availability

Predictability

Affordability

Adaptability

Maintainability

Usability HP/Tandem

StratusBEAIBM

BeowulfQlusters

Unlimited Scale

United DevicesData Synapse

Entropia

Existing solutions force organizations to make trade-offs

IBMUnisysFujitsu

Page 10: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Why Can’t Solutions…

• Scale without limits?• Be immune to failure?• Guarantee the job will get done?• Keep up with a changing world?• Maintain themselves?• Be easy to use and develop for?

Page 11: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Old Problems Result From Old Assumptions

• TCP/IP• Not a better centralized or decentralized network• The core assumption…

– Networks are unreliable

• Design implications– The network could not have any centralized authority– Messages would be divided up into equally-sized, independently-routed packets– The system should be easy to expand by adding additional, inexpensive resources

Page 12: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

New Assumptions Create New Possibilities

• The application is the only thing that matters• Self-organizing• Hardware and operating system layers relatively unimportant

• Computers will fail• Self-healing• Failure happens, deal with it

• Computers are disposable• Self-maintaining• Inexpensive• Make it very easy to add and remove hardware• Dedicate hardware to simplify solution & improve results

Page 13: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Application Fabric

Application

Operating SystemCommodity

Hardware

Allows you to leverage commodity hardwareand inexpensive operating systems

(e.g. Windows 2000 and XP, FreeBSD, Linux)

Hive

Page 14: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Hive Computing

Application

Hive

CommodityComputer

CommodityComputer

CommodityComputer

CommodityComputer

CommodityComputer

CommodityComputer

Delivers scalability and reliability without the cost

Page 15: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

The Five Pillars of Hive Computing• Collective Intelligence

- The intelligence of a Hive resides in every member- Peer-to-peer- Bottom-up, not top-down- Role-based

• Commodity Components– PC-grade computers and blade servers

• Assimilation– The Hive automatically brings new Workers on line

• Self-Monitoring– The Hive monitors and recovers all Tasks

• Self-Maintaining– The Hive maintains own configuration

Page 16: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Benefits

• Reliability :: A Hive has no reason to ever go down– Scalability

• A Hive can scale in small increments and in a near-linear manner– Availability

• No single point of failure– Predictability

• The job gets done in a specified period of time

• Affordability :: Low acquisition, maintenance, & development costs– Adaptability

• A Hive can easily adapt to changing conditions– Maintainability

• Dramatically reduced administration and maintenance costs– Usability

• Developers can focus on the application

Page 17: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Hive Architecture

Logical, not Physical

Page 18: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Sample ArchitectureClient Client Client ClientClient Client Client Client Client

Presentation Layer

Business Logic Layer

Hive

Application Server

Access ControlAuthenticationPage Rendering

DatabaseHigh Value OperationsHigh Volume Operations

Page 19: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Sample Architecture

Hive

HiveSystem

System

Client

Client

Client

Enterprise ApplicationsWeb Services

Page 20: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Sample Architecture

Hive Hive

ResourcePool

Client

Grid

ResourcePool

Page 21: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Demo

• Collective Intelligence• Load balancing and fail-over• Fault tolerance• Scalability

Page 22: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Request/Response Loop

Client

Hive Mind

requestresponse

task taskresult

taskresult

task

WorkerMachine A

WorkerMachine B

WorkerMachine C

WorkerMachine

WorkerMachine

Page 23: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Security

• SSL encryption between Workers and the Hive• Authentication required to access Operations, Process Flows, and

Tasks• Additional layers of security planned or in the works

Page 24: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Terminology

• Hive• Worker• Package• Application• Operation• Process Flow• Task

Hive     Worker     Worker     Worker          Package               Application                    Operation                    Operation               Application                    Operation                    Operation                    Operation                         Process Flow                         Task

Page 25: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Operation• A brokerage firm might perform the following Operations in a Hive... 

– GetRealtimeQuoteForCUSIP – GetDelayedQuoteForCUSIP – GetChartForCUSIP – CalculateCurrentPortfolioValue

• A credit card company might perform the following Operations in a Hive...– PerformAuthorization – PerformFraudCheck – CaptureTransaction

• A mortgage company might perform the following Operations in a Hive...– GetScoreForApplication – CalculateMonthlyPayment – CalculateEscrow

• A security application might perform the following Operations in a Hive...– AnalyzeFingerprint – AnalyzeFace– AuthenticateUser

Page 26: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Worker

Page 27: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Process Flow

Page 28: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Task• An atomic function to be performed by the Hive (e.g. a syntax check

or database lookup)• A Task can be written in C/C++ or Java• A Task can optionally implement OnStartup and OnShutdown

functions to initialize memory and or the environment

Page 29: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Task Examplevoid makeStringUppercase(TASK_HANDLE request){

string data = task_getAttribute( request, "argument" );data = ToUpper(data);task_setAttribute( request, "argument", data );task_setResult( request, "COMPLETE" );

}

• All data passes into the task through the TASK_HANDLE data structure• Hive Developer’s task code reads arguments from the TASK_HANDLE object• The task performs operations as necessary • Any data updates are made to the TASK_HANDLE object

Page 30: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Limited Tasks

• Some tasks should not run on every machine such as connections to limited resources

• These tasks can be ‘limited’ by the Hive to run on either X total machines or Y percentage of machines

Page 31: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Rollbacks• Application level rollbacks are handled via compensating tasks

within the process flow• Only the application developer is aware of how to “undo” any of the

atomic actions that have been completed• The Hive’s process flow allows the application developer to catch

errors generated by the task and send the transaction to a task to undo any actions within the process flow

Page 32: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Databases and a Hive• Hive Developers should leverage existing database solutions for

data storage• Database connection code can be written as tasks for the Hive to

manage• If one machine with a database connection goes down, the Hive can

bring another connection up

Page 33: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Hive API

• The Hive is accessed through thin client side API’s written in C/C++ or Java in Windows or UNIX

• Client API addresses the Hive as a whole, not a single machine• Client API can use SSL connections when communicating with the

Hive

Page 34: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

API ExampleHAPI_PROCESS process;process = hapi_createProcess();

hapi_setAttribute( process, "aString", "ABCDEF");long rc = hapi_executeProcess( process,

"integration_test_app", "CaseProcess", "224.0.0.1", 31000, HAPI_NO_ENCRYPTION );

string resultString = hapi_getAttribute( process, "aString" );string processResult =hapi_getProcessResult( process );

hapi_destroyProcess( process );

Page 35: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Deploying Hive Applications

• Hivepkg bundles process flows, tasks, and support files and provides syntax checking before deployment

• Hivectl deploys applications to a Hive• Applications can be deployed to a running Hive• The Hive gracefully updates a subset of workers while the majority of the

workers continue processing transactions

Page 36: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

eXtreme Programming

• Test-Driven Development– Automated build process– Each build is subjected to 3,000+ unit tests– Extremely tight code

• Paired Programming• The Planning Game

Page 37: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

Suitable Applications

• Transaction-Oriented applications– Request/Response loop

• Financial Services & Insurance– Credit Card Processors– Trading Systems– Financial and process modeling

• Homeland Security, Government, & Defense– Applications where scalability, reliability, & survivability are important

• Biotechnology & Life Sciences– Bioinformatics– In-silico drug discovery

Page 38: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications

For More Information

Chris O’Leary314.336.2841 – [email protected]

Don Mang314.336.2840 – [email protected]

www.tsunamiresearch.com