by Eric Knipp | May 1, 2014 | 2 Comments
The Gartner Application Architecture, Development, and Integration season is upon us! Every year, Gartner Events runs a series of events geared toward the application delivery leader. The biggest is in Vegas, but there are satellite events in Sydney and London. Owing to the presence of Technical Insights content geared toward demonstrating the GTP (formerly Burton) service to potential clients, I’ll be speaking at the latter on May 19-20 with colleagues Gary Olliffe and Gonzalo Ruiz. AADI London is sure to be a great event, featuring presentations on application development in the cloud and on mobile devices.. as well as the back-end services that implies. This conference is all about how application delivery leaders should adapt themselves and their organizations to the art of delivering the digital business, and it will surely be filled with great insights and fun times.
This year I have the pleasure of taking the stage with Gonzalo for a presentation on Migrating Applications to the Cloud and with Gary for a presentation on API strategy, both topics near and dear to my research the last several years. I’ve also got a round table on crowd sourcing application development – bring your war stories and peer questions! If you’re still boning up on the topic, my recent research document is sure to help.
More than two dozen Gartner analysts will be there, presenting on the latest in enterprise-ready (and enterprise-disruptive) application delivery practices and technologies. On top of that, we have a ream of fantastic exhibitors, including both enterprise mainstays like Oracle and Tibo, and cutting-edge enterprise newcomers like 3scale, ZeroTurnaround, and CloudBees. Got questions about how your application delivery strategy fits with the capabilities these guys are bringing to market? Ask them to tell you how they can help – then come talk to a Gartner analyst in a one-on-one session to learn objective pros and cons about the story you’ve been told. When you’re done, network with peers as you cut loose during our fun evening events. There’s really nothing like a Gartner conference – it is the best of objective IT advice, world-class tech vendors, and the brain trust that makes it all hang together – you!
Category: Applications Crowdsourcing Tags:
by Eric Knipp | April 4, 2014 | 6 Comments
Crowdsourcing has become well known because of high-flying concepts like the X Prize and the Netflix Prize. And everybody has heard of Amazon Mechanical Turk. Less well known are coding puzzle sites like Project Euler and HackerRank. Then there are the hidden gems for Application Development organizations – the crowdsourcing AD vendors like [topcoder] and uTest. That Crowdsourcing has appeared in many kinds of work, including application design, architecture, testing, and development, isn’t that surprising. Cutting edge “rocket science” stuff (which the X Prize literally rewards) always seems to make its way into the everyday eventually. What IS surprising is just how much impact Crowdsourcing AD can have on the enterprise today.
In my paper “Use Crowdsourcing as a Force Multiplier in Application Development” (link available to Gartner for Technical Professionals subscribers), I explore how Crowdsourcing maps to three key areas in the SDLC – design, test, and coding. I talk about good practices in applying Crowdsourcing to your own projects, and finally about the rise of the Crowd Curator – a new kind of role that blends the technical aspects of application architecture with sophisticated soft skills in community and project management. There’s no doubt in my mind that Crowdsourcing AD is going to be huge for the enterprise – and those who figure out how to harness it early will enjoy a substantial advantage over their competitors.
Category: Applications Crowdsourcing Tags:
by Eric Knipp | April 2, 2014 | 5 Comments
At the BUILD conference Microsoft announced that Windows is free for all mobile devices with screens smaller than nine inches. That means for phones and some tablets, Windows is basically free.. as in beer. Awesome!
Let’s back up for a minute and really think about this. The last few years, Microsoft has gone from a joke in the mobile world to having a respectable OS that a lot of people like. The uptake hasn’t been great, but that was before the price was free (and before universal Windows apps were announced at BUILD today). Microsoft is offering you a little free candy so that they can hook you on the hard stuff later. The hard stuff is Microsoft Azure and a ticket into the emerging Microsoft cloud services ecosystem, encompassing cloud services, media services, data services, and partner apps and services.
Unlike a PC, a mobile device is of limited utility without a robust back-end. Microsoft is banking on that fact. Sure, they can give you the mobile OS for free.. but what they’re giving you is basically useless. Only the most trivial apps can function without a set of data, processing, integration, etc. services powering them. Microsoft hopes that by giving away the OS, they’ll grow bigger market share (they will) and that this will in turn give them a chance to push app developers into the waiting maw of Azure (it probably will).
About the only thing that can get in the way of success here is a price war that’s recently gone hot.
Category: Uncategorized Tags:
by Eric Knipp | August 2, 2013 | 5 Comments
I had a great week at Gartner Catalyst where I spent time with many clients and got to catch up with friends old and new. Gartner analysts speaking at our conferences not only present on-stage, we spend a large amount of our time in one-on-one sessions with attendees. During these one-on-ones, we try to help our clients answer their most important questions and solve their most challenging problems. As you can imagine, at a conference with 1500+ attendees, there are a lot of different questions to go around. My most popular client question came down to, “How do we select and implement API management capabilities?”
While working with attendees to answer this question, I noticed a concerning trend. Attendees interested in talking to me about criteria to use in selecting an API management product often could not articulate an API strategy; even worse, few had spent much time considering the importance of API design. I definitely felt the focus was more on buying a solution, rather than understanding the fundamentals of API strategy, design, delivery, and management.
Rolling Without a Strategy Will Cost You Money
Why are you building your API? A lot of people tell me they need the API because of a particular mobile project (or at least, that’s how they’re funding the development of the API). When I ask about the long-term plans for the API, I get a lot of blank stares. That’s a problem.
Your API might really just be for that one mobile app. But I doubt it. The real value of an API lies in its ability to provide access to many new channels that were previously very difficult to reach – mobile, social, third-party developers creating new apps, and so on. On top of that, your API might be relevant in a partner integration scenario, or even for running your own non-mobile Web applications. If you make design decisions in a vacuum – based on the presumption that the API is just for the mobile app you’re currently working on – you will paint yourself into a corner.
Maybe it is worth being painted into that corner because of the learning you’ll get by executing quickly. That’s a position I can understand and respect. But it isn’t one that I endorse taking by accident; it will cost you money down the road. So, start by having an API strategy that takes explicit positions on what the API is and is not intended to do and how the API strategy aligns with your business strategy. My colleague Gordon Van Huizen has written a great document on the topic.
API Design is Important
I’ve written about it extensively, but just to make it clear, one more time: API design doesn’t require you buy any new technology. You should begin your API design before, or at worst, in parallel with your exploration and purchase of an API management solution.
Without an explicit process for API design, the temptation to turn it into a supply-side exercise is great. The odds of building the wrong thing become much higher. Without an understanding of what a good API looks like for your audience(s), you’ll also have a harder time prioritizing capabilities available in the API management product space. Loosely translated, this means that in the absence of understanding, you’ll substitute money and pay for a bigger, heavier, and more expensive API management platform than you really need. Skipping API design is bad on a lot of fronts.
The first step in doing an API well is to create a well thought-out strategy. The second step is to do a great job with design. Please don’t skip these steps.
Category: Uncategorized Tags:
by Eric Knipp | July 28, 2013 | 2 Comments
A little levity before we start off Gartner Catalyst. A b-school friend of mine pointed out that as we go through life in the US, there’s a bit of a love/hate relationship with getting “carded” for alcohol purchase. I realized immediately that this relationship bears a striking resemblance to something we know well at Gartner..
While I won’t be giving a presentation on this topic, I still hope to see you at Gartner Catalyst.
Category: Uncategorized Tags:
by Eric Knipp | July 26, 2013 | Comments Off
I’ll be in San Diego next week at the annual Gartner Catalyst conference. “Convergence” is the theme this year. Specifically, the convergence of mobile, social, and information – all backed by cloud – to bring about new opportunities and challenges for enterprises and IT professionals alike. My team is presenting a “virtual track” of application architecture and development goodness. Our presentations explore:
- How to develop applications for delivery to mobile devices and the desktop
- How to select the optimal development frameworks
- How to improve your development methodology in the face of a volatile technology climate
- New approaches to software architecture
- How to leverage the cloud in your custom-built applications
I hope you’ll join us. If you can’t, I’ll be tweeting as often as I’m able.
I’m still hiring one more analyst for our Egham office. If you’ve got well-informed opinions on software development, great presentation and writing skills, a passion for telling people what you believe about IT, and you live in the UK, please take a look at the job description. Feel free to drop me a line if you want to ask a few questions about the role.. and if you’re just positive you want to be a member of our team, go ahead and apply!
Category: Uncategorized Tags:
by Eric Knipp | May 20, 2013 | 2 Comments
Large enterprises are very interested in the PaaS value proposition, but much less interested in making strategic commitments to public PaaS. This is generally true of public cloud overall. Only in the SaaS area do we see substantially less durdling by our enterprise clients. My working theory is that this is mostly because popular SaaS options are a cut above their packaged counterparts in capability, usability, and spending flexibility; plus, the business won’t take no for an answer. The differentiation available in some SaaS is too alluring to ignore.
The same has so far not proved consistently true for public cloud IaaS and PaaS. To be sure, these areas are growing; recent financial analyst AWS revenue estimates are impressive indeed. Step back a minute and let the reality sink in that the market for cloud services is at least as large as the existing market for enterprise IT (hardware, software, and hosting) itself – then, the AWS number doesn’t look nearly as big. There’s still a lot more cash burned in traditional data centers than there will be in public cloud IaaS and PaaS for some time. We can argue until we’re blue in the face about whether that’s a good thing or not, but it is what it is…
And, what IT is, at least with respect to PaaS, is a growing enterprise desire for Private PaaS. Mock it at your peril – just like private cloud, the ship has sailed and will be pulling into a harbor within an enterprise data center near you. The value proposition for Private PaaS seems compelling – an increasing number of stories suggest that Private PaaS can get you both reduced operational burden and higher developer productivity. As anybody who reads my blog knows, I think that developer productivity is a big deal.
Private PaaS is coming, but how do you adopt it if you’re the “classic” enterprise IT organization with a diverse portfolio of home-grown applications and integrations, running on what I will for the purposes of this discussion call “classic” middleware? Do you wait around until 2015 (or later) for Java EE 8 to bring you the cloudy features you’re looking for, now that we know for sure that Java EE 7 won’t have any? Or, do you just wait for your preferred IT megavendor to get around to offering you a for-real, multitenant, cloud-native, Private PaaS that goes beyond simply slapping a pre-built middleware stack onto a virtual machine?
If for your enterprise, technology is just a necessary evil, a cost of doing business, then the answer is probably yes: wait until the early movers have wrung all the new value from the PaaS model and pick it up when prices are cheap and the systems commoditized. My guess is nobody reading this blog feels that way about IT.
If for your enterprise, technology is expected to expand the business, to serve as a differentiator in your market, to deliver what MBA types like to call competitive advantage – then Private PaaS can no longer be ignored.
Category: Cloud Cloud Application Platforms Private PaaS Tags:
by Eric Knipp | May 17, 2013 | Comments Off
I am heading back to Germany after a few fun days in London at the Gartner AADI conference. We had a good show, with a high level of attendee enthusiasm and interaction. I had good 1-on-1s and a very engaged (if small) set of workshops on .NET in the cloud, private PaaS, and cloud application architecture. I have a few quick takes on my experience.
Professional Effectiveness is a Big Issue
At lunch today I presented to a set of interested attendees on Gartner for Technical Professionals (GTP) – our value proposition, resources available to clients, and so on. In a nutshell: as GTP analysts our mission is to accelerate time to competency for the solution architects using our material. When you get a new project, we provide objective advice and how-to guides that will shorten your effort’s time-to-value.
Among our technical coverage areas (which include application platforms, data centers, cloud computing, mobility, social software, and so on) we also include one focused on “soft skills” which we call Professional Effectiveness. The idea here is to help the propellerheads communicate more effectively, manage up better, manage their careers more competently and just generally function at a higher level than their purely technical skills might suggest. The attendees to our GTP lunch focused laser-like on this topic, sharing with us numerous challenges around staff development. This is a great way to leverage GTP research and I was glad to see it. As a broader trend, I think it bodes well for the next generation of techies to have engaged managers who care deeply about professional development. And, it’s neat to see how our PE agenda is helping to shape at least a small number of the next generation of IT Leaders.
.NET Shops are Interested in a Hybrid Cloud Future
My workshop on “Choosing .NET Platforms for Cloud Computing” was my best session of the conference. Workshops are a great forum, providing an extended time (90 minutes) for analyst expository on a topic, incorporating several exercises and group discussion. The intimate environment of a large boardroom makes for a crackling atmosphere when the audience is truly engaged, as the attendees of my session were. We worked through the framework I developed for my soon-to-be-published paper on assessing .NET alternatives.
Capacity utilization rose to the top as the most important consideration among session attendees, followed closely by reduced time-to-market. Further, all reported very strong interest in hybrid cloud deployment models that preserve the enterprise’s option to choose runtime location at a later date. Basically, .NET shops represented in my session are looking to get elastic, cloud-native solutions out the door as fast as possible but without compromising portability by mitigating vendor lock-in as much as possible (or as much as is possible once you’ve already locked yourself to Microsoft by virtue of the choice of .NET). These were interesting findings for me, and I didn’t see as much desire for lift-and-shift style cloud adoption as I expected.
API Management is Really Popular
As usual, 1-on-1 topics were diverse and interesting, but the most often asked question had to do with Web APIs. API management came up frequently but it was good to hear more clients asking about API design issues, which I think are so much more important than which API product suite you end up buying (or consuming as a cloud service). API management has been a hot space lately and there was no shortage of vendor representation at the event, but attendees were also very interested. I saw a great appetite for my API design paper – which I hope will prevent some GTP clients from making major design mistakes.
Did you attend Gartner AADI? What were your most important take-aways?
Category: Uncategorized Tags:
by Eric Knipp | April 30, 2013 | Comments Off
According to Forbes, the “API market is on fire“. My conversations with Gartner clients on this topic would seem to confirm the article’s top line. In the first quarter, only application PaaS crowded out APIs as the most popular topic for my client dialogues (and that’s counting the fact that for the month of March, I picked up all of a departing analyst’s PaaS client calls). I have covered APIs at Gartner since mid-2009 and have seen a steady growth in client interest. If you’re an API aficionado, that’s great news.
Now, for the not-so-great news. A great many API initiatives from non-technology companies suffer from poor, or entirely absent, design. Beside the usual REST-vs.-SOAP impedance mismatch that experienced object-oriented developers have to work out, there is a darker, more sinister force causing problems with enterprise-created APIs: laziness.
We want to get our APIs out the door as fast as we can so that we can start leveraging them, monetizing them, seeding the market with them, powering our mobile apps with them, and so on. In our haste to get the API to market, we can easily be tempted to take a short cut – simply expose our existing domain models (which include our databases, web services, SOA repositories, and so on) to the world with a thin veneer of REST generated by some development tool. Presto! API. Not so fast.
The practice of “domain model dumping” is sure to be a scourge of poorly-designed APIs in the coming years, especially if the recent acquisitions have lit a fire under the hindparts of previously oblivious CIOs and CTOs. As the API landscape becomes increasingly crowded, developers will discover that they have several (or even many) functionally identical APIs to choose from – so don’t give them a reason to avoid yours. Gartner’s approach to API design focuses on several key factors, in an approach we call Consumer-Driven API Design.
A Consumer-Driven approach decouples API design from the underlying data model it exposes to its intended audience. It forces the design team through a repeatable and transparent methodology that produces demonstrably better outcomes than an ad-hoc and hackneyed approach. And the best part: you don’t even need a fancy-pants API management product to do it. If you’re interested in getting better at API design, as a Gartner for Technical Professionals client you can have a gander at my document on the topic, and follow it up with a conversation with me.
Finally, I am still looking to hire a couple of great analysts in the UK. Click here if you’re interested!
Category: Web APIs Tags: API
by Eric Knipp | March 20, 2013 | 2 Comments
While attending the Gartner BI Summit in Grapevine, TX yesterday I had a meeting with a client that made me facepalm a little.
The client in question was telling me about his need to educate his development staff in a number of critical areas, ranging from application lifecycle management, to data access patterns, to SOA governance, and on. The organization he works for is in the middle of a major hiring binge, and within the 200+ IT group there are few technologists with more than a year’s experience inside the company. This is a challenging situation, even when you can assume (as you should be able to) that most of your programmers know the difference between a library and a service! Many of the programmers in this organization prefer to create code libraries rather than services, and most of them don’t understand why they should build a service instead of a library. So, let’s get into that here.
In a nutshell: a library is shared code that you compile into your application. A service is a shared capability that you access from your application:
I am a (mostly) strong proponent of relying on services whenever possible, instead of building custom code libraries for inclusion in many programs. The agility, reuse, and transparency benefits of a service are just too hard to ignore. Having said that, I recognize that there are specific cases where creating libraries could be more appropriate:
- When you’re building an application that will be deployed to a device with inconsistent network access (making remote service consumption unreliable)
- When you’re building an application that will be hardened with wrapper technology for security reasons (and network access to remote services is seen as an unacceptable compromise)
A few more details that I quickly came up with which you might find worthwhile (let me know if you have any to add here):
||Executes locally inside of your program
||Executes remotely outside of your program
||Distributed/deployed with your program
||Exists independently of your program
||Internal compilation dependency for your program
||External consumption dependency for your program
||Cannot change unless you recompile/redeploy your program
||Versioned independently of your program
||Instance used in your program is used only by your program
||Can be shared with many remote programs
||Access to library routines cannot be mediated
||Access can be mediated for security, QoS, or other reasons
||Access to library routines cannot be audited
||Access can be logged and audited by a mediator
||Program cannot be inadvertently broken by a dependency change
||Many programs can benefit from service reuse and improvement
||Programmers can easily understand all project dependencies
||Service mediation can provide many benefits
||Compiled program is entirely self-contained
||Service-based design is more flexible to unanticipated changes
||Library improvements can only be used at program recompilation
||Service oversubscription creates an availability bottleneck
||Multiple versions of the same library can be used in many programs
||Service mediation is a black art to most programmers
||Patterns of library consumption are not clearly visible at runtime
||Services may not be modeled with the right level of granularity for reuse
A final word.
Ever thought about being an analyst? You’re in luck! I am hiring two analysts in the UK (preferably the Greater London area) to join the Application Platform Strategy (APS) team. If you think you’d like to cover application design, development, and delivery for fun and profit, have a look at this link.
Category: Applications Programming Tags: