openstack summit

59
http://developer.rackspace.com [email protected] [email protected] Focusing on Developer Experience OpenStack Summit, Atlanta 2014 Jesse Noller @jessenoller Everett Toews @everett_toews

Upload: jessenoller

Post on 28-Jan-2015

112 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Focusing on Developer Experience

OpenStack Summit, Atlanta 2014 !

Jesse Noller @jessenoller Everett Toews @everett_toews

Page 2: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

The problem.

So, I’m here with Everett to have an honest, opinionated and frank discussion.

Page 3: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

We’re approaching over thirty “clients” on git.

Yup, we’re closing in on close to 30 clients in the git repos - these are the clients you need to install and use as a developer for communicating with a fully feature openstack cloud. Think about that. This is just one symptom of a larger problem.

Page 4: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Why in gods name are we in a quagmire that’s spreading?

Page 5: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

It’s a definition & audience problem.

When I say “developers” who are you thinking of?

Page 6: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

“Users and developers" to the openstack community are people building clouds. You can see this at this conference as most of the people and audience have an "Ops" mindset or are actively contributing/building clouds. Johnathon called it out - 600+ operators here.

Page 7: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Cloud builders selling clouds to cloud builders.

I’m serious.

Page 8: Openstack summit

Inception.

This. Is. Inception. We’re 10 levels deep here folks

Page 9: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Time to reset.

Time to reset some terminology.

Page 10: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

OpenStack Developers

First: OpenStack Developers are those building the cloud operating system known as OpenStack

Page 11: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Application Developers

Second: Application Developers are the rest of the world of developers trying to write applications on “the cloud” Sometimes the two are mixed, but these are the ones ignored

Page 12: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

What made Amazon a technology giant in 8 years?

Second: Application Developers is the rest of the world of developers trying to write applications on “the cloud” Sometimes the two are mixed, but these are the ones ignored

Page 13: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Application Developers

The problem is we largely ignore them - not through malice, but through the evolution of the project: "We want to build a cloud OS", naturally attracts people wanting to build a cloud, then run the cloud. Its OPs all the way down.

Page 14: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Vendors Too

It’s not just openstack; most of the vendors in our community ignore them as well because we’re all in the middle of a fundamental disruption in the market. What was true 10 years ago isn’t anymore.

Page 15: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

What makes a platform?

But what makes a platform? What fundamentally drives the adoption cycle & makes a cloud are the developers who consume it and build applications that through their value and audience showcase the underlying platform and technology.

Page 16: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Application Developers writing things on your platform.

Software is eating the world & Application developers are the new kingmakers if you haven’t already read the research by Redmonk and others - the market data backs this. Application developers are the key drivers of technology adoption today; from enterprise to startups, garages and more.

Page 17: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

What do I need to write an application on an OpenStack cloud?

What do I need to write an application on an openstack cloud, in the programming language of my choice without having to build my own network effect, ecosystem and abstraction. Namely, Everything. We’re consistently failing the key audience we need to care about our platform

Page 18: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Developer Experience (DX)

Let’s talk about Developer Experience

Page 19: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

developer experience is inspired by the User Experience practice. It sees developers as a special case of overall users. It is the practice of understanding how developers get their work done and optimizing for that.

Page 20: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

– Pamela Fox

“The sum of all interactions and events both positive and negative, between a developer

and a library, tool or API.”

This quote from Pamela Fox really brings it home for me. “The sum of all interactions and events both positive and negative, between a developer and a library, tool or API.”

Page 21: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

But why focus?

But why focus?

Page 22: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Again: You need the group on the right!

Page 23: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Network Effects.

Network effects are imperative to the growth of a platform. It is the net effect that one user of a good or service has on the value of that product to other people. The better the experience? The more promoters and adopters

Page 24: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Network effects help build ecosystems.

The army of promoters; swayed by their peers help build the ecosystem. Example: AWS: because of the network effect & ecosystem behind AWS, we hear the constant refrain and pressure of cloning their APIs just so we can piggy back on the existing community of developers and tools!

Page 25: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Network effects + rich or rapidly growing ecosystems build innovative usage; innovative usage feeds the system. This is the virtuous cycle of promoters creating things on your platform!

Page 26: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Page 27: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Examples

Great Examples

Page 28: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Twilio Everything you need in one click.

Look at twilio’s page - one click, you’re here. From the home page! Developers are the key to their market and they know it

Page 29: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Stripe Getting Started, Reference Examples

And another: Stripe. It’s IaaS (or, Money as a Service) - again, Developers are critical; one click, great reference examples.

Page 30: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Mailgun Who, What, How, examples!

mailgun - another one. Mail as a service. Its value, what it is, why it is, right. there.

Page 31: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Great (App) developer portals answer:

• Do I want to use it? (Features? Stable?)

• How do I sign up? (Low friction/cost/barrier?)

• How do I get started? (Not. DevStack.)

• How do I use it? (Downloads for my language/env)

• How do I get help? (Dev. Docs, Forums, Email - Peers!)

Do I want to use it? How do I sign up? How do I get started? How do I use it? How do I get help? Making things simple, intuitive, engaging and showing developers how to be successful & enjoy building something using the platform is imperative.

Page 32: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

- Troy Toman, or Chewbacca, not sure.

“Every investment we make in (OpenStack) usability brings dividends to the entire

community through these network effects.”

I wasn’t sure of it was Troy or Chewbacca who said this “Every investment we make in (OpenStack) usability brings dividends to the entire community through these network effects.”

Page 33: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

What can we do today?

We need to stand up within the community and the development of openstack itself to advocate for those using openstack to build applications if we want to succeed.

Page 34: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

• Dean Troyer’s Client Tools Program

• http://bit.ly/clienttools

• Python-OpenStackSDK

• http://bit.ly/pyosSDK

• The OpenStack UX Team

• More Application Builder focused documentation

Join Dean Troyer’s client tools program: contribute. The unified python SDK aims to be the common back end and eventually deprecate those 30+ clients. The UX team; help build app developer focused documentation.

Page 35: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

SDKs for developers in other languages

.Net, PHP, Python, Ruby, Perl, Java, Go!

Page 36: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Adaption to common industry standard DevOps tools (vagrant) and more!

We need to link in and adapt to *existing* open source and standard tools for development, devops and deployment. Stop reinventing the wheel.

Page 37: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

a few bad things to do (that have been done)

Page 38: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Things like changing APIs between versions can be disastrous for adoption.

Don’t do this without a long, communicated deprecation period. Conservatism can be a virtue of large open source projects. Keep core solid

Page 39: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Changing underlying behavior or contracts without a longer deprecation policy.

Again, less on the API layer - look at errors returned, expected behavior. People need to know they can count on us.

Page 40: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Tell people they’re doing it wrong.

Amazon does this - “design for failure, if you don’t, you suck” - we can not do this. We have to teach and educate and be honest with our limits. On the other hand, if you’re using a cloud as a VPS thingie or managed colo box, you are doing it wrong.

Page 41: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Page 42: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

• We have a discoverable portal dedicated to application developers

• It speaks to success when using the platform

• It talks about speed of development on top of OpenStack

• It showcases other successful applications built on the platform; and why the platform made it successful

We have a discoverable portal dedicated to application developers It speaks to success when using the platform It talks about speed of development on top of OpenStack It showcases other successful applications built on the platform; and why the platform made it successful

Page 43: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Who will be the Instagram/Pinterest/etc on OpenStack?

Success is when we can answer this: Who will be the Instagram/Pinterest/Cat Social empowered by OpenStack?

Page 44: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

What else do we need to do?

So, let’s address some other concerns - what else do we need to do to succeed?

Page 45: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Engage the board, the technical committee, the UX team and others to build a solid, consistent voice for application developers and consumer of OpenStack clouds.

We have to engage: we have to advocate for developers inside of the community, inside of the foundation. We have to look outward and ask developers what they want, what they need.

Page 46: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Get vendors working with one another on common SDKs & Tools - work from prior art if at all possible

Vendors: Rackspace included, have to engage with one another and build from common tools. No more reinventing the wheel.

Page 47: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Dig into the user survey.

My coworker Everett recently got an application developer section into the user survey. We have to act on that data, and moreover, we need to get that survey out of our echo chamber

Page 48: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Drop the dogma.

I’ve been in the python community - what - 12 years or something like that? But the fact is, the developer world and community is bigger than that, and Python isn’t always the right tool. Welcome other languages, methods and systems

Page 49: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Pressure the vendors.

We need to pressure the vendors for interoperability. We need them all to have amazing developer experiences from end to end, when 1 developer has a bad openstack experience on one vendor? All of us lose.

Page 50: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

And now for my buddy Everett to take it home

Page 51: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

developer.yahoo.com massive portfolio

yahoo

Page 52: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

developers.google.com/cloud/ breadth, depth & confidence.

google

Page 53: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

developer.github.com simplicity & clarity in action.

github

Page 54: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

It works for Open Source too!

It's not just commercial interests!

Page 55: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

developer.mozilla.org changing the web

mozilla

Page 56: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

developer.gnome.org keep it simple

gnome

Page 57: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

developer.openstack.org We just got it!

developer.openstack.org

Page 58: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Developer.openstack.org is the first step on a long road. It took months just to get it to where it is because of the difference of focus between the community and others.

Page 59: Openstack summit

http://developer.rackspace.com [email protected] [email protected]

Thank You!