Monday, May 4, 2015

Implementing SOA on AWS



Implementing SOA on AWS
by  Maksim Kozyarchuk




History of SOA and SOA in the Cloud

   It is a common design pattern to offload processing of business tasks away from the user interface.  This design pattern is at the core of many modern applications and has many benefits including:
  1. Improved responsiveness of user interfaces( web, mobile or desktop)
  2. Decoupling of presentation and business logic layers, allowing specialization and improving code reuse
  3. Ability to effectively scale applications and gracefully handle bursts in user activity

   A number of technologies has been developed to support this design pattern under the name of Service Oriented Architectures. The first and most prominent was Java’s J2EE and ESB stacks.  Within the Python ecosystem, Celery with (RabitMQ or Redis) as transport has is a fairly robust and popular implementation of this design pattern.

  Technologies such as VMWare and Docker make it possible to run SOA implementation on the cloud with little architectural change.   However, current generation of cloud computing solutions led by AWS include SOA toolkit as part of their managed offering and it’s worth looking at how they may compare to self managed SOA deployments.   In this article, I will walk through setup of Elastic Beanstalk Worker Tier environment and discuss how to used it as the backbone of the Service Oriented Architecture in the Cloud.


Components of EB Worker Tier

Elastic Beanstalk’s Worker Tier builds on top of Elastic Beanstalk model for deployment, load balancing, scaling and health monitoring.   It adds a daemon process that runs within each EB instance.  That daemon process pulls requests off a preconfigured SQS queue and sends them as HTTP POST request to a local URL.  This simple add-on to the EB stack effectively allows an SOA platform that supports:
  1. Rolling upgrades of the underlying software enables A/B testing and zero downtime
  2. Automatic scaling and load balancing of the workers
  3. Configurable health monitoring of the application
  4. Use of HTTP as invocation method makes the platform largely technology agnostic

Furthermore, EB Worker Tier also supports dead letter queue allowing for troubleshooting and replay of failed messages.

Recent addition of scheduling capabilities into the EB Worker Tier, adds a powerful capability of adding seamless automation of simple repetitive tasks without any additional infrastructure.


Implementing EB Worker Tier

Implementation of Elastic Beanstalk’s Worker Tier is straightforward and is well documented here.  The only component that was not clearly documented were needed permissions.  To get the right permissions, I ended up adding AmazonSQSFullAccess  and CloudWatchFullAccess policies to the   aws-elasticbeanstalk-ec2-role role used to run my Worker Tier components.
   

Final thoughts  

Cloud service providers have done a great job to accommodate existing SOA platforms in the cloud.  However, when considering a move to the cloud, it is worthwhile to look at new technologies that cloud providers bring.  They will likely help you solve many of the long functionality gaps within your SOA platform.  Another exciting technology emerging in the AWS stack in Lambda which further abstracts the SOA platform.  However Lambda is still fairly new and limiting, supporting only Node.js based deployment.



4 comments:

sharan said...

I would definitely thank the admin of this blog for sharing this information with us. Waiting for more updates from this blog admin.

Microsoft Windows Azure Training | Online Course | Certification in chennai | Microsoft Windows Azure Training | Online Course | Certification in bangalore | Microsoft Windows Azure Training | Online Course | Certification in hyderabad | Microsoft Windows Azure Training | Online Course | Certification in pune

jahanzaib33 said...

I cant getting serious on focusing long agreeable to investigate; parts less make this bronzed out of article. Youve eclipsed your self as quick as this material truely. it's miles conceivably of the best blissful. Wifi Hack Online

Links For You said...

Funny Cousin Quotes · Your cousin is the brother God knew your mother could not handle. · The craziness of your family is best understood by your cousins.. Frequently, Missing Cousins Quotes

Rana Jahanzaib said...

Scripting is one of the law of attraction exercises used for manifesting your dreams. The-Law-Of-Attraction-Secripting