Auto-scaling Axis2 Web Services
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

Auto-scaling Axis2 Web Services on Amazon EC2 By Afkham Azeez PowerPoint PPT Presentation


  • 47 Views
  • Uploaded on
  • Presentation posted in: General

Auto-scaling Axis2 Web Services on Amazon EC2 By Afkham Azeez. The Problem A Solution Some Concepts Design & Implementation Details. Overview. Fault tolerance, high availability & scalability are essential prerequisites for any enterprise application deployment

Download Presentation

Auto-scaling Axis2 Web Services on Amazon EC2 By Afkham Azeez

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Auto scaling axis2 web services on amazon ec2 by afkham azeez

Auto-scaling Axis2 Web Services

on

Amazon EC2

By

Afkham Azeez


Auto scaling axis2 web services on amazon ec2 by afkham azeez

The Problem

A Solution

Some Concepts

Design & Implementation Details

Overview


Auto scaling axis2 web services on amazon ec2 by afkham azeez

Fault tolerance, high availability & scalability are essential prerequisites for any enterprise application deployment

One of the major concerns is avoiding single points of failure

There is a high cost associated with achieving high availability & scalability.

The Problem


Auto scaling axis2 web services on amazon ec2 by afkham azeez

Traditional solution

Buying safety-net capacity

Better solution

Scale-up the system when the load increases

Scale-down the system when the load decreases

Should not have idling nodes

Virtualization

Pay only for the actual computing power & bandwidth utilized

Solutions


Auto scaling axis2 web services on amazon ec2 by afkham azeez

Building a framework which will auto-scale the number of Axis2 nodes on Amazon EC2, depending on the load

This is a PoC Project

Project Objective


Auto scaling axis2 web services on amazon ec2 by afkham azeez

Amazon EC2 provides resizable compute capacity in the cloud

Provides a simple Web service interface & tooling that allows one to obtain and configure capacity with ease & to build failure resilient applications

Amazon EC2


Auto scaling axis2 web services on amazon ec2 by afkham azeez

Axis2 is a middleware platform which enables hosting of Web service applications and supports some of the major Web services standards

Can host Web services written in Java as well as various scripting languages

Can be deployed in a clustered configuration

Uses Apache Tribes for clustering

Axis2 clustering can be adopted to work on EC2

Apache Axis2


Auto scaling axis2 web services on amazon ec2 by afkham azeez

Apache Synapse is designed to be a simple, lightweight and high performance ESB

Supports load balancing with or without failover

Supports static & dynamic load balancing

Uses Apache Axis2

Apache Synapse


Auto scaling axis2 web services on amazon ec2 by afkham azeez

A messaging framework with group communication abilities

Allows you to send and receive messages over a network, it also allows for dynamic discovery of other nodes in the network.

Used by Apache Tomcat & Apache Axis2

Apache Tribes


Deploying a service on the cloud

Deploying a Service on the Cloud

AMI Instances


Deploying a service on the cloud1

Deploying a Service on the Cloud


Deploying a service on the cloud2

Deploying a Service on the Cloud


Deploying a service on the cloud3

Deploying a Service on the Cloud

Service is available now


Auto scaling

Auto-scaling


Auto scaling1

Auto-scaling

Load Increases


Auto scaling2

Auto-scaling

Startup new instances


Auto scaling3

Auto-scaling

New instances join group


Auto scaling4

Auto-scaling

Load Decreases


Auto scaling5

Auto-scaling

Terminate instances


Auto scaling6

Auto-scaling

Terminate instances


Deployment architecture

Deployment Architecture


Membership aware dynamic load balancing 1 2

Membership Aware Dynamic Load Balancing (1/2)‏


Membership aware dynamic load balancing 2 2

Membership Aware Dynamic Load Balancing (2/2)‏


Membership schemes

Membership Schemes

Static

Dynamic

Hybrid (WKA based)‏


Wka based membership 1 3

WKA Based Membership (1/3)‏

Application member joins. The load balancer is also a well-known member


Wka based membership 2 3

WKA Based Membership (2/3)‏

A non-WK load balancer joins


Wka based membership 3 3

WKA Based Membership (3/3)‏

A well-known load balancer rejoins after crashing


Membership channel architecture

Membership Channel Architecture


Initialization channel architecture

Initialization Channel Architecture


Synapse configuration axis2 xml

Synapse Configuration - axis2.xml


Synapse configuration synapse xml

Synapse Configuration - synapse.xml


Synapse configuration

Synapse Configuration

AutoscaleInMediator

AutoscaleOutMediator

Autoscale Task


Synapse configuration1

Synapse Configuration

Normal Flow

IN

From client

To Axis2

AutoscaleInMediator

SendMediator

DynamicLoadbalanceEndpoint

LoadAnalyzer

Task

To EC2 WS

Invoke

Get length

EC2 Client

MessageID List

OUT

To client

From Axis2

SendMediator

AutoscaleOutMediator

Synapse


Synapse configuration2

Synapse Configuration

Fault Flow

IN

From

client

To

Axis2

AutoscaleInMediator

SendMediator

DynamicLoadbalanceEndpoint

LoadAnalyzer

Task

Get length

Invoke

To EC2 WS

EC2 Client

MessageID List

ErrorHandler

From Axis2

To

client

SendMediator

MakeFaultMediator

AutoscaleOutMediator

Synapse


Synapse autoscale task

Synapse Autoscale Task


Axis2 configuration axis2 xml

Axis2 Configuration - axis2.xml


Synapse autoscale task1

Synapse Autoscale Task

Sanity Check

Autoscaling

Scale up

Scale down


Implementation details

Implementation Details

Single AMI – autoscalews

Start

ec2-run-instances ami-a03fdbc9 -k autoscale -f payload.zip -g autoscale-lb

Payload

Extract params from payload

Env variables

Axis2 & Synapse Configuration files & Repositories

Maintained on S3

Fault Tolerance

Monitoring cron job

Java Service Wrapper daemons

Future: Use monit

Future: Axis2/Synapse agent to check process status


Implementation details1

Implementation Details

Start

Start

Start

Load configuration

Start

Initial Instance

LB Group

Axis2 App Group

synapse.xml

S3 Bucket


Implementation details2

Implementation Details

Load repo

Repo

Axis2 Instance

Conf

Load configuration

S3 Bucket


Todo rightscale comparison google app engine comparison eucalyptus appscale perf figures

TODO

RightScale comparison

Google App Engine comparison

Eucalyptus AppScale

Perf figures


Questions suggestions improvements

Questions

Suggestions

Improvements


Thank you

Thank You


  • Login