Extending On-Premise Applications to the cloud
Andrew Still
Technical Director
Intechnica: Digital Performance
• develop complex, business critical bespoke online systems
• engineer performance into existing systems and
• develop processes and approaches to manage performance effectively
Intechnica helps companies to:
Intechnica: Digital Performance
Cloud pedigree:
Cloud based tool for
creating on-demand
cloud testing
environments
Cloud based tool for
generating load for
performance tests
Run North West AWS
User Group
The Problem
Andy!
I want a mobile app!!!
I want it now!
I want it to be brilliant!!
But I don’t want it to interfere
with any of my current
systems in any way!!
OK!!
I’ll get straight on it!!
Well..... How am
I going to do
that then?
What’s the application?
Tight integration with
other key internal
systems
Large datasets and
legacy data structures
Umbraco CMS
integration
Oracle Database
.net 4 web forms
application
£1.5 bn transactions per
yearB2B Order Capture
System
Current System
Why AWS?
Why not just build this on the
current system?
Longer term ambition to
open areas of the system
to additional 3rd party uses
Separation from core,
business critical systems
Platform Stressed at
peak times
We’ll need to introduce an API on
this system and a whole new
platform for mobile...
Like This
How will the caching datastore
work?
I’ll just fire up an
RDS Oracle instance
and sync the data
That seems a bit old style....
All data arriving in Json
from API, shall we store
it in that format
Must be focussed on
fast data retrieval
All data will be read
only, why the relational
overhead?
Can’t we build this on a
smaller footprint
That’s a lot of data to
sync
Those are heavy queries
on the current system
What else does AWS have to offer?
Sql
ServerS3
MySql
RDS
Simple
DB
Elasti
Cache
Dynamo
DB
Oracle
RDS
What is needed?
Multiple dataset sizes
- very large - >65mb
- very small - <100kb
Fast data retrieval
Must proactively cache,
shouldn’t be triggered
by end user.
Must be persistent and
survive EC2 machine
crash
No one size fits all....
.... But this is the cloud so it doesn’t
need to.....
Proactive Caching?
Scheduler? On AWS?
If only I could just
use an Azure Worker
role...
... wait a
minute... I
can!
A hybrid cloud!!!
Now just need to share business
logic across standard and mobile
systems...
At least that
will be easy.
Thanks to
Dependency
Injection
Now where shall I store mobile
application data?
Let’s use
DynamoDB
Why?
It’s new, I
want to play
with it.
And if the client asks?
Intechnica: Chose DynamoDb for Mobile app storage
Why
 Quick and easy to implement
 Very small chunks of data to store
 No issue around data integrity – don’t need full relational structure
 No complex querying required
Finished Solution
Web: www.intechnica.co.uk
Email: andy.still@intechnica.co.uk
Twitter: @andy_still / @intechnica
Blog: http://blog.intechnica.co.uk/author/andyintechnica/
Tel: 0845 6809679
Address: Fourways House, 57 Hilton Street, Manchester, M1 2EJ

Extending on premise applications to the cloud