4. ... and why should YOU care?
"The Tao that can be spoken is not
the eternal Tao" Lao Zi
Loose coupling
Single Responsibility Principle
Separation of Concerns
Open Closed principle
Cloud Programming, Distributed and Parallel Systems
5. Point of view is worth 80 IQ points?
In Roman time you had to be very smart
to multiply two numbers together.
7. Cloud computing exposes bad practices
Isn't any different than traditional development.
● less tolerant of poor development
practices
● attention to scalability and security
● don't relay on improving hardware
● no security through obscurity
!
8. Insights: Programming for the cloud
Money !?
● Programming (new APIs, complexity)
● Automation in deployment, configuration
● New Type of Programmer: Dev-Op
● Scalability (efficient use of hardware)
● High availability (install/updates, failures)
● Data consistency
9. Insights: Programming in cloud
Multitenancy
● PaaS
● iPaaS
● ...aaS
● Sharing and SLAs
● Security
10. Cloud for normal budgets
● use quality open sources:
○ Redis, ZooKeeper, Message Queues
○ Hadoop, NoSQL Databases, etc
○ openstack, cloudfoundry
● node.js!
● Java,.net, php ?
● Amazon, Azure, Google ?
17. Points of view
(Naive) messaging /Actors/ Erlang:
Nodes are sending typed messages to each other
Implicit: Flows are in programmer's minds
Application logic mixed in all nodes
Nodes are reacting to messages
Swarming:
Simpler code in nodes(APIs)
Explicit: Flows are described in files
Messages are flowing between nodes
Messages are causing changes in nodes
21. SwarmESB for you?
Familiarity!
Java Script + node.js
Vertical and horizontal scalability
Architect your new distributed system
Consume heterogeneous services (APIs)
Easy integration for future components
Parallel usage of your shiny, new CPU cores
Elegant programming with asynchronous messages
22. More coolness
● multitenant global (redis) contexts
● multitenant local (node) contexts
● local sub-processes
● swarm code redeployment without restart
Swarming can be for SOA's orchestration
what REST is for SOAP!
25. Load balancer example
WorkerManagment swarm
● Ctors:
○ register [worker at start]
○ unregister [worker at shutdown]
○ checkWorkerStatus [Balancer from time to time]
● Phases:
○ doRegister [Balancer]
○ doUnegister [Balancer]
○ statusCheck [worker]
○ statusReport [Balancer]
26. Keywords
SOA (Orchestration and choreography)
EAI (Enterprise Integration Patterns)
ESB (Enterprise Service Bus)
Events and Asynchronous Messages
PaaS ( Platform as a Service)
iPaaS (Cloud Integration)