"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Choosing the Right Infrastructure Provider
1. CHOOSING THE
RIGHT
INFRASTRUCTURE
PROVIDER
Telemachus Luu, CTO @
NephoScale
2. Team NephoScale
Hosting industry veterans each averaging:
10+ years of hosting experience
8 years of virtualization & cloud
infrastructure experience
3. What we do
Make infrastructure easy to deploy and easy
to manage for Developers and DevOPs folks
NephoScale
4. Evolution of Hosting to IaaS
30,000 hosting companies in the world
500 Infrastructure-as-a-Service
Only a handful deserve your business!
6. 1st iteration
Hosting company
Running around
like monkeys
racking, cabling,
powering servers
Human error #1 factor of faulty installs and
downtime for customers
7. 1st iteration – lessons
Automate as much as you can and put
control in the hands of the customer
8. 2nd iteration
Virtualization was born
Access to a pool of
resources that could be
provisioned faster
Servers still provisioned manually
Centralized SAN based disk infrastructure
resulted in downtime for 100% of customers
9. 2nd iteration - lessons
Focus on isolation failure so that downtime
doesn’t impact all customers
Automate as much as you can and put
control in the hands of the customer
10. 3rd iteration
Web-based front-end technologies were
used to give customers some control
But there was still no automation for
customers!
11. 3rd iteration - lessons
Automate as much as you can and put
control in the hands of the customer…
Graphical interface, API, and build language
12. 4th iteration
Today, @ NephoScale, we’ve built a cloud
infrastructure service that is being used by
hundreds of startups
One that is easy to use, provides complete
automation, and gives complete control to
our customers
13. 4th iteration - lessons
We’ve certainly learned many lessons in the
last 3 years of building NephoScale
We’re an agile shop and we rapidly iterate,
test, and release code just like you
Our ears are always open!
14. Characteristics of a Good
IaaS Provider
Self-service – I don’t want to deal w/ anyone.
On-demand – I need it now!
Usage-based – Did they just charge me for a
year in advance?
Automated – I’m a developer, I’m agile, I like
rapid but my provider is still a monkey?
Elastic – I can go up but I can’t down?
Scalable – Wait, I can’t be the next Instagram?
15. Control over Software Stack?
Does my cloud provider have complete
control over their IP? or….
Do I have to wait 3
months to get a bug
fixed or feature
request completed?
20. Programmatic Control
Agility and rapid delivery
Complete control
Treat infrastructure as code
Just like the way you treat software
21. RESTful API
Create, destroy, and manipulate resources
Client bindings in the language of your
choice
22. Cloud Build Languages
NephoScale CloudScript, Amazon
CloudFormation, Linode StackScripts
One-click setup of infrastructure and
application environments
Predictability and repeatability
23. Software Dev Environments
Development, Stage, Pre-production, and
Production
DevOPs and scripting environments for
documenting release changes across all
environments
24. Scaling Your Applications
It’s not just about adding more servers
It’s not just about scaling up and scaling out,
It’s about proper planning
Support for configuration management tools
like Puppet and Chef
26. Performance - Servers
You wouldn’t use a
screwdriver to
pound on a nail
So make sure your provider has the right
selection of server types for different aspects
of your stack
27. Performance - Networking
Driving a Porsche Turbo in a single lane
highway during rush hour is no faster than in
a Ford Pinto
So make sure your
provider has built a
multi-lane Autobahn
28. Hi-Touch Support
Human element
Onboarding & ongoing support
From inception until you become the next
Instagram!