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