So many clouds - 7 things to consider when choosing your IaaS provider
So many clouds
7 things to consider when choosing your
Sirris IaaS breakfast 2014/02/11
By Frederik Denkens
● help companies figure out cloud for their web
applications (choosing the right cloud, architecture,
● design, build and manage platforms in the cloud
● are your DevOps partner that integrates with your
Small disclaimer ...
We are an AWS Consulting Partner
But are not married to them
We work with various suppliers (Linode, AWS, …)
It all depends on customer requirements
The safe choice?
● The saying used to be: “nobody ever got fired for
● Maybe today it should be: “nobody ever got fired for
buying Amazon Web Services”
● All the cool kids are doing it, why not us?
Or maybe not?
● It seems this Belgian start-up didn’t have a good
business case for AWS. (though I’m not sure if going
for a private cloud was the best choice for them)
● Many other examples of people learning that there is
much to be considered.
So … how to choose?
● It’s a holistic decision, taking ALL business angels into
● Considering both today and tomorrow
● In other words, it’s a business decision!
● Impossible to give you a one size fits all, but let me
give you some things to think about.
Make an inventory
● Inventorise your workloads
● See what they need in terms of scalability, flexibility,
availability, security, async/sync, etc
➔ Allows you to do an initial matching to the
offering of each provider
➔ Required homework for the next steps
Your software delivery process
● Waterfall vs Full Continuous Deployment
● The further you go, the more Infrastructure as code
● But also poses more automation challenges
➔ Will allow you to know how important the IaaSproviders’ automation possibilities (API’s, etc) are
How is your software architected?
● Does it depend on underlying layers
(infra/os/storage) to handle challenges around
scalability, availability and security?
Go with an IaaS provider who also solves these
issues for you and gives you a strong SLA. (Probably at
a higher cost, more complexity and less flexibility.)
How is your software architected?
● or at the other of the spectrum: is it a true cloud
design? (designed for failure, loosely coupled, built
for scale, …)
Go with an IaaS provider who provides you all the
necessary blocks to control your own destiny
(Probably at a lower cost, less complexity and more flexibility.)
How much wheels (are you inventing?)
● Seek out workloads in your application that can be
considered ‘commodities’ (messaging, queuing, etc)
● Don’t reinvent the wheel
● Potential benefits: no maintenance, faster time-tomarket, better built, higher QoS
● (Risk of lock-in: business decision, not emotional)
➔ Consider the richness of services each IaaS
provider offers (and how far they move up in the
Compliance and regulation
● We have a customer (bank in NL), they say: “no US
owned company” because of Patriot Act vs personal
data handling/privacy liability
● Think about compliancy on data location
● What standards do your customers care about (HIPAA,
ISO 27001, PCI, etc)?
➔ Might be a reason to go for an EU or regional
➔ Consider their certifications
Where are your customers?
● Latency is still a reality
● Can have a major impact on the usability of your
● IaaS is great, gives you access to the world
● But make sure your provider has locations close to
where your customers are.
➔ Check out your providers coverage and network
Cost model and control
● It’s a complex topic, a presentation by itself
● AWS (highly variable, flexible) vs ‘classic’ outsourced,
typical model (fixed, inflexible)
● But don’t worry … it’s manageable and predictable by
continuous measurement and evaluation
● If you do it right, you can save a lot of money
➔ In any case: it’s very important that you
understand the cost structure of the chosen
provider and link it to your own cost-model.
It’s a voyage
● Know where you are today and where you want to be
tomorrow > make a roadmap
● Include: development process, application
architecture, what IaaS/cloud benefits will you take
up first, business requirements, etc
● Start with an application that's well suited to cloud
● Or get your feet wet with non-critical stuff like your
● Go step-by-step as enabled by true IaaS
It’s a mindset
● Enjoying benefits of IaaS to the maximum requires a
● Start educating/forming yourself and your team
● Build/evolve your processes and way of working with
what you learn
● Get inspired by looking into DevOps / Infrastructure
as code / Continuous delivery / Cloud centric design /
lean principles / etc
● Unlike the choice of blue/red pill, with IaaS you can
and will have to evolve all the time
● Everything evolves the whole time: the world, your
market, your business, your knowledge, etc
● Reevalute regularly
● Maybe even go multi-provider? Perfectly possible
● Fear of lock-in: these days the worst kind of lock-in
is contractual lock-in.
The main benefit of IaaS, agility
● Main benefit of IaaS is the agility. It is what enables
the cost benefits, scalability benefits, etc
● If your organisation cannot match that agility, it can
become a nightmare (and then you start reading the
posts “why we went back to our own hardware” …)
● and vice versa: make sure your provider has the
same level of agility as you have.
Contact us if you want help in making the