Blogs

RedMonk

Skip to content

Go: the emerging language of cloud infrastructure

Over the past year in particular, an increasing number of open-source projects in Go have emerged or gained significant adoption. Some of them:

  • Docker
  • Packer
  • Serf
  • InfluxDB
  • Cloud Foundry’s gorouter and CLI
  • CoreOS’s etcd and fleet
  • Vitess, YouTube’s tooling for MySQL scaling
  • Canonical’s Juju (rewritten in Go)
  • Mozilla’s Heka
  • A Go interface to OpenStack Swift
  • Heroku’s Force.com and hk CLIs
  • Apcera’s NATS and gnatsd

Although this seemingly shows the importance of Go, I have a background as a scientist so I hate to be influenced by random anecdotes. It therefore raised the question to me of whether this was a real trend or just observation bias.  To answer this question, I went to Ohloh’s huge data set of more than 600,000 free and open-source software (FOSS) projects. Below, I plotted a number of different ways to look at Go adoption over time:

ohloh_20131216_go

Data from Ohloh tracks new code added during each month. This plot is from a dataset as of 20131216.

As you can see, Go’s rapidly closing in on 1% of total commits and half a percent of projects and contributors. While the trend is obviously interesting, at first glance numbers well under one percent look inconsequential relative to overall adoption. To provide some context, however, each of the most popular languages on Ohloh (C, C++, Java, JavaScript) only constitutes ~10% of commits and ~5% of projects and contributors. That means Go, a seemingly very minor player, is already used nearly one tenth as much in FOSS as the most popular languages in existence.

One of the aspects I found most interesting about the marquee projects I mentioned earlier is how many of them are cloud-centric or otherwise made for dealing with distributed systems or transient environments. Go’s big selling point is concurrency according to one of its designers, Rob Pike (the same one who coauthored the famous “The Unix Programming Environment“). That make it particularly gratifying that people writing projects in Go seem to see it the same way.

Cloud infrastructure is famously complex and requires a great deal of effort to build a truly reliable, scale-out architecture because everything needs redundancy and coordination at the software level rather than the hardware level. Thus tools like Netflix’s Simian Army, one component of their increasingly full-featured platform that’s still waiting to be packaged up, have emerged to provide acid tests of cloud software. On the other side, an underappreciated aspect of PaaS (Platform as a Service) is its improvements not just to developer productivity but also to operator complexity by providing similar benefits at a higher level as Go does at the code level. There’s a lot of value to a packaged solution that handles the complexity of concurrency, coordination, and reliability in a gray-box fashion that enables transparency without requiring manual composition of an entire infrastructure.

Tooling that can ease the complexity for both new entrants and existing users of the cloud will continue to gain prominence at all levels of the stack, whether it’s languages like Go, middle ground like the Simian Army, or higher-level options like PaaS.

Update (2014/03/19): Added Heroku, Apcera

Disclosures: Pivotal, Black Duck, Heroku, and a number of OpenStack vendors are clients. Canonical has been a client. Docker, Hashicorp, InfluxDB, CoreOS, Google, Mozilla, Apcera, and the OpenStack Foundation are not.

by-sa

Categories: adoption, cloud, devops, go, open-source, packaging, programming-languages.

At Strata, “hardcore” data science is pretty fluffy

Last week, I attended O’Reilly’s data-centric conference, Strata. It’s my fourth Strata and my third on the west coast, so I’m starting to get a pretty good feel for the show’s evolution over time and some of the contrast across coasts as well.

I keep going into the show with high expectations for the “Hardcore Data Science” track (“Deep Data” in 2012 [writeup]), which is framed essentially as continuing education for professional data scientists. Unfortunately, both years I’ve attended, it fell tragically short of that goal of educating data scientists. In 2012, I sat through the whole day and heard 2–3 talks where I learned something new, but this time I was so disappointed that I left around 11am in favor of the data-driven business track. In talking to other attendees, general reception was that the Google talk on deep learning was great, but the rest of the day was a disappointment in terms of technical content and learning practical and usable techniques.

I must admit I’m deeply surprised that O’Reilly didn’t get negative feedback last time around that it should’ve applied to this year’s “hardcore” program, as I consider the company among the top couple of professional conference organizers around, across the widest set of topics.

One of the challenges with Strata is catering to a diverse set of audiences, and O’Reilly’s done an excellent job with the “I want to learn Hadoop / new Big Data tech X” crowd. More recently, they’ve also done very well reaching out to the business-level audience trying to learn about the value of data. However, it seems like the technical core of the conference is gradually being left in the lurch in terms of their opportunity to learn, although there’s always the hallway track and whatever marketing value they get out of their talks and tutorials.

I would suggest that the intensive data-science track at future Strata conferences be made much more technical, that the talks become sufficiently practical that they’re handing out links to GitHub or other real-world, low-level implementations at the end of the talk, and that this shift in topic and intended audience be very clearly communicated to the speakers. Other than that slip-up, good show — I heard good things about the tutorials, the business day, and talks for the mid-level audience throughout the rest of the conference.

by-sa

Categories: big-data, data-science.

Red Hat’s CentOS “acquisition” good for both sides, but ‘ware the Jabberwock

Red Hat and CentOS announced earlier this week (in the respective links) they are “joining forces” — whatever that means. Let’s explore the announcements and implications to get a better understanding of what’s happening, why, and what it means for the future of RHEL, Fedora, and CentOS.

LWN made some excellent points in its writeup (emphasis and links mine):

The ownership of the CentOS trademarks, along with the requirement that the board have a majority of Red Hat employees makes it clear that, for all the talk of partnership and joining forces, this is really an acquisition by Red Hat. The CentOS project will live on, but as a subsidiary of Red Hat—much as Fedora is today. Some will disagree, but most would agree that Red Hat’s stewardship of Fedora has been quite good over the years; one expects its treatment of CentOS will be similar. Like with Fedora, though, some (perhaps large) part of the development of the distribution will be directed by Red Hat, possibly in directions others in the CentOS community are not particularly interested in.

Plenty of benefits to go around

Whether it’s the rather resource-strapped CentOS gaining more access to people and infrastructure, not to mention those pesky legal threats, or Red Hat bringing home a community that strayed since it split Red Hat Linux and created RHEL/Fedora in 2002–3, the benefits are clear to both sides.

I’m not convinced it had to go nearly as far as it did to realize those benefits, though — formalizing a partnership would have sufficed. However, giving three of the existing lead developers the opportunity to dedicate full-time effort to CentOS will be a huge win, as well the other resources Red Hat is providing around infra, legal, etc. But the handover of the trademark and the governance structure are a bit unusual for the benefits as explained, although entirely unsurprising for an acquisition and company ownership of an open-source project.

What about Fedora?

It’s worth reading what Robyn Bergeron, the Fedora Project Leader, said on the topic.

Red Hat still needs a breeding ground for innovation of the Linux OS, so I don’t see anything significant changing here. What I would hope to see over time is a stronger integration of developers between Fedora and CentOS such that it’s easy to maintain packages in both places if you desire.

Perhaps the largest concern for Fedora is a lessening of Red Hat employees contributing to it on paid time, in the longer term. As the company pivots more toward cloud infrastructure (see its recent appointment of Tim Yeaton and Craig Muzilla to lead groups that own cloud software at Red Hat) with a clear hope of increasing its cloud revenue share, Red Hat’s need to differentiate at the OS level may shrink and thus its need to contribute as many resources to Fedora. However, Robyn duly points out that Fedora’s role as upstream for RHEL isn’t going anywhere, so neither is the project.

The hidden BDFL

Red Hat’s Karsten Wade seems to have become the closest thing there is to a CentOS BDFL (or at least an avatar of Red Hat as BDFL) by virtue of being the “Liaison” on the newly created governing board. The other named board role is Chair, who is a coordinator and “lead voice” but cannot take decisions for the board as the liaison can. In case you didn’t see the fine print, here’s the reason I say that:

The Liaison may, in exceptional circumstances, make a decision on behalf of the Board if a consensus has not been reached on an issue that is deemed time or business critical by Red Hat if: (1) a board quorum (i.e., a majority) is present or a quorum of Board members has cast their votes; or (2) after 3 working days if a Board quorum is not present at a meeting or a quorum has not cast their votes (list votes); provided that the Chair may (or at the request of the Liaison, will) call a meeting and demand that a quorum be present.

Unless the Liaison specifically indicates on a specific issue that he/she is acting in his/her official capacity as Liaison, either prior to a vote or later (e.g., after an issue has been deemed time or business critical), the Liaison’s voice and vote is treated the same as any other member of the Board. Decisions indicated as Liaison decisions made on behalf of the Board by the Liaison may not be overturned.

Translation? If the board (the majority of which is Red Hat employees) can’t come to a consensus or can’t meet/vote within 3 days, the Red-Hat–appointed liaison can make an irrevocable, unilateral decision on behalf of Red Hat. Also worth noting is that Karsten will be the direct manager of the three CentOS employees joining Red Hat, giving him further influence in both formal and informal forms. Although whoever’s in the liaison role theoretically steps down in power when not acting as liaison, this is much like temporarily removing “operator” status on IRC. Everyone knows you’ve got it and could put it back on at any point in time, so every word you say carries much more weight. It is therefore of great interest to understand Karsten more deeply.

He’s got a long history in community management with Red Hat and I’ve had excellent experiences working with him in the Google Summer of Code and many other venues, so I’m confident in his abilities and intentions in this regard. But it’s definitely worthwhile to read his take on the news and understand where he’s coming from. Here’s an excerpt:

 In that time, Red Hat has moved our product and project focus farther up the stack from the Linux base into middleware, cloud, virtualization, storage, etc., etc. … Code in projects such as OpenStack is evolving without the benefit of spending a lot of cycles in Fedora, so our projects aren’t getting the community interaction and testing that the Linux base platform gets. Quite simply, using CentOS is a way for projects to have a stable-enough base they can stand on, so they can focus on the interesting things they are doing and not on chasing a fast-moving Linux.

In other words, they were putting code directly into RHEL that hadn’t had a chance to bake in Fedora first, which is less than ideal for an enterprise distro. Thus the need for a place to test higher-level software on stable platforms (CentOS).

That post makes it perfectly clear where Karsten’s interests lie, so it, along with his background in community management is what drives my initial expectations of Red Hat’s influence upon CentOS. It remains to be seen how often Karsten will need to step up to liaison mode, and to what extent his actions in that role will be handed down from higher up in Red Hat vs independent, so I’m looking forward to seeing how these changes play out.

 Disclosure: Red Hat is a client.

by-sa

Categories: community, linux, operating-systems, red-hat.

IBM’s billion-dollar bets mean less today, but you still can’t ignore them

Yesterday’s news about IBM creating a new Watson Group and investing $1 billion in it was surprising to me because the company just announced a different billion-dollar bet on Linux on its Power architecture back in September, another billion on flash memory in April, along with another major investment in DevOps over the past couple of years. Not to mention its $2 billion acquisition of SoftLayer to develop a stronger cloud story. [Sidenote: Watson is IBM's Big Data software aimed to do what IBM calls "cognitive computing."]

IBM initially made a big bang with its announcement of a billion-dollar investment in Linux back in late 2000. Significantly, it was $1B to be spent in a single year, not some indeterminate future (best of luck verifying that). Given the apparent acceleration in extremely large commitments by IBM, I thought a couple of quick calculations were in order to put the recent ones in context.

Inflation since 2000 puts $1B today at $739M in 2000 dollars (when IBM announced the billion-dollar bet on Linux). Furthermore, IBM’s net income (profit) doubled to $16.6B in 2012 from $8.1B in 2000. The inflation means a $1B bet goes only ~75% as far as it did in 2000, while the significance to IBM’s financials is roughly half of what it was back then. In other words, a bet that was the size of an 800-pound gorilla is only 400–600 pounds these days — but that’s certainly enough to crush most humans, as you might imagine some of its competitors to be. IBM’s increasingly long series of billion-dollar bets continue to draw headlines, but you can’t ignore the reality that an investment like that is going to make a significant impact.

Disclosure: IBM is a client.

by-sa

Categories: big-data, devops, ibm, linux, marketing, open-source, operating-systems.

The parallel universes of DevOps and cloud developers

The City and the City, by China MiévilleWhen I think about people who live in that foggy world between development and operations, I can’t help being reminded of a China Miéville novel called The City & the City. It’s about two cities that literally overlap in geography, with the residents of each completely ignoring the other — and any violations, or breaches, of that separation are quickly enforced by a shadowy organization known as the Breach.

Much like people starting from development or operations, or for you San Franciscans, the Mission’s weird juxtaposition of its pre-tech and tech populations, The City & the City is a story of parallel universes coexisting in the same space. When I look at the DevOps “community” today, what I generally see is a near-total lack of overlap between people who started on the dev side and on the ops side.

At conferences like Velocity or DevOpsDays, you largely have just the ops who have learned development rather than the devs who learned to be good enough sysadmins. Talks are almost all ops-focused rather than truly in the middle ground or even leaning toward development, with rare exceptions like Adobe’s Brian LeRoux (of PhoneGap fame) at Velocity NY last fall.

On the other hand, that same crowd of developers shows up not at DevOps conferences but rather at cloud conferences. They often don’t care, or perhaps even know, about the term “DevOps” — they’re just running instances on AWS. Or maybe another IaaS or possibly a PaaS, most likely Heroku, GAE, or Azure.

The closest thing to common ground may be events for configuration-management software like PuppetConf or ChefConf, or possibly re:Invent. But even when I was at PuppetConf, the majority of attendees seemed to come from an ops background. Is it because ops care deeply about systems while devs consider them a tool or implementation detail?

The answer to that question is unclear, but the middle ground is clearly divided.

Disclosure: Amazon (AWS), Salesforce (Heroku), and Adobe are clients. Puppet Labs and Microsoft have been clients. Chef and Google are not clients (although they should be).

by-sa

Categories: cloud, community, devops, Uncategorized.

What were developers reading on my blog and tweetstream in 2013?

As a strong believer in transparency, I wanted to share the actual data from hits on my blog over the past year instead of just a popularity ranking. Using a combination of WordPress stats, Google Analytics, and RedMonk Analytics, I compiled a set of data that reflects what my readers cared about over the past year.

Blog overview: Nearly 90,000 unique visitors

This roughly corresponded to my second year at RedMonk (I started Dec. 1, 2011), so I wanted to take a look at how things changed since the year prior in addition to the raw numbers.

  • 135114 page views (+393% year over year)
  • 105133 visits (+383% YOY)
    • 15770 phone (+163% YOY)
    • 6015 tablet (+7% YOY)
  • 89348 unique visitors (+469% YOY)

Beyond being quite pleased at how well I’ve personally done, the disparity between a large increase in phone visitors and a near-constant rate from tablet users is noteworthy. It makes me wonder whether tablet ownership and usage among our generally predictive community is becoming saturated, while the same audience already owned smartphones and is just using them more.

What are people reading?

As is typical, the post traffic is highly asymmetric, with the top hits dwarfing the remainder.

As always, developers love reading about rankings, data, and tooling, and the top posts reflect that. The surprises, to me, are some of the more conversational pieces — one on the Bay Area bubble and the other on SAP. Both of them got fairly strong traction within niche communities on Twitter, which may explain where the traffic came from.

How are people getting here?

Here’s a graph of the top-ranked sources for inbound visits:

The top sources of traffic to my blog in 2013

In terms of the top sources of inbound traffic, search (namely Google, which dominates search at 99.3%)  was the best draw of readership. Social media and Twitter in particular, however, topped search as a category, with Twitter alone garnering roughly 2/3 of the visits that search did.

Where are they coming from?

Below is a map from Google Fusion Tables that I’ve colored by continent. Deeper greens indicate more visitors, which are absolute rather than normalized by population.

The raw numbers:

  1. 49429: North America (88% US)
  2. 33193: Europe
  3. 13415: Asia
  4. 3861: South America
  5. 3062: Australia
  6. 1259: Africa
  7. (0: Antarctica)

There’s very strong representation among Western countries with 85% of visitors coming from the Americas, Europe, and Australia. This comes as no great surprise since they share the same Latin alphabet and the majority are likely to speak English well.

In fact, I’m quite pleased to have as many people from Asia in particular as I do, but also South America and Africa, because it provides some additional insight about what those developers are doing similarly and differently from their compatriots.

Twitter: 1 million readers in the top week, 4 million in the year

I recently signed up for a service called SumAll to more effectively track how many people are seeing what I’m talking about. Here’s a weekly graph from that service over the course of 2013:

Screenshot from 2014-01-02 22:13:02

Graph courtesy SumAll. I signed up for their service in September so “mention reach” is missing before then.

Retweet reach (how many total followers see my tweets by following the RT chain) in a typical week is around 75,000. Mention reach (whenever I’m credited, even when I didn’t originate it) has been near or above 500,000 three times since I signed up for SumAll in September. It typically hovers around 3x–5x my RT reach, indicating a combination of independent discovery of my content and Twitter clients that quote me or use the letters “RT” rather than a Twitter API retweet.

I’ve had reasonable success in making data graphics go viral on Twitter — each of the 3 highest peaks over the 4 months where I tracked mention reach was the result of me tweeting a graph based on my original research.

Across the entire year, my retweet reach was 4.02 million users. SumAll didn’t calculate mention reach before I signed up in September, but based on the 4.79 million in the last trimester and the typical multiple mentioned above, I would estimate around 10–25 million users encountered my name this year if that 3x–5x ratio holds true.

Year in review wrap-up

2013 was a great year for my RedMonk research, with a gratifying growth in readership over 2012. On average I published 3 posts per month, which I hope to improve in 2014 with a more focused approach to how I balance research time in terms of collection vs production.

Disclosure: SAP and GitHub have been clients. Automattic, Google, Twitter, and SumAll are not clients.

by-sa

Categories: analyst, social.

BAM! GitHub prediction nailed: 4M users in August, 5M in December

In January, I used data on GitHub’s past growth to predict what would happen over the next year in a post titled “GitHub will hit 5 million users within a year” and said:

In the near term, I’d estimate, based on my Bass model, that GitHub will hit 4 million users near August and 5 million near December.

Prediction from my January 2013 post

Prediction from my January 2013 post. Take the red pill.

On August 7, GitHub reached 4 million and today, it topped 5 million — exactly as I predicted. Given these almost uncannily good results (according to its own user-search API), I couldn’t help but be reminded of a classic XKCD comic:

Science. It works.

Caveat: Users appearing in search may also include GitHub organizations.

Disclosure: GitHub has been a client.

by-sa

Categories: Uncategorized.

The year developers and designers collided

We’ll start with a single graph. This shows the number of new CSS repositories created on GitHub every month this year.

Cap

Data from the GitHub search API; projected through the end of December as of Dec. 13. Forks were excluded from this search. Classification based on the language in a repository with the most lines of code.

If you’re not blown away, look again. Growth of CSS, the language of web design, has gone completely insane on GitHub over the past year. This does not include forks. This is newly created repositories. Prior to 2013, it hovered near 0% of total repositories created since GitHub’s launch and then suddenly shot up this year. This corresponds to a jump from ~7,500 repos created last year to ~102,000 this year, a 13.6x increase.

Design is now happening more and more in the form of code. It’s less and less about people who boot up Photoshop (and I use that term purposefully, because it takes that long to start up), work exclusively in there, and hand off a PSD to the development team. It’s about designers who understand the language of code, and coders who understand the visuals of design. If you’ve heard of DevOps [writeup], you’ll notice a lot of similarities. While it’s not about mythical unicorns who are full-stack developers and top-notch designers too, it is a much deeper integration and cooperation that it has been in the past.

Developer vs. designer isn’t a binary choice

In fact, when you mix developers and design you get something incredibly powerful. Last month I wrote the first of a three-part series on the value of blending developers and operations. Here’s the second piece, on design:

data_ops_design_venn_diagram_design

 

If you combine dev + design, you get the next piece of the puzzle, which I’ve summarized as two key points:

  • Developer-designer spectrum, and
  • Developer experience / API experience

The developer-designer spectrum

developer_designer_spectrum

While placing people into buckets is a convenient fiction, in reality the interface is blurred. And increasingly so. This is particularly true with the web because of the tight interlink between code and presentation, which became tighter with the advent of Ajax [2004 writeup] and even more recently as JavaScript has spread throughout the stack, courtesy of Node.js [2010 writeup]. In the web community, it’s fairly common for UIs to be designed and customized via coding in an IDE or text editor rather than a GUI along the lines of Adobe’s Dreamweaver. The latter product has led for a near-universal hatred of GUIs for building websites because maintaining and customizing generated code over time is a miserable experience.

What’s actually happening here is the advent of the technical designer and the creative coder. At Eyeo this summer, a conference exclusively about data visualization, I had a rare opportunity to meet the other side of this spectrum (as someone who spends most of his time around developers). It was very much an artist-centric show — and yet the vast majority of talks used things straight out of the coder’s toolbox rather than manual work in Illustrator, Inkscape, or a GUI data-viz tool like Tableau. 


@boulabiar
 @strife25 @openframeworks: Presenters at #eyeo2013 are all using d3js, processing or openframeworks. — Donnie Berkholz (@dberkholz) June 7, 2013

When I went to Adobe’s Max show this spring, I proposed a similar thought, so it was very gratifying to see it in real life at Eyeo:

Today’s software missed the boat

While not the only example, Adobe is an obvious one of a company with existing and potential customers that exemplify the kind of people I’m talking about. The company as a whole has recently seemed rather unsure about whether it still cares about developers. Back in the Flex and ColdFusion days it clearly used to, and the vast majority of its Max conference attendees used to be devs. But no more — at this year’s Max, developers were distinctly in the minority, often overlooked in the mix.

Most of its products no longer cater to developers, and it hasn’t been clear whether Adobe knows why or how much it should care about them in a world of Photoshop and Omniture. The Nitobi acquisition, which brought PhoneGap into Adobe in late 2011, seemed rather out of place in the modern Adobe. Although PhoneGap seemed out of place at the time, how could it help Adobe fit into the broader world of software, which has changed a lot in the days since Dreamweaver was in its prime? And what changing trends among how software gets designed and developed might affect the broader vision of what companies like Adobe should stand for?

Interestingly, Adobe’s begun reaching toward the far end of the design workflow with its recent announcement of Generator for Photoshop. In short, you can take a design in Photoshop and send it directly to Reflow where it’s ready to be transformed into a responsive website. VentureBeat’s Jolie O’Dell was the only journalist to nail the core point in her writeup at the time, getting the broader context of a growing Adobe linkage between designers and developers.

However, the point I’m getting at is bigger than just a linkage. It’s not about a design team shipping things off to a developer team anymore. It’s becoming — and already is, in leading-edge companies — a much tighter integration that resembles the DevOps culture. It’s about developers who can do some design, and designers who can write some code. Maybe not enough to replace the other side, at least not yet and not with existing tools … but enough to have a strong understanding of how the other side lives, and what they care about, and how they work. What’s been missing is the equivalents of cloud and configuration management in the DevOps world, to provide those central stepping stones across the river between designers and developers.

Adobe’s made some interesting early steps along these lines. For example:

1) It open-sourced the Generator add-on for Photoshop rather than keeping it proprietary, a clear olive branch being held out to developers. Stephen Nielson, Photoshop product manager, said about the open-sourcing of its Generator add-on:

It would enable developers to better understand how to interact with Generator and what it’s capable of. Perhaps the best documentation is the source code itself.

2) As Jeffrey Zeldman aptly put it, Adobe didn’t acquire Typekit; Typekit acquired Adobe. In his words:

It sometimes seemed to me that Adobe hadn’t so much acquired Typekit as the reverse: that the people and thinking behind Typekit are now running Adobe (which is actually true), and that the mindset of some of the smartest consultants and designers in our industry is now driving a huge corporation.

3) PhoneGap and large portions of the Edge suite cater primarily to developers, but some of them, such as Reflow, do reach out to designers. However, they still stand out rather like a sore thumb in Adobe’s product lineup, because of the lack of integration and the lack of thinking about this as a spectrum.

4) Adobe’s experimented with open-sourcing some fonts, showing that the design side of the house is testing the waters of development. LWN wrote it up; consider it recommended reading on a group open-sourcing something for the first time.

Extending more broadly: developer experience and design thinking

Adobe’s not alone in thinking about design. First SAP, and more recently IBM [writeup], have been pushing the idea of design thinking in software. What makes them interesting is that it’s software that has traditionally been an absolute nightmare to run, because those vendors had only cared about the buyers. Who gives a crap about the users? They don’t have budgets, they can’t make the call about what to buy. But times have changed, and now everyone, even the enterprise behemoths, needs to think about design.

At RedMonk we’re focused primarily on helping companies create a great developer experience, which surprisingly focuses on a lot of things that coders consider peripheral, such as packaging, barriers to entry, and convenience. My colleague James describes it briefly in this off-the-cuff video from the streets of London.

The extension of developer experience is design thinking throughout the company, including its products, portfolio, and even the experience for its own employees. I’m not going to talk about service design in this post to keep it from turning into a book, but that would be a natural consideration if you mix devs, designers, and ops.

It’s time to integrate design into DevOps

As I wrote last month, DevOps needs to pervade back into the whole company to help it transition toward becoming an agile, collaborative business. In this context, however, we should think about extending DevOps to include design — call it DesDevOps if you like (I don’t particularly care about semantics). Why is it solely an interaction starting with the development team and going through to production? Why shouldn’t it go back to designers too? In the same way that DevOps enabled companies to deploy software 100 times a day, there’s no reason, besides broken workflows and processes, that we can’t dramatically accelerate how we bring designed software to users to iteratively improve their UX.

Update: Dion Almaer pointed out that what a “CSS repo” is lacked clarity. Caption in the first graph updated to clarify this.

Disclosure: Adobe, IBM, and SAP are clients and covered substantial portions of travel expenses to their events. GitHub has been a client. Tableau is not a client. I randomly won a pass to Eyeo in a drawing after not getting one of the few media passes.

by-sa

Categories: adobe, creatives, design, devops, ibm, mobile, packaging, sap.

How operations, design, and data affect software and business: Ops edition

I’ve been doing a lot of thinking recently about the interaction between software development and three key areas: operations, data, and design. After conversations this week with Dell’s James Urquhart (courtesy of the enStratius acquisition) and Rod Smith from IBM’s emerging-tech group, I decided that it’s worth writing up to hopefully drive some discussion around these ideas.

By starting at the center of the below diagram with developers and then blending them with any of operations, data, and design, a number of key trends emerge from not only software development, but more nascently from business as well. While RedMonk’s traditionally been a firm that looks at the bleeding edge of software, this perspective shows that the same ideas reflect upon the function of organizations as a whole.

data_ops_design_venn_diagram

And yes, I’m very much abusing the purpose of Venn diagrams because I’m going inside-out rather than outside-in, but it gets the idea across. Let’s start at the top and work our way around first the immediate intersections with development, then the more complex interactions.

Development + Operations = DevOps ➡ Agile, collaborative business

data_ops_design_venn_diagram_ops

The idea of DevOps is most simply described to developers as the extension of agile software development to operations. It’s about bringing (1) software-development techniques like version control, testing, and collaborative development and (2) rapid iteration and minimum viable products (MVPs) to the world of systems administration and infrastructure.

On the side of software development, it’s about transitioning toward a philosophy of infrastructure as code — defining what your datacenter or cloud looks like in terms of tools such as Puppet and Chef. This enables much easier application of basic software tools such as storing system configurations in Git and using continuous integration on your infrastructure and not just the code that runs on it. By learning from the distributed, asynchronous collaboration found particularly in open-source communities and largely virtual companies (e.g. GitHub), teams can benefit greatly in terms of the quality of people they can hire as well as their ability to collaborate more effectively.

On the side of agility, as trends like the shift to cloud-based systems continue to accelerate, it’s increasingly critical to work in a more agile fashion that decreases cycle times and thus increases the frequency at which teams can iterate on an MVP. This rapid iteration also means that when things break, as they inevitably do, there’s already a process in place to not just fix them quickly but to get those fixes to users quickly without an epic series of manual hacks.

For DevOps, it’s about extending the cycles beyond just development teams all the way through operations, so you can iterate all the way from development to production using continuous delivery or continuous deployment. Companies like Etsy and Netflix deploy as much as 100 times per day, which blows the quarterly deployment model out of the water. When you  change anything like this by an order of magnitude, you have the potential to not just save time but to transform how people work. Some of that transformation is a prerequisite, while some of it is a consequence of making organizational and tooling changes.

Carrying this into broader business, it means shifting the entire company to an agile model that’s highly collaborative. The collaborative aspect is most easily accomplished not by gathering 1000 people around a real-life water cooler but rather by making the whole company social, along the lines of Salesforce Chatter, IBM Social Business, Yammer, and Jive.

Open-source communities have pioneered the kinds of technologies needed to collaborate effectively in our increasingly connected world. Look at IRC, archived mailing lists, wikis, and more. All of them were pioneered by open-source developers. What’s happening in the world of “social business” today is the same thing that happened 25 years ago in the open-source world (IRC was created in 1988). Those developers have lived in the future ever since, while the rest of the world is slowly picking up the importance of improved collaboration and distributed workforces.

Below is a video of GitHub’s Ryan Tomayko from Monktoberfest 2012 talking about how GitHub (the company, not the product) works incredibly effectively as a distributed organization:

Another video worth watching is from this year’s Monktoberfest where GitHub’s Adam Roben talks about the importance of face time in distributed companies:

While I won’t embed it, there’s another classic video on distributed development by Zach Urlocker (former COO Zendesk and previously running product at MySQL) from Monki Gras 2012. Here’s the writeup.

This interaction between development and operations is a key trend in software, which was been foreshadowed by open-source development and will be followed by its enactment across the broader business.

Disclosure: Dell, IBM, and Salesforce.com are clients. Puppet Labs, Microsoft (Yammer), and GitHub have been clients. Jive, Opscode, Etsy, and Netflix are not not clients.

by-sa

Categories: community, devops, distributed-development, ibm, microsoft, open-source, redmonk-brew, salesforce, social.

Conway’s law but for software: Salesforce and SAP

Conway’s law aptly states:

Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.

I’d like to propose a parallel “law,” if you will. I hypothesize that software companies (that’s increasingly all of them) are incented to innovate primarily around the central object, or data structure, in their software — and consequently constrained from innovation outside the central object.

For Salesforce.com (SFDC), its software is centered around people, primarily customers. This has influenced and will continue to influence corporate strategy, product design, and innovation. Witness the recent “customer company” tagline that SFDC is attaching to everything it does and that affects its higher-order thinking.

For SAP, on the other hand, everything is centered around purchases. Think ERP, purchasing, inventory management, and so on. Its central object is in fact the purchase rather than the person, as it is for SFDC.

In each case, innovation will be highly constrained outside of these core objects, particularly when it comes to second-level connections. In other words, for SAP, the purchase connects to the buyer connects to ?? And for SFDC, the converse holds true — it sees what’s directly connected to the customer, but what about the next step? This mindset will influence initial strategy but pervades into hiring, promotion, and performance reviews to continually lock companies further into their central objects.

If you want to understand company mindsets and their future strategies, you could do a lot worse than combining Conway’s law and this idea of central objects.

Disclosure: Salesforce.com and SAP are clients.

by-sa

Categories: corporate-strategy, salesforce, sap.