openstack summit

Post on 28-Jan-2015

112 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Focusing on Developer Experience

OpenStack Summit, Atlanta 2014 !

Jesse Noller @jessenoller Everett Toews @everett_toews

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

The problem.

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

It’s a definition & audience problem.

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

“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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Cloud builders selling clouds to cloud builders.

I’m serious.

Inception.

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Time to reset.

Time to reset some terminology.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

OpenStack Developers

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Developer Experience (DX)

Let’s talk about Developer Experience

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

– 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.”

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

But why focus?

But why focus?

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Again: You need the group on the right!

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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!

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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!

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Examples

Great Examples

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Mailgun Who, What, How, examples!

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

- 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.”

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

• 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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

SDKs for developers in other languages

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

• 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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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?

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

What else do we need to do?

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

And now for my buddy Everett to take it home

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

developer.yahoo.com massive portfolio

yahoo

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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

google

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

developer.github.com simplicity & clarity in action.

github

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

It works for Open Source too!

It's not just commercial interests!

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

developer.mozilla.org changing the web

mozilla

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

developer.gnome.org keep it simple

gnome

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

developer.openstack.org We just got it!

developer.openstack.org

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

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.

http://developer.rackspace.com jesse.noller@rackspace.com everett.toews@rackspace.com

Thank You!

top related