Scaling the revenue

How development best practices impact our business

Created by Piotr Podsiadly

Why bother with best practices?

We set industry standards others should follow!

Getting features for free

  • geographic distribution
  • automated peak load scaling
  • pay for what you use ($0)
  • availability
  • performance
  • tools

Changes to computer thinking

Stephen Fry explains cloud computing

What can we do?

Design your apps so that they COULD run in the cloud.

Java Web Application Hosting

in the cloud

  • Heroku
  • OpenShift
  • Jelastic
  • G App Engine
  • Cloud Foundry
  • cloud of clouds

BUT BUT BUT

We have existing deal with other hardware vendor and NO ONE can provide same services.

Correct

Other vendors can provide other services.

What else can we do?

Reduce the cost of changing vendor

Make first revolutionary step

Accept existence of the Internet.

Scenario to consider

Integration based on HTTP WS, but working only when physical servers are in the same room. Loosely coupled?

Coupled wires

Project details

  • Fixed date, fixed scope, 1/2 developer
  • Requirements: has to work as it used to but through WS
  • Legendary quality

GO!


SpagUtil.findFlightNumbers(query) -> https://ttm.sabre.com/flights?filter=q
SpagUtil.flightDetails(number)    -> https://ttm.sabre.com/flights/lh4234
						

n+1 anti-pattern, MOS read timeouts, throttling

Chill out, take a deep breath

Relaxed animal

Web service should serve its purpose over the Web.

Minimize RTT since it can be on the other side of the world

Internet based infrastructure supports moving pieces between cloud vendors.

Think about the future

One day your application may need to be moved somewhere else

  • CMO
  • FSE
  • FSE Gen2
  • VM
  • [...]
  • Private cloud
  • Public cloud
  • Cloud of clouds

You are not alone

Best practices come with aid - follow standards.

Animal aid

Decouple anything nonstandard: native/OS calls, JNI

I have fat client architecture T.T

fat client

Is there a hope for those who deny existence of the Internet?

Question everything

Think outside the box.

  • What functionalities could be exposed over the web?
  • What functionalities would be used on mobile devices?
  • Are there any hardware/CPU intensive operations?


Ask intern/new hire to implement it.

JS processing power

Modern browsers compete in performance.

Maybe 1 gigaFLOPS is enough for client side computing and rest can be done on server side.

Current megaFLOPS=

Summary

Forward-thinking modern web technology lets us leverage industry best practices and hosting platforms so that we can focus development on innovation and noticeable by customer differentiators.

About presentation

  • This presentation was made in HTML W3C compliant
  • can run in a cloud
  • can survive DB, FS outage
  • Runs on mobile devices and lynx

mind blown
For some it is mind blowing,
for others yet another day of work. reveal.js

THE END

BY Piotr Podsiadly

Piotr Podsiadly