NZCS Cloud Computing Presentation

Preview:

DESCRIPTION

An appraisal of options available for IT professionals embarking upon cloud application or infrastructure development.

Citation preview

cloud computinga post hype appraisal

by Abhinav Keswani

Who am I?

Indian born global citizen with personal and professional ties with numerous cultures and countries.

Some broad titles?• System Engineer• Software Developer• Architect• Consultant

REMEMBER THIS?

How about this?

Why am I so hooked?

My focus is to build robust applications so... 

Should I concern myself with

• non-functional requirements like security and performance when I can buy this reliably and cheaply?

Should I just assume security for my code and users (and everything in between)?

Should I concern myself with

• repetitively building apps with similar data models and functions?

Most businesses have similar problems and needs.  As a development manager, can I not buy into the 80/20 starting point?

Should I concern myself with

• scalability and the fact that I may never really know how much resource my application will need?

Should I just write some code, throw it at the cloud and assume that all will be well if I just keep adding more resources?

Beyond the hype then ... 

What makes a successful/useful cloud application?

• Quality code that is stress tested to ensure it uses minimal resource ... (but who ever has time and money to do this)?

• Distributed development. Get the best people into a virtual team, use distributed source code control and iteratively deploy to a cloud infrastructure.

• Change the way you think.  Just ... forget ... about infrastructure.

You've gotta be kidding me ... who does he think he is?!

Forget about infrastructure...???

The SalesForce.com CRM + Force.com

• a pre-built and powerful starting point• ISO 27001 and SysTrust Audit certified security• enforces quality - minimum requirement of 75%

code coverage prior to going live• no need for infrastructure• extensible and customisable• out of the box API for integration, so you can

incrementally go there...• get your data out any time you want to leave• regular and seamless feature releases and

upgrades

The Google App Engine

• it's all about HTTP• there is just one BIG TABLE• everything is FREE ... until you breach a threshold• nothing in your app runs for longer than 30

seconds, 0.5 second warning and then death• the more traffic you generate the more power you

get• multiple layers of performance enhancement

(memcache)• no application is larger than 150M• you break the rules you get the boot

Heroku

• Want to build a prototype, real fast?• Want to get a distributed team together to build it?• Want to deploy it without worrying about

infrastructure?• Want it to scale if things start going well?• Want to be able to move onto something else at

any point in time?

I still don't buy it ... what about the infrastructure??

What about the apps I run in-house and for which I buy more resource every X years...?

Amazon EC2, EBS and S3

• Elastic ... how? resizable...• Elastic data persistence? Elastic Block Storage.• Elastic locations? Geographically distributed!• Storage ... what? 15c per GB? 0.01c per 1000

requests?• API driven infrastructure? Light goes on...light

goes off...• Snapshot backups, cloning and redeployment• Diverse software and OS options

...finally...extend your existing infrastructure into a virtual private cloud.

Rackspace

• More conventional• Easy to build, deploy and back up your

infrastructure• Cheap but not the cheapest• Managed hosting• Managed services (Email, Storage...)• Virtual private clouds for internal IT ...

In a nutshell

There are mature and maturing options out there.

A lot of hurdles have been met and surpassed.

Make no assumptions and definitely be diligent and do the maths - will it work for you?

Not all solutions work the same way - they each have a flavour, strengths and weaknesses.  

Choose wisely.

Thanks! Questions...

Recommended