This document outlines work on connecting the PaaSSOA framework to AWS services. It discusses the current state of PaaSSOA, the aim of connecting it to a real IaaS like AWS, challenges around scalability, logging and monitoring, and the AWS architecture implemented. Future prospects include improving reasoning strategies, developing other IaaS connectors, adding orchestration capabilities, and federating with heterogeneous IaaS.
2. About me
● MSc Student @ UniPD, currently involved in my MSc
thesis
● 3 years of experience with engineering and developing
java-based web apps
● 1 year of experience with AWS technology
2/11
3. Outline
● The current state of PaaSSOA
○ Can we do better? Where?
● AWS PaaSSOA Connector (or something more?)
○ The aim of my work
○ Scalability challenges
○ AWS Architecture
○ Logging and user monitor challenges
● Future prospects
Outline - The current state - AWS Connector 0/6 - Future prospects 3/11
4. The current state of
PaaSSOA
IaaS Stub
SaaS Stub
PaaSSOA
Central (Manager,
Registry, Monitor)
SOABoot
S S S
SOABoot
S S S
...
<push events>
<start> <stop>
<deploy> ...
Action Iface Logger Iface
Rule engine
Web
monitor
Browser
Outline - The current state - AWS Connector 0/6 - Future prospects 4/11
5. The aim of my work
● Testing PaaSSOA on a real IaaS
○ How can we imagine a real agnostic PaaS?
○ Can a PaaS tier create tangible value in the SPI
stack?
● Can the PaaSSOA concept and technology stack
reside on a real-world IaaS such as AWS?
○ Scalability (and elasticity) should be our best friends
from the beginning!
○ Many interesting open engineering challenges
Outline - The current state - AWS Connector 1/6 - Future prospects 5/11
6. AWS PaaSSOA Connector
PaaSSOA Central Main Monitor Service
SOABoot
JavaService
IaaS Iface
JavaService JavaService
IaaS Iface IaaS Iface
IaaSConnector
● How have we built this connector?
○ A small Java service for every component that
talks with the AWS APIs
● Is it enough?
○ Pubsub (AWS SNS), Queues (AWS SQS), ….
Outline - The current state - AWS Connector 2/6 - Future prospects 6/11
7. Scalability challenges
Central
SOABoot
S S S
SOABoot
S S S
<publish events>
Action Iface
Rule engine
P
u
b
/
S
u
b
Queue
<<push>>
<<pull>>
PaaSSOA
● Not only push model but
also strict decoupling
○ PubSub Broker (IaaS)
● Prod/Cons work with
different frequency
○ Queue? (IaaS)
● Publish all events?
○ Policies and
mechanisms to control
event production
Outline - The current state - AWS Connector 3/6 - Future prospects 7/11
8. AWS Architecture
AWS VPC
SOABoot VM
S
Central
VM
SOABoot VM
S
SOABoot VM
S
AWS
ELB
Requests Gen
VM
Requests Gen
VM
public endpoint
private subnet
A
W
S
S
N
S
● Env boundaries
○ Private subnet AWS
VPC
● Communication
○ AWS SNS
○ AWS SQS
● Load balancing
○ AWS ELB
○ (2-levels dispaching)
Outline - The current state - AWS Connector 4/6 - Future prospects 8/11
9. Logging and user monitor
challenges (1/2)
● Different consumer have different needs
○ For reasoning we need a fresh and preaggregated stream
○ For logging we need a continuous stream
● Bottlenecks assured with centralization
○ Local solutions are the right way!
○ Eventual local preaggregation of events
○ Every VM and service writes logs directly in a scalable service
● The user monitor can become a dashboard
○ Control of IaaS and SaaS layer at the same time
○ Full push architecture -> real-time charts and tables
Outline - The current state - AWS Connector 5/6 - Future prospects 9/11
10. Logging and user monitor
challenges (2/2)
SOABoot
S S S
SOABoot
S S S
...
<<push>>
+
socket.io
<<push>>
<<write>>
● MongoDB as log DB
○ Very fast
○ Scalable with sharding
○ Tailable cursor
● Monitor backend with Node.
js
○ Very fast
○ Full async architecture
○ Client push with Socket.
io
Outline - The current state - AWS Connector 6/6 - Future prospects 10/11
11. Future prospects
● Better reasoning strategies
○ With a decoupled system we can use different
reasoning components
○ Cost-based reasoning
● Develop other IaaS Connectors
○ OpenStack
● Orchestration capabilities
○ Add dashboard functionalities
● Federation with other different PaaS layer
○ With different and heterogeneous IaaS
Outline - The current state - AWS Connector 6/6 - Future prospects 11/11