Wednesday, December 2, 2015

Next Generation Enterprise Application Architecture

New generation applications are architectured not only with the goal of desiging the application functionally and performing stable but also focuses on different aspects that are becoming critical

Scalability – Elastic scalability for all the layers of the application including data tier

Fault Tolerance - Ability to handle failure smartly and avoid cascading failures from and to dependent systems

High Availability – Ability to have application highly available on all layers including database even on data center failures

Efficient utilization of Infrastructure - Ability to scale up and down on demand

Faster access to underlying data on high load and data volumes

Ability to handle different data formats efficiently

Few reasons that are tied to this evolution are the need and benefits towards cloud adoption ( could be either private or public cloud ) and the need to handle huge data volume with faster response on the data tiers

Benefits Solutions
Physical -> IaaS -> PaaS

Elastic Scalability

High Availability

Efficient Infrastructure utilization

Zero downtime deployment

VMWare , Open Stack – Private Cloud IaaS

AWS, Azure – Public Cloud IaaS , PaaS

Cloud Foundry – PaaS on private and public cloud

Circuit Breaker

Fault Tolerance

Better failure handling

Avoid avalanche failures

Netflix Hystrix

Polly

Service Registry

Registry for dynamic instance scaling

Netflix Eureka

Apache Zookeeper

Intelligent Load balancing

Intelligent Load Balancing utilizing the elastic scaling and self-discovery

Netflix Ribbon

F5

Nginix

Search

Quick search needs from huge data sets, full text search, pattern matching

Elastic Search

Solr

Data Grid

Faster read write data, Reduce read / write overhead to database, high availability to data

Coherance

Gemfire

Membase

Queue

Reliable data transfer across different data layers

Kafka

RabbitMQ

JMS

NoSQL

Big data – database needs

Heavy Read / Write on high data volumes

Faster response needs on the data

High Availability on data

Fault Tolerance on data

Distributed database

Scalable database

Couchbase

MongoDB

HBase

Cassandra

Graph DB ( Titan, OrientDB )

Hadoop

Distributed file processing and storage ecosystem

High speed batch (MapReduce) / real time ( Storm, Spark ) processing

Different Hadoop distributions like Hortonworks, CloudEra,MapR

No comments:

Post a Comment