slide1
Download
Skip this Video
Download Presentation
Auto-scaling Axis2 Web Services on Amazon EC2 By Afkham Azeez

Loading in 2 Seconds...

play fullscreen
1 / 43

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


  • 85 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Auto-scaling Axis2 Web Services on Amazon EC2 By Afkham Azeez' - cambree-jones


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
slide1

Auto-scaling Axis2 Web Services

on

Amazon EC2

By

Afkham Azeez

slide2
The Problem

A Solution

Some Concepts

Design & Implementation Details

Overview

slide3
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

slide4
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

slide5
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

slide6
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

slide7
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

slide8
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

slide9
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 cloud3
Deploying a Service on the Cloud

Service is available now

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

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

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 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

ad