APIs

ACE Consortium Looks to Simplify Mobile App Configuration and Security

5 Mar , 2015  

Looking to standardize how providers of management applications invoke APIs on mobile computing applications, the AirWatch unit of VMware, Box, Cisco, Workday and Xamarin today announced an open

, ,

Uncategorized

Box buys small security startup to court more risk-averse clients

3 Mar , 2015  

Fresh off its IPO in January, Box has made its first acquisition of the year, buying a small security startup called Subspace, the company said on Wednesday. Financial terms of the deal were not disclosed, but all seven Subspace employees will be joining Box and the […]

Box buys small security startup to court more risk-averse clients originally published by Gigaom, © copyright 2015.

Continue reading…

PaaS

AppFog Web Console UI Updates

23 Feb , 2015  

As with most teams, we have different people working on different things. When I joined AppFog in August 2013, I was part of the Support Team. However, during the last eight months I’ve shifted to a Front-end Web Developer role, while still handling some support responsibilities as well. One of my first projects was to redesign our Zendesk Help Center to better serve our users. (Learn more about the redesign here.)

Since then, I’ve mainly focused on improvements to the AppFog website and Web Console. In this blog post I’m going to share more details about the enhancements we’ve added over the past few months.

Jumpstarts

Over the last several months we’ve updated (or added) eight different Jumpstarts and Runtimes to make it easier for our users to quickly get started and launch their preferred development stack. We added banners indicating whether a Jumpstart or Runtime is in Beta, recently Updated or brand New. If you have suggestions for more Jumpstarts, please vote for them on our uservoice feedback page.

appfog-jumpstart-page

Jumpstarts Page with Status Banners

Managing Teams

We’ve improved the team member management functionality on the Teams page (https://console.appfog.com/#teams). Previously, the “Accept” or “Decline” buttons would only become visible if you moused-over the Member Invite box. This was not intuitive for new users, so we dropped the “slide up” animation in favor of clearly displaying the buttons. We also updated the text to more clearly communicate which teams you belong to and who is on your team.

teams-functionality

Updated Member Boxes on Teams Management Page

Selecting a Plan

On our Plans page (https://console.appfog.com/#plans), we’ve replaced the table layout design with a box-style layout which more closely matches the rest of the web console. Each box still lists the plan’s features, but we think in a bit more eye-pleasing detail.

plans-page-update

Old vs New Plans page in the AppFog Web Console.

We’ve also made some updates to the buttons — the button states and labels has been modified slightly to give more information about your subscription plan and your options.

  1. New subscriptions: For new users who have just signed up and need to choose a new trial plan, the buttons are orange with the label: “30-Day Trial”.
    acct-btn-new

    30-Day Trial button

  2. Trial subscriptions: Once you have selected a trial plan, the chosen plan will have a gray button labeled “Current”, while all other plans will have an orange button that reads “Continue Trial”. This reminds users that they can switch between plans anytime during the trial period.
    acct-btn-trial

    “Continue Trial” and” Current” plan buttons

  3. Existing active subscriptions: For accounts with an active subscription, the buttons are blue and gray. The box displaying a gray button is your “Current” plan, while the remaining blue “Select” buttons give users the option to upgrade or downgrade at anytime. (Note: Any changes are pro-rated, and will either charge your card for the difference from your current plan, or result in an account credit).
    acct-btn-existing1

    “Select” plan and “Current” plan buttons on an existing account.

Checking Subscription Status

We’ve added a subscription status message to the top of the Web Console. We added this so you can easily see the status of your trial or subscription without having to go to the Account page. Below is list of the most common subscriptions details.

  1. Trial subscription: If you have just created an account on AppFog and are in your trial period, the subscription status message displays your plan name, the number of days left in your trial, your subscription status, and a link to the plans page.
    status-trial

    Trial subscription status showing the plan type (Dev), days left in the trial (17), subscription status (Canceled), and a link to the plans page for users who want to trial a different plan.

  2. Existing active subscription: The subscription status message will display your plan name, next invoice date, and subscription status.
    status-with-sub

    Existing subscription status message showing the plan type (Basic), the next invoice date (March 2nd, 2015), and the subscription status (Active).

Add-Ons:

We’ve updated our Add-on Partner catalog on both the website and the Web Console to reflect name changes, new logos, and partner updates.

add-ons

Add-Ons Catalog

We hope these updates help make our Web Console more useable. If you have additional suggestions or ideas for how we can improve our user interface, please share them with us at http://feedback.appfog.com. And if you spot any UI anomalies or glitches, please let us know so we can get it resolved: support@appfog.com.

The post AppFog Web Console UI Updates appeared first on Platform as a Service Magazine.

, ,

APIs

CloudRail Extends API with Box.com Integration and Node.js SDK

18 Feb , 2015  

This article is a company-provided press release and ProgrammableWeb cannot vouch for the accuracy of the statements within. If you have questions regarding the information below, please contact the company that issued the press release.

Uncategorized

Box’s new service lets users hold on to their own encryption keys

10 Feb , 2015  

It’s only been a few weeks since Box went public, but the file-sync company with a work-collaboration bent is rolling out a new encryption-key feature to entice big-name companies like the General Electrics of the world who are hesitant to jump to the cloud for security […]

Box’s new service lets users hold on to their own encryption keys originally published by Gigaom, © copyright 2015.

Continue reading…

,

Uncategorized

TeraDeep wants to bring deep learning to your dumb devices

2 Feb , 2015  

Open the closet of any gadget geek or computer nerd, and you’re likely to find a lot of skeletons. Stacked deep in a cardboard box or Tupperware tub, there they are: The remains of webcams, routers, phones and other devices deemed too obsolete to keep using […]

TeraDeep wants to bring deep learning to your dumb devices originally published by Gigaom, © copyright 2015.

Continue reading…

,

PaaS

Custom Error Pages for the Win!

1 Feb , 2015  

As a developer, using a Platform-as-a-Service (PaaS) to host your web app or service really simplifies your life. But despite the error handling you’ve embedded into your code :-), your web app or service can still crash or become unresponsive. (Note: Whether you’re running a web site, web application, RESTful API application, SOAP-based web service, or something else, for the rest of this article I’ll just call it an “application”).

As you probably already know, one of the big advantages to using AppFog is that your application will be automatically restarted if it crashes… however, there are also times when your app may not be  responsive. There are several reasons this can happen:

  • Your app has crashed and is unable to restart due to buggy code or a misconfiguration: Bugs, bugs, bugs. It can be really hard to verify your code is bug free — still, some researchers have tackled this challenge.
  • Your app has crashed and is unable to restart due to lack of memory: If your app doesn’t have enough memory to start up, after 10 tries, AppFog will stop trying to re-start it.
  • Excessive inbound requests or slow responses: If your app can’t respond quickly enough to the inbound requests coming in, the AppFog platform will return an error page. This could be due to not having enough app instances to handle the request volume, or perhaps slow database calls are impairing your app performance.
  • Your app is offline: If you stop your app to do maintenance, such as pushing new code or updating your database, it will not be able to respond to inbound requests. Although we recommend using a blue-green deployment approach to ensure your app is available  during updates, not everyone uses this approach.

Whatever the reason, if your app is not responsive, the AppFog platform will return an error page:

Today we are launching a new capability: Custom Error Pages. Although the default error page is unbranded, using a custom error page allows you to return an error page styled to match your application’s look-and-feel.

To set up a Custom Error Page for your application, login to the Web Console, open your app’s mission control page, and select the Custom Error Pages option from the left nav menu to edit the HTML directly. After applying the changes, click the preview link above the editor text box to see how your edits will appear to your users. (Note: The “Apply Changes” button only activates after you’ve made changes)

 

Alternatively, you can use the Custom Error Page Generator at the bottom of the page to customize your error message. We store the HTML for your Custom Error page, but to use a different CSS or image assets, you’ll need to embed the links to these resources in your HTML. For our default error page, we used Amazon’s S3 service for its simplicity and reliability. To learn more, please see the Custom Error Page doc.

The post Custom Error Pages for the Win! appeared first on Platform as a Service Magazine.

, , , ,

CloudFoundry

When To Shave Yaks, Or Avoid It All Together

30 Gen , 2015  

featured-yak-shavingI’ve been seeing a common pattern in enterprises development groups recently: IT shops are creating their own Platform as a Service. They’ve built a shared, often cloud-like runtime used to support their custom written applications, the software used to run their business internally and externally. They’ve got their own platform. Many companies were forced to do this in past years because viable PaaSes that met their requirements didn’t exist; there’s all sorts of examples, perhaps most famously, Google and Netflix, each of whom had to build large scale, cloud-driven platforms to fit their business.

Each of these companies had to build their own platform many years ago to get their competitive advantage: the agility, speed, and cost controls that their in-house cloud platforms gave them pushed their businesses ahead. In those early days, you had to handcraft all the layers needed, often inventing them yourself with the beneficial and hard learnings that come from failure. Much of that knowledge has since been sucked out those companies and put into the commons for everyone to use. Apache Hadoop® is based on some of that secret sauce, the practices and technologies of DevOps emerged from the primordial, in-house cloud ooze, and Cloud Foundry was designed to learn from the custom platform at Google.

“Good job provisioning servers this year,” said no CEO ever in an annual review.

With that knowledge in the commons and in mature platform products, there’s little competitive advantage in building your own platform now from the bare-metal up. Instead, there’s more competitive advantage in selecting an off-the-shelf platform and focusing on your own applications. The applications are the actual code—the mobile apps, the business process, and all that stuff we used to call “business logic”—that you end-users and customers see and interact with. The application is where you differentiate from your competitors, not how you manage compute, networking, and storage.

Therefore, one would think it’d behove companies to focus most of their attention on application layer, not just the layers below it. Take a look at this recent chart from my former analyst firm 451 Research listing cloud related projects over the next two years:

Cloud Computing Total Opportunity - TIP Coud Wave 7 - Screenshot 2015-01-22 10.24.07
Source: “Reference Technology and Services Roadmap – Cloud Computing Wave 7,” 451 Research, Aug 2014

Shifting through all the anecdotes and the studies, you can tell that there’s a lot of raw infrastructure build-out going on. People are building IaaS, automation, and all the layers that operations staff needs to run their data centers. On the other hand, projects associated directly with writing the actual software (where the real business value is) tend to be further down the list. When I see this chart, the strategist in me sees the chance to leapfrog competition if only you can figure out the right technology to pogo-stick with.

Instead of taking time to build your own platform, just get an off the shelf one and move up the stack to the actual application. I’m fond of cheesy analogies involving going to the grocery store: it’s like you need to buy some milk and you’ve spent a month building a car when you could have just bought a car.

Why Does This Happen?

I’m interested in finding the causes of decisions in IT, and understanding those causes is more than just entertaining, it helps people change for the better, whether it’s learning from success or failure. So why is there this deep focus on building out raw infrastructure? Let’s look at some of the causes (with benefits), and then problems building your own platform can create.

Causes: “I Am A Unique Snowflake”

Most of the reasons companies end up building their own platforms revolve around a misunderstanding of how to best apply IT to making the business profitable. IT usually best serves the business by being close to the customer (or the core transaction the business performs), for example, working on the application layer. This is the layer that’s visible day-to-day and where the business can differentiate against competition. There are of course, legitimate reasons to build your own platform, but for the most part, the causes are variations on poorly aligning IT strategy to business strategy:

  • “Let’s build a private cloud.”  You want to pull back from public cloud, often from AWS. There are many reasons, sometimes competitive pressures (like if you’re in retail – do you want to run your business in your competitor’s data centers?), oftentimes the desire and need to fully control the stack and run in a single tenant mode.
  • “That’s what I do!” I’ve spoken with many sysadmin types over the years and, like any human, they want to do more of what they’re good at. Thanks to decades of IT Service Management and ITIL thinking, they’re good at building infrastructure and then providing controlled access to it. Little wonder they’d want to do the same in the cloud era. However, to switch back to an application developer mindset, that can seem a bit like “gold plating” as we used to call it in the Patterns days or “yak shaving” as the kids term it now.
  • The sins of our forefathers. Maybe you inherited this platform through M&A or portfolio consolidation – at organizations of any size, esp. large ones, you might end up with a hodge-podge of methods for delivering applications. This could be due to “shadow IT,” acquiring other companies (think of all the bank consolidation over the past few years, or dollar stores melding together – there’s lots of IT to consolidate), or even re-orging large divisions. You’re left dealing with problems someone else caused: the type of thing a lot of enterprise CIOs are forced to eat for breakfast (lunch and dinner!) each day.
  • The yak, it needs shaving. There are still instances, to be sure, where you need to build a platform from the ground up. Maybe you deal in secrets like spy agencies and military – those Palantir people seem to be growing in quiet with only the occasional moppy-headed CEO picture leaking out. People like Planet and Space X who are building out space likely have interesting unique needs. Even in this situation, you want to keep an eye on shared pool of brains in your industry (usually represented by open source efforts) and start to reap benefits from using a common platform.

Problems: “Now I’ve Got Two Problems”

The problems in building and running your own platform sprout from the first problem of “You own it, you build and run it.” not only do you need to staff (or pay for outsourcing) the development of your platform, but you’ll need to maintain a staff to keep it updated. This might be fine, but it also means more resources being spent on non-differentiating IT instead of building the actual applications used to run your business. The rest of the problems are variations on that theme:

  • Limited technology support limits innovation. Because you’ve built your own platform, you often only have resources to support one or two programming language well, let alone all sorts of middleware and databases. While this might have been of limited concern in the triarch days of Java/.Net/LAMP, as the bi-annual RedMonk programming language index consistently shows, we’re in a polyglot age where using the right language for the task is one way to achieve advantage. The same is true in other parts of the stack, like the data and analytics slices where options abound.
  • A self-ecosystem means you’re on your own. Your options are not only stymied when it comes to the internal components (languages and middleware) for your platform, but you’ll also limit your access to support tools (all that stuff in that makes up Geoffrey Moore’s “whole product”) like systems management and security tools, consulting, development tools (from IDEs to CI/CD and portfolio management tools the PMO folks need to allocate budget each year) and other third party services that often target industry standards rather than enterprise one-offs.
  • Not “extensible.” As a consequences of being a self-ecosystem, you may not be able to add new features, functionality, and frameworks as quickly as others. This is one of the main benefits of an vibrant open source community (or well funded and staffed closed “community”) around a platform: there are many people and organizations adding in new functionality each year that you get for “free.”
  • Ancient lore considered painful. Whereas your staff might have understood how it all worked for the first few years, as staff move to other projects or companies, you’ll often slowly forget how it all fit together and worked. Without a vibrant, multi-party set of eyeballs and brains on the project, consistently documenting the “lore” around the platform is difficult, resulting in what was once an understandable white-box turning into an impenetrable, gold-plated black box that’s more a painful riddle than a helpful tool. This often happens when you’ve inherited large chunks of your IT portfolio.
  • You’re now in the three-ring binder business. Another consequence of having your own platform is needing to educate new staff on its use, often in metaphorical or literal three ring binder run, internally funded training sessions. There’s no O’Reilly books to go buy and read, online docs, or StackExchange sites to ask questions in. You own the training. (Of course, this isn’t to dismiss training and learning, but rather enforce it: that time is better spent learning more valuable things than how to build and run a platform, like perfecting how you design and build the actual software used to delight your customers and run your business.)
  • Stuck in a “portability” cul-de-sac –  By virtue of owning a unique platform, your applications likely run best in your own platform, or, worse and more common, they only run in your platform. So you’ve created your own lock-in, a feat usually limited to multi-billion dollar, multinational vendors. Lock-in is a core taboo in IT strategy and one that guides much cloud think now-a-days in a beneficial way: as Gartner’s Eric Knipp put it recently, “[h]ybrid cloud requirements have made portability a higher priority, and having a cloud exit plan is mandatory.”
  • “Remember page 382 of that EULA your predecessor’s lawyers accepted five years ago?” While it can be a minor concern, licensing issues around components you use in your own platform might rear their head. Closed source enterprise databases and middleware are notorious for being prickly when it comes to the price to embed. There’s little guarantee that you can simply bring your own license to cloud scenarios, where-as newer PaaSes tend to have better success at sorted out these concerns.
  • Welcome to systems programming. Whereas you may be an expert at application development, once you’ve built and run your own platform you now have to become a systems programmer: understanding and coding up all the operations concerns for actually running the platform. This jump from application to systems development is not easy: those spooky kernel people in dad jeans don’t seem to think the same as the skinny jeans app folks.

“What Have the Romans Ever Done For Us?!”

Again, I feel like people have had to build these types platforms for a long time because there weren’t enough viable options. There’s a certain “dark ages” between the waning days of Java and .Net and the renaissance we have now with PaaS and other microservices-think driven platforms. Admittedly, there were bright-spots that benefited us all during these dark ages for platforms, like rails and the emergence of JavaScript as programmer WD-40 (that simple thing that seems to make everything easier and smoother), but it’s been a long time since there were viable options for off the shelf (or, now, “off the web”) platforms. Obviously, I’m biased being at Pivotal, but that chance to move our attention back up the stack, closer to the user is part of why I joined Pivotal. In Pivotal Cloud Foundry it feels like there’s a good platform, it feels like there’s a good platform, ready to do the drudgery work at the infrastructure level so companies can focus on more delightful (and profitable) uses of IT in the application layer.

Editor’s Note: Apache, Apache Hadoop, Hadoop, and the yellow elephant logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.

, , , , , , , , , , ,

CloudFoundry

When To Shave Yaks, Or Avoid It All Together

30 Gen , 2015  

featured-yak-shavingI’ve been seeing a common pattern in enterprises development groups recently: IT shops are creating their own Platform as a Service. They’ve built a shared, often cloud-like runtime used to support their custom written applications, the software used to run their business internally and externally. They’ve got their own platform. Many companies were forced to do this in past years because viable PaaSes that met their requirements didn’t exist; there’s all sorts of examples, perhaps most famously, Google and Netflix, each of whom had to build large scale, cloud-driven platforms to fit their business.

Each of these companies had to build their own platform many years ago to get their competitive advantage: the agility, speed, and cost controls that their in-house cloud platforms gave them pushed their businesses ahead. In those early days, you had to handcraft all the layers needed, often inventing them yourself with the beneficial and hard learnings that come from failure. Much of that knowledge has since been sucked out those companies and put into the commons for everyone to use. Apache Hadoop® is based on some of that secret sauce, the practices and technologies of DevOps emerged from the primordial, in-house cloud ooze, and Cloud Foundry was designed to learn from the custom platform at Google.

“Good job provisioning servers this year,” said no CEO ever in an annual review.

With that knowledge in the commons and in mature platform products, there’s little competitive advantage in building your own platform now from the bare-metal up. Instead, there’s more competitive advantage in selecting an off-the-shelf platform and focusing on your own applications. The applications are the actual code—the mobile apps, the business process, and all that stuff we used to call “business logic”—that you end-users and customers see and interact with. The application is where you differentiate from your competitors, not how you manage compute, networking, and storage.

Therefore, one would think it’d behove companies to focus most of their attention on application layer, not just the layers below it. Take a look at this recent chart from my former analyst firm 451 Research listing cloud related projects over the next two years:

Cloud Computing Total Opportunity - TIP Coud Wave 7 - Screenshot 2015-01-22 10.24.07
Source: “Reference Technology and Services Roadmap – Cloud Computing Wave 7,” 451 Research, Aug 2014

Shifting through all the anecdotes and the studies, you can tell that there’s a lot of raw infrastructure build-out going on. People are building IaaS, automation, and all the layers that operations staff needs to run their data centers. On the other hand, projects associated directly with writing the actual software (where the real business value is) tend to be further down the list. When I see this chart, the strategist in me sees the chance to leapfrog competition if only you can figure out the right technology to pogo-stick with.

Instead of taking time to build your own platform, just get an off the shelf one and move up the stack to the actual application. I’m fond of cheesy analogies involving going to the grocery store: it’s like you need to buy some milk and you’ve spent a month building a car when you could have just bought a car.

Why Does This Happen?

I’m interested in finding the causes of decisions in IT, and understanding those causes is more than just entertaining, it helps people change for the better, whether it’s learning from success or failure. So why is there this deep focus on building out raw infrastructure? Let’s look at some of the causes (with benefits), and then problems building your own platform can create.

Causes: “I Am A Unique Snowflake”

Most of the reasons companies end up building their own platforms revolve around a misunderstanding of how to best apply IT to making the business profitable. IT usually best serves the business by being close to the customer (or the core transaction the business performs), for example, working on the application layer. This is the layer that’s visible day-to-day and where the business can differentiate against competition. There are of course, legitimate reasons to build your own platform, but for the most part, the causes are variations on poorly aligning IT strategy to business strategy:

  • “Let’s build a private cloud.”  You want to pull back from public cloud, often from AWS. There are many reasons, sometimes competitive pressures (like if you’re in retail – do you want to run your business in your competitor’s data centers?), oftentimes the desire and need to fully control the stack and run in a single tenant mode.
  • “That’s what I do!” I’ve spoken with many sysadmin types over the years and, like any human, they want to do more of what they’re good at. Thanks to decades of IT Service Management and ITIL thinking, they’re good at building infrastructure and then providing controlled access to it. Little wonder they’d want to do the same in the cloud era. However, to switch back to an application developer mindset, that can seem a bit like “gold plating” as we used to call it in the Patterns days or “yak shaving” as the kids term it now.
  • The sins of our forefathers. Maybe you inherited this platform through M&A or portfolio consolidation – at organizations of any size, esp. large ones, you might end up with a hodge-podge of methods for delivering applications. This could be due to “shadow IT,” acquiring other companies (think of all the bank consolidation over the past few years, or dollar stores melding together – there’s lots of IT to consolidate), or even re-orging large divisions. You’re left dealing with problems someone else caused: the type of thing a lot of enterprise CIOs are forced to eat for breakfast (lunch and dinner!) each day.
  • The yak, it needs shaving. There are still instances, to be sure, where you need to build a platform from the ground up. Maybe you deal in secrets like spy agencies and military – those Palantir people seem to be growing in quiet with only the occasional moppy-headed CEO picture leaking out. People like Planet and Space X who are building out space likely have interesting unique needs. Even in this situation, you want to keep an eye on shared pool of brains in your industry (usually represented by open source efforts) and start to reap benefits from using a common platform.

Problems: “Now I’ve Got Two Problems”

The problems in building and running your own platform sprout from the first problem of “You own it, you build and run it.” not only do you need to staff (or pay for outsourcing) the development of your platform, but you’ll need to maintain a staff to keep it updated. This might be fine, but it also means more resources being spent on non-differentiating IT instead of building the actual applications used to run your business. The rest of the problems are variations on that theme:

  • Limited technology support limits innovation. Because you’ve built your own platform, you often only have resources to support one or two programming language well, let alone all sorts of middleware and databases. While this might have been of limited concern in the triarch days of Java/.Net/LAMP, as the bi-annual RedMonk programming language index consistently shows, we’re in a polyglot age where using the right language for the task is one way to achieve advantage. The same is true in other parts of the stack, like the data and analytics slices where options abound.
  • A self-ecosystem means you’re on your own. Your options are not only stymied when it comes to the internal components (languages and middleware) for your platform, but you’ll also limit your access to support tools (all that stuff in that makes up Geoffrey Moore’s “whole product”) like systems management and security tools, consulting, development tools (from IDEs to CI/CD and portfolio management tools the PMO folks need to allocate budget each year) and other third party services that often target industry standards rather than enterprise one-offs.
  • Not “extensible.” As a consequences of being a self-ecosystem, you may not be able to add new features, functionality, and frameworks as quickly as others. This is one of the main benefits of an vibrant open source community (or well funded and staffed closed “community”) around a platform: there are many people and organizations adding in new functionality each year that you get for “free.”
  • Ancient lore considered painful. Whereas your staff might have understood how it all worked for the first few years, as staff move to other projects or companies, you’ll often slowly forget how it all fit together and worked. Without a vibrant, multi-party set of eyeballs and brains on the project, consistently documenting the “lore” around the platform is difficult, resulting in what was once an understandable white-box turning into an impenetrable, gold-plated black box that’s more a painful riddle than a helpful tool. This often happens when you’ve inherited large chunks of your IT portfolio.
  • You’re now in the three-ring binder business. Another consequence of having your own platform is needing to educate new staff on its use, often in metaphorical or literal three ring binder run, internally funded training sessions. There’s no O’Reilly books to go buy and read, online docs, or StackExchange sites to ask questions in. You own the training. (Of course, this isn’t to dismiss training and learning, but rather enforce it: that time is better spent learning more valuable things than how to build and run a platform, like perfecting how you design and build the actual software used to delight your customers and run your business.)
  • Stuck in a “portability” cul-de-sac –  By virtue of owning a unique platform, your applications likely run best in your own platform, or, worse and more common, they only run in your platform. So you’ve created your own lock-in, a feat usually limited to multi-billion dollar, multinational vendors. Lock-in is a core taboo in IT strategy and one that guides much cloud think now-a-days in a beneficial way: as Gartner’s Eric Knipp put it recently, “[h]ybrid cloud requirements have made portability a higher priority, and having a cloud exit plan is mandatory.”
  • “Remember page 382 of that EULA your predecessor’s lawyers accepted five years ago?” While it can be a minor concern, licensing issues around components you use in your own platform might rear their head. Closed source enterprise databases and middleware are notorious for being prickly when it comes to the price to embed. There’s little guarantee that you can simply bring your own license to cloud scenarios, where-as newer PaaSes tend to have better success at sorted out these concerns.
  • Welcome to systems programming. Whereas you may be an expert at application development, once you’ve built and run your own platform you now have to become a systems programmer: understanding and coding up all the operations concerns for actually running the platform. This jump from application to systems development is not easy: those spooky kernel people in dad jeans don’t seem to think the same as the skinny jeans app folks.

“What Have the Romans Ever Done For Us?!”

Again, I feel like people have had to build these types platforms for a long time because there weren’t enough viable options. There’s a certain “dark ages” between the waning days of Java and .Net and the renaissance we have now with PaaS and other microservices-think driven platforms. Admittedly, there were bright-spots that benefited us all during these dark ages for platforms, like rails and the emergence of JavaScript as programmer WD-40 (that simple thing that seems to make everything easier and smoother), but it’s been a long time since there were viable options for off the shelf (or, now, “off the web”) platforms. Obviously, I’m biased being at Pivotal, but that chance to move our attention back up the stack, closer to the user is part of why I joined Pivotal. In Pivotal Cloud Foundry it feels like there’s a good platform, it feels like there’s a good platform, ready to do the drudgery work at the infrastructure level so companies can focus on more delightful (and profitable) uses of IT in the application layer.

Editor’s Note: Apache, Apache Hadoop, Hadoop, and the yellow elephant logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.

, , , , , , , , , , ,

CloudFoundry

When To Shave Yaks, Or Avoid It All Together

30 Gen , 2015  

featured-yak-shavingI’ve been seeing a common pattern in enterprises development groups recently: IT shops are creating their own Platform as a Service. They’ve built a shared, often cloud-like runtime used to support their custom written applications, the software used to run their business internally and externally. They’ve got their own platform. Many companies were forced to do this in past years because viable PaaSes that met their requirements didn’t exist; there’s all sorts of examples, perhaps most famously, Google and Netflix, each of whom had to build large scale, cloud-driven platforms to fit their business.

Each of these companies had to build their own platform many years ago to get their competitive advantage: the agility, speed, and cost controls that their in-house cloud platforms gave them pushed their businesses ahead. In those early days, you had to handcraft all the layers needed, often inventing them yourself with the beneficial and hard learnings that come from failure. Much of that knowledge has since been sucked out those companies and put into the commons for everyone to use. Apache Hadoop® is based on some of that secret sauce, the practices and technologies of DevOps emerged from the primordial, in-house cloud ooze, and Cloud Foundry was designed to learn from the custom platform at Google.

“Good job provisioning servers this year,” said no CEO ever in an annual review.

With that knowledge in the commons and in mature platform products, there’s little competitive advantage in building your own platform now from the bare-metal up. Instead, there’s more competitive advantage in selecting an off-the-shelf platform and focusing on your own applications. The applications are the actual code—the mobile apps, the business process, and all that stuff we used to call “business logic”—that you end-users and customers see and interact with. The application is where you differentiate from your competitors, not how you manage compute, networking, and storage.

Therefore, one would think it’d behove companies to focus most of their attention on application layer, not just the layers below it. Take a look at this recent chart from my former analyst firm 451 Research listing cloud related projects over the next two years:

Cloud Computing Total Opportunity - TIP Coud Wave 7 - Screenshot 2015-01-22 10.24.07
Source: “Reference Technology and Services Roadmap – Cloud Computing Wave 7,” 451 Research, Aug 2014

Shifting through all the anecdotes and the studies, you can tell that there’s a lot of raw infrastructure build-out going on. People are building IaaS, automation, and all the layers that operations staff needs to run their data centers. On the other hand, projects associated directly with writing the actual software (where the real business value is) tend to be further down the list. When I see this chart, the strategist in me sees the chance to leapfrog competition if only you can figure out the right technology to pogo-stick with.

Instead of taking time to build your own platform, just get an off the shelf one and move up the stack to the actual application. I’m fond of cheesy analogies involving going to the grocery store: it’s like you need to buy some milk and you’ve spent a month building a car when you could have just bought a car.

Why Does This Happen?

I’m interested in finding the causes of decisions in IT, and understanding those causes is more than just entertaining, it helps people change for the better, whether it’s learning from success or failure. So why is there this deep focus on building out raw infrastructure? Let’s look at some of the causes (with benefits), and then problems building your own platform can create.

Causes: “I Am A Unique Snowflake”

Most of the reasons companies end up building their own platforms revolve around a misunderstanding of how to best apply IT to making the business profitable. IT usually best serves the business by being close to the customer (or the core transaction the business performs), for example, working on the application layer. This is the layer that’s visible day-to-day and where the business can differentiate against competition. There are of course, legitimate reasons to build your own platform, but for the most part, the causes are variations on poorly aligning IT strategy to business strategy:

  • “Let’s build a private cloud.”  You want to pull back from public cloud, often from AWS. There are many reasons, sometimes competitive pressures (like if you’re in retail – do you want to run your business in your competitor’s data centers?), oftentimes the desire and need to fully control the stack and run in a single tenant mode.
  • “That’s what I do!” I’ve spoken with many sysadmin types over the years and, like any human, they want to do more of what they’re good at. Thanks to decades of IT Service Management and ITIL thinking, they’re good at building infrastructure and then providing controlled access to it. Little wonder they’d want to do the same in the cloud era. However, to switch back to an application developer mindset, that can seem a bit like “gold plating” as we used to call it in the Patterns days or “yak shaving” as the kids term it now.
  • The sins of our forefathers. Maybe you inherited this platform through M&A or portfolio consolidation – at organizations of any size, esp. large ones, you might end up with a hodge-podge of methods for delivering applications. This could be due to “shadow IT,” acquiring other companies (think of all the bank consolidation over the past few years, or dollar stores melding together – there’s lots of IT to consolidate), or even re-orging large divisions. You’re left dealing with problems someone else caused: the type of thing a lot of enterprise CIOs are forced to eat for breakfast (lunch and dinner!) each day.
  • The yak, it needs shaving. There are still instances, to be sure, where you need to build a platform from the ground up. Maybe you deal in secrets like spy agencies and military – those Palantir people seem to be growing in quiet with only the occasional moppy-headed CEO picture leaking out. People like Planet and Space X who are building out space likely have interesting unique needs. Even in this situation, you want to keep an eye on shared pool of brains in your industry (usually represented by open source efforts) and start to reap benefits from using a common platform.

Problems: “Now I’ve Got Two Problems”

The problems in building and running your own platform sprout from the first problem of “You own it, you build and run it.” not only do you need to staff (or pay for outsourcing) the development of your platform, but you’ll need to maintain a staff to keep it updated. This might be fine, but it also means more resources being spent on non-differentiating IT instead of building the actual applications used to run your business. The rest of the problems are variations on that theme:

  • Limited technology support limits innovation. Because you’ve built your own platform, you often only have resources to support one or two programming language well, let alone all sorts of middleware and databases. While this might have been of limited concern in the triarch days of Java/.Net/LAMP, as the bi-annual RedMonk programming language index consistently shows, we’re in a polyglot age where using the right language for the task is one way to achieve advantage. The same is true in other parts of the stack, like the data and analytics slices where options abound.
  • A self-ecosystem means you’re on your own. Your options are not only stymied when it comes to the internal components (languages and middleware) for your platform, but you’ll also limit your access to support tools (all that stuff in that makes up Geoffrey Moore’s “whole product”) like systems management and security tools, consulting, development tools (from IDEs to CI/CD and portfolio management tools the PMO folks need to allocate budget each year) and other third party services that often target industry standards rather than enterprise one-offs.
  • Not “extensible.” As a consequences of being a self-ecosystem, you may not be able to add new features, functionality, and frameworks as quickly as others. This is one of the main benefits of an vibrant open source community (or well funded and staffed closed “community”) around a platform: there are many people and organizations adding in new functionality each year that you get for “free.”
  • Ancient lore considered painful. Whereas your staff might have understood how it all worked for the first few years, as staff move to other projects or companies, you’ll often slowly forget how it all fit together and worked. Without a vibrant, multi-party set of eyeballs and brains on the project, consistently documenting the “lore” around the platform is difficult, resulting in what was once an understandable white-box turning into an impenetrable, gold-plated black box that’s more a painful riddle than a helpful tool. This often happens when you’ve inherited large chunks of your IT portfolio.
  • You’re now in the three-ring binder business. Another consequence of having your own platform is needing to educate new staff on its use, often in metaphorical or literal three ring binder run, internally funded training sessions. There’s no O’Reilly books to go buy and read, online docs, or StackExchange sites to ask questions in. You own the training. (Of course, this isn’t to dismiss training and learning, but rather enforce it: that time is better spent learning more valuable things than how to build and run a platform, like perfecting how you design and build the actual software used to delight your customers and run your business.)
  • Stuck in a “portability” cul-de-sac –  By virtue of owning a unique platform, your applications likely run best in your own platform, or, worse and more common, they only run in your platform. So you’ve created your own lock-in, a feat usually limited to multi-billion dollar, multinational vendors. Lock-in is a core taboo in IT strategy and one that guides much cloud think now-a-days in a beneficial way: as Gartner’s Eric Knipp put it recently, “[h]ybrid cloud requirements have made portability a higher priority, and having a cloud exit plan is mandatory.”
  • “Remember page 382 of that EULA your predecessor’s lawyers accepted five years ago?” While it can be a minor concern, licensing issues around components you use in your own platform might rear their head. Closed source enterprise databases and middleware are notorious for being prickly when it comes to the price to embed. There’s little guarantee that you can simply bring your own license to cloud scenarios, where-as newer PaaSes tend to have better success at sorted out these concerns.
  • Welcome to systems programming. Whereas you may be an expert at application development, once you’ve built and run your own platform you now have to become a systems programmer: understanding and coding up all the operations concerns for actually running the platform. This jump from application to systems development is not easy: those spooky kernel people in dad jeans don’t seem to think the same as the skinny jeans app folks.

“What Have the Romans Ever Done For Us?!”

Again, I feel like people have had to build these types platforms for a long time because there weren’t enough viable options. There’s a certain “dark ages” between the waning days of Java and .Net and the renaissance we have now with PaaS and other microservices-think driven platforms. Admittedly, there were bright-spots that benefited us all during these dark ages for platforms, like rails and the emergence of JavaScript as programmer WD-40 (that simple thing that seems to make everything easier and smoother), but it’s been a long time since there were viable options for off the shelf (or, now, “off the web”) platforms. Obviously, I’m biased being at Pivotal, but that chance to move our attention back up the stack, closer to the user is part of why I joined Pivotal. In Pivotal Cloud Foundry it feels like there’s a good platform, it feels like there’s a good platform, ready to do the drudgery work at the infrastructure level so companies can focus on more delightful (and profitable) uses of IT in the application layer.

Editor’s Note: Apache, Apache Hadoop, Hadoop, and the yellow elephant logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.

, , , , , , , , , , ,