Distributed Applications with Grails and AKKA

985 views
766 views

Published on

In recent years, Software Development processes and implementations has seen huge shift. Especially with evolution of Cloud, we are seeing lots of software are now available as services (SaaS) and the trend shows that this is the direction, at least for the near future.
 
The traditional approach of Software Architecture was based on dedicated installations for a customer and the components of software were packaged as single unit. When the load on a particular component increased, the complete packaged unit needed to be scaled-up. This leads to wastage of resources.

In SaaS, and especially over the cloud, it is very important that we utilize the resources optimally. We must ensure that Architecture of the software is such that we are not just able to scale at component/service level, but the resources allocated to a component/service are consumed optimally. In the discussion, we will talk about how to leverage AKKA with Grails to achieve the desired architecture.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
985
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Distributed Applications with Grails and AKKA

  1. 1. Distributed Applications with Grails and AKKA
  2. 2. Speaker Introduction •Kaushik Khanna •10+ years of experience. •Quark, Hewitt, Xerox, hCentive, •Email : Kaushik at Bluepi.in
  3. 3. Agenda…
  4. 4. •In recent years, Software Development processes and implementations has seen huge shift. Especially with evolution of Cloud, we are seeing lots of software are now available as services (SaaS) and the trend shows that this is the direction, at least for the near future. •The traditional approach of Software Architecture was based on dedicated installations for a customer and the components of software were packaged as single unit. When the load on a particular component increased, the complete packaged unit needed to be scaled-up. This leads to wastage of resources. •In SaaS, and especially over the cloud, it is very important that we utilize the resources optimally. We must ensure that Architecture of the software is such that we are not just able to scale at component/service level, but the resources allocated to a component/service are consumed optimally. In the discussion, we will talk about how to leverage AKKA with Grails to achieve the desired architecture.
  5. 5. Traditional Approach
  6. 6. Grails Approach
  7. 7. Distributed Approach with Grails
  8. 8. Deployment
  9. 9. Actor System
  10. 10. Fundamentals Actors are very lightweight concurrent entities. Actors process messages asynchronously using an event-driven receive loop. Actor is a computational entity that, in response to a message received, can concurrently: - send a finite number of messages to other actors; - create a finite number of new actors; - designate the behavior to be used for the next message it receives.
  11. 11. Locality •Actors are location transparent and distributable by design. •Actor system can be configured at time of deployment. •Actor can send messages to addresses.
  12. 12. Management •Actors form a tree with actors being parents to the actors they've created. •The Parent actor is responsible for handling its children’s.
  13. 13. AKKA
  14. 14. AKKA •Akka is java implementation of Actor System. http://akka.io •Asynchronous and Distributed by design. •High-level abstractions like Actors, Futures. •Remote and/or local supervisor hierarchies for Actors. •High on Performance.
  15. 15. Grails Integration •Plugin : http://grails.org/plugin/akka •Repository: http://repo.typesafe.com/typesafe/releases/
  16. 16. Thank You

×