Tuesday, August 30, 2016

PaaS


"Application infrastructure functionality, enriched with cloud characteristics and offered as a service,
is platform as a service (PaaS). Gartner refers to it more precisely as cloud application infrastructure services."

"Application platform as a service (aPaaS) is a form of PaaS that provides a platform to
support application development, deployment and execution in the cloud."

Pure PaaS players
  • Pivotal Cloud Foundry.
  • Red Hat OpenShift.
  • Aprendaa.
  • Heroku.
  • Engine Yard.
IaaS hybrid players
  • Google?
  • Microsoft Azure Cloud Services?
  • Amazon AWS
  • ...
SaaS hybrids players
  • Salesforce
  • ...

PaaS frameworks
  • Pivotal Cloud Foundry.
  • Red Hat OpenShift.
  • Apache Stratos.
Related software
  • OpenStack
  • Docker
  • Kubernetes
  • Chef

References


Friday, August 26, 2016

Functional programming

  • Why:
    • General sateless tendency: cloud & scaling
    • No locks (multi-thread)
    • Easy reading
    • Easy testing
    • JavaScript boom?
  • How: 
    • Pure functions (no side-effects)
    • Immutability
    • Composition (not inheritance)
    • Deferred execution
    • Currying
    •  ...
  • Related: funcional reactive programming.

Why functional programming matters:
https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf

FP Languages
Hybrid Languages
  • Scala (JVM)
  • F#

Monday, August 22, 2016

Nginx reverse proxy

proxy_pas without path:

location /some/path/ {
   proxy_pass http://new.domain;
}
http://orig.domain/some/path/x --> http://new.domain/some/path/x

proxy_pas case insensitive:

location ~* /some/path/ {
   proxy_pass http://new.domain;
}

Wednesday, August 3, 2016

Multiple browser windows applications

Basic Techniques:
  • HTML5 postMessage: provides inter-windows message based communication.
  • HTML5 local storage: provides a shared storage for all the windows. Windows can be notified of local storage updates through events so this technique can also be used as a postMessage replacement.
  • Direct JS: to be tested. ¿limitations?.
childWin = openWindow();
childWin.anyFunction();

Auxiliary techniques
  • HTML5 Webworkers.
  • Angular app bootstraping tweaks.
Referenes:

Immutables on JavaScript & TypeScript