For many years, I worked for technology vendors in roles that involved building new products and then trying to get businesses to buy and use them. A good portion of my time was spent talking to IT organizations about all the new features we had available and why they would want to use those features to solve a problem they had. To support this effort, we made tons of PPT slides and brought out extremely detailed roadmaps of what the next 6-12-18 months would look like.
But here’s where reality used to set in:
- About 70-80% of customers were running software that was at least 2-3 releases behind the “latest version”.
- Regardless of what version of software the customers were running, the majority of them would only turn on about 30% of the features (mostly the defaults).
- It was not unusual to see customers take 3-6 months, and sometimes longer, to test and validate a new release before it would go into production. And then there was the waiting period before an “outage window” was available for the update.
While this was equally frustrating for the vendors and the customers, the give and take or features vs. deployments sort of settled into a groove and the industry learned to deal with these realities.
Then software-defined-<whatever> and open source started to become more mainstream, which brought with them a completely different update model.
- VMware hypervisor has a major release every 12 months, with a minor bug-fix release every 6 months.
- OpenStack has a major release every 6 months.
- Docker has updates every 1-2 months.
- Technologies like Kubernetes and Mesos are releasing updates every 1-2 months.
Houston….we might have a problem.
The good news is that these newer technologies bring with them lots of tools and best-practices to adjust to the increased pace of updates. Stuff like:
- Continuous Integration and Continuous Deployments (CI / CD) – tools like GitHub and Jenkins and JFrog and others to help send new software into a pipeline of tests and have them get deployed into Dev, Test, Staging and Production.
- Automation – lots of tools like Docker, Chef, Puppet, Ansible, SaltStack to help automate deployments.
- DevOps – the cultural phenomenon where Devs and Ops groups (or integrated into one group) work more closely together to collaborate around deployments.
- Blue / Green Deployments – the model where updates are deployed to a small % of the available resources to validate if the changes work in production – and then if things are good then the updates can be deployed to more / all the resources.
The bad news is that IT organizations will need to learn all these new techniques and tools if they want to take advantage of these new technologies.
…or they can look to various vendors and cloud providers that will deliver those technologies as a service.
…or they can just use public cloud services and not worry about maintaining any of them (updates included).
So before IT organizations start evaluating these new technologies, they need to evaluate how well they can introduce a very rapid learning curve of new operational models into their organization. Just figuring out upgrades might be enough to make them think twice about an DIY projects.
Lately, I’ve been trying to connect a few dots that seem to be complicated to connect:
- VCs (and others) have publicly said that there will never be another Red Hat in the open source software world – namely that there will never be another company that makes large amounts of money (at $1B+ levels) supporting open source software.
- The most widely used services on the Internet wouldn’t exist without open source software.
- The majority of the revenue that comes from activities associated with open source software are driven by companies where open source is just an input into a cloud-delivered service.
- VCs continue to pour millions of dollars into companies that lead open source projects (e.g. Pivotal ($250M+), CoreOS ($28M), Rancher Labs ($20M), Weave ($15M)) – $300M+, and that’s just in the last week. Fairly recently, we’ve seen Mesosphere get $73M, Mirantis get $200M….and the list goes on and on.
- It’s not clear that these same VCs have any idea what business models are viable when the core technology is based on open source software. The only model they discussed in the podcast was a SaaS vendor that included aspects of open source in their offering – e.g. managed open source.
As I wrote last week, the 2016 Open Source Jobs Report highlights that 87% of companies are struggling to find talent for emerging open source technologies. And as I talk to more and more of these companies, many of them will tell you that they initially thought they were selling to developers, but it was often the operations or security teams that held the budget to make the buying decisions.
Here’s where I’m confused:
- It seems like the best way to monetized open source is to either deliver it as a cloud service, or be in services/support (e.g. Red Hat, Chef, Puppet, etc.). The services/support model is limited in scale because it’s people-centric.
- The largest cloud providers (AWS, Azure, Google) are getting more proficient at taking the open source projects and turning them into services (e.g. container schedulers, etc.). They are eliminating the operations skills-gap that’s called out the Open Source Jobs report.
- The large cloud providers are not acquiring the open source startups, especially in the infrastructure domains.
- The largest contributors to open source projects tend to be the largest vendors, who can afford to pay engineers to stay focused on open source projects (e.g. Intel, IBM, Red Hat, Cisco, HPE).
So why do we continue to see all this VC funding?
- Do the VC expect the large traditional vendors (except Red Hat) to try and use open source acquisitions as a way to prevent the on-going commoditization of hardware? This doesn’t seem to work, as most of these acquisitions have been < $200M (except Citrix buying Cloud.com for $400M) and most don’t align to their existing go-to-market models.
- Do the VCs expect the cloud providers to start acquiring the startups for talent? That could work, but probably not at the large valuations that now exist.
- Do the VCs expect that developers, who have traditionally not held large budgets, will start becoming large buying centers? And will they be using that software on-premises, or in the public cloud?
- Do the VCs expect the startups to reach IPO? At least for the infrastructure companies, that path has not yet shown success.
So many of these investments are in areas that have overlapping technology and present way too many choices to Enterprises that don’t have the skill-sets in-house to make those long-term decisions.
At the end of the day, the only thing I can logically think of is that the VCs see these investments as relatively small, but strategic enough to kick-start enough development that the cloud providers will someday add as a valuable service. Then the VC investments in application-centric services can take advantage of those services and hopefully scale faster.
I continue to not be able to connect some of these dots together. Would be interested in hearing how others see these investments evolving…
In the past, I’ve written a number of times (here, here, here) about how it is getting easier to learn new technologies. It’s true – between free software, tons of online blogs and tutorials, and free public cloud services, there has never been a better time to learn about new technologies.
But cost is rarely the inhibitor to learning anymore. It’s things like time and priorities and motivation. And most importantly, learning new stuff can be difficult. I was on a run recently and I was listening to my friend Jason Edelman (@jedelman8) on the Datanauts podcast. Jason is one of my favorite stories about learning new stuff because he started doing it at night because he was passionate about automation. It was a hobby for a while, but it evolved into his full-time business…..which is going to get really cool very soon (keep an eye on it!!).
As I listened to Jason talk about his journey, it dawned on me that there isn’t a roadmap for this stuff. And even when you think there is a roadmap, it probably has a few dozen forks in it because technology is evolving so rapidly and far too often engineering communities try and solve the same type of problem about 6 different ways.
Is there a Formula for Learning?
As I continued running, I wondered if there was an easier way to help people think about what to learn, or how to learn it. Is there a simplified formula that could be used, similar to how financial planners tell you what mix of stocks and bonds to invest in for retirement?
It’s not perfect by any means, but here’s what I came up with.
- Take your current age and subtract it from 60 (eg. 60-35=25).
- Then take the answer, and round it to the nearest decade (e.g. 32=30, 35=40)
- Divide that number by 10, and then subtract 1.
- This final number is the suggested number of new technologies or skills you should learn every couple years if you want to stay relatively competitive in technology markets.
Example: Let’s say you’re 35 years old. So 60-35 = 25. We round that up to 30, divide by 10 (=3) and subtract 1 (=2). At age 35, you’re in a peak earning range and upwardly mobile, so learning 2 new technologies (or skills) should keep you ahead of the pack.
Where Should I Focus?
This is always a complicated question, so let’s try and simplify it a little bit. Instead of choosing a specific technology, focus on a type of technology. For example, let’s suppose that you want to learn about data center automation. Instead of stressing over Chef vs. Puppet vs. Ansible vs. SaltStack vs. whatever, just pick one of them. The biggest thing you’ll learn is ‘how to learn’. Becoming an expert in a year or two isn’t the goal, in fact Gladwell would say you’d need 5yrs of dedicated focus to become an expert (10,000hr Rule), instead the goal is to learn the new paradigm of learning. The same thing goes for learning a new business skill or other relevant skill for your industry.
Just Get Started
What I’ve always learned when trying new things isn’t that the new stuff is so hard to learn, it’s your own ability to deal with frustration. There’s some personal ego to get over. But if you can find a buddy to learn with, or a great tutorial, or just that you’re willing to laugh at your early failures, it usually works out alright.
The key is to get started, try not to be overwhelmed, and stay persistent with the baby steps. Our industry is constantly changing, which means that you need to constantly change as well. Learning how to learn is the most important thing you can learn.
One of the most frequent questions asked by IT organizations is, “Which applications should run in the cloud?”. While there are no definitive answers, and various people will try to put this into a bunch of categories, it is a question that continues to be asked by many IT organizations.
To some extent, the answer given of follows how the answering person makes money in the industry. Are they aligned more to public cloud (and software developers) or more aligned to private cloud (and often hardware upgrades)?
Today, as I scrolled through my Twitter timeline, I saw two opinions that got me thinking that maybe there will be two schools of thought going forward.
One school of thought was that most applications need to live on-premises, because that’s where the majority of “users” reside, and that users need to be close to the applications. I can understand this mindset if someone sells technology that primarily lives on-premises, or they are primarily focused on IT-centric applications (Microsoft, SAP, Oracle) or things like VDI. While these applications might not live on a mainframe, they tend to adopt the mainframe mindset of focusing on local applications, local responsiveness and very strict response-times and availability levels.
Another school of thought is that most applications will eventually live in the public cloud. Recently, I’ve been listening to the Engineers.Coffee podcast, which is run by Donnie Flood and Larry Ogrodnek, who build the Bizo business (sold to LinkedIn) entirely on AWS – go download it now! In a recent show, they talked about how easy it was to work with AWS’ Machine Learning (ML) system.
This example builds on the recent news and momentum from Microsoft Azure and Google Cloud Platform around ML and AI.
If the focus of digital business applications are moving to mobile platforms, and ML services can significantly simplify the ability to get “data science” services into an application, there is an excellent chance that we’ll see this area begin to rapidly expand in usage over the next 2-3 years. Even Google’s CEO called out Artifical Intelligence as the future of his company.
What is the Priority of the Business?
By no means is this an extension set of options for customers – near a Mainframe or mean Machine Learning – but it does look at a customer’s priorities. Are they looking to optimize existing environments through things like Virtualization and Converged Infrastructure, or are they focusing budgets on market-facing mobile applications that can be augmented by ML?
One of my kids turned 10 years old recently and it got me thinking about some of the things that have happened in their lifetime. My goal of this exercise wasn’t to remember lost teeth or their 1st bike ride, because those events are captured in 1000s of pictures – as parents seem to do these days. Instead, my goal was to put in perspective the amount of their life that was affected by the things that happened since 2006.
Here’s a short list:
- President Obama is elected
- AWS is created
- iPhone is created
- Tesla ships their first car
- Netflix begins streaming content
- Twitter/Facebook/Instagram/WhatsApp/Pinterest are created.
In just ten years, the IT industry, Automotive industry, Telecommunications industry and Media industry have been significantly disrupted. Multiple trillions (yes, that’s “T” trillions) of dollars in economic value being radically changed in just a decade. In many ways, several of these accomplishments have built upon each other, especially because of AWS and the iPhone. And those technologies were the foundation of getting a US presidential campaign funded and ultimately leading to two elections.
The 1990s and 2000s were all about building out the foundation of the Internet. This created an environment where network connectivity was everywhere (HQ offices, remote offices, coffee shops, your couch and eventually airplanes). This removed the barrier of geography for businesses and communities around the world
The last ten years have been built on that ubiquitous foundation into a world where all the information is now in everybody’s pocket, and the barriers to technology resources are never more than a credit card swipe away.
In 2001, we couldn’t image a world where 100Mb to your desktop (or house) wouldn’t be bandwidth overkill. Now 1Gb/s fiber to your home is becoming commonplace in many cities. In 2008, we couldn’t image a set of applications that would be more compelling than some of the web “mashups” that had emerged out of the Internet bubble. Now $1B+ companies are being built with a storefront that is just an “app” on a 6″ piece of smartphone real-estate.
The access barriers are gone. The infrastructure barriers are gone. And with the spread of open source software, the experimentation barriers are gone. So we’re now at a stage where the ability to be creative far outweighs the ability to fund a great idea.
While I still worry about the future where jobs may be dominated by drones and robots and artificial intelligence, the possibilities to build on those new frameworks are very exciting as well.
The pace of change has never been faster. It’s hard to know what the future will bring, but there’s never been a time when individuals can control their destiny as much as now. The transition from thinking about technology for technology’s sake, to thinking about technology for new business ideas is going to be fun for the next 5-10 years.
In 2014, IT analyst firm Gartner introduced the concept of Bi-Modal IT as a way to explain that legacy applications and next-generation applications are extremely different in how they are developed and operated. The framework suggests that IT should be separated into two groups, each focused on either the existing or future applications.
The advocates seem to align to Gartner’s “Mode 1” group, those invested in the existing application. They argue that existing IT (and business) organizational dynamics will create too much friction to sustain rapid change.
The opponents tend to have experience with the new “Mode 2” applications. They argue that learning to be agile is a critical survival technique for any company hoping to survive the digitization of the 21st century.
How should CIOs think about the digital transition?
While there is no one-size-fits-all approach to the Bi-Modal IT debate, there are three areas that should be consider in any strategy focused on balancing the old and the new:
- Focus on Inward-Facing Context – Internal applications tend to focus on driving productivity for the business. Once deployed, IT organizations focus on making them highly available, measuring their success by uptime metrics. These applications (e.g. Email, CRM, ERP, HCM, Collaboration) rarely provide competitive advantage for the business in today’s world, but they can still be optimized to reduce overall IT costs in the business. This is an area where CIOs should be looking at virtualized, converged infrastructure systems and flash storage to reduce on-going operational costs, as well as a focus on automating repetitive tasks.
- Focus on Outward-Facing Context – As the market evolves and customer’s buying habits change, CIOs need to find ways to manage new and unexpected opportunities. For example, who could have predicted that Pinterest would have such an impact on consumer purchasing habits? As IoT project emerge, how large will they scale? These opportunities bring unexpected challenges to IT that are outside of their normal comfort zone. They demand that IT understand APIs, Cloud Computing and DevOps principles of agility and frequent updates. These applications offer the opportunity to significantly change the business and bring new levels of differentiation to the market.
- Focus on Bridging the Internal and External Applications – While Inward-Facing and Outward-Facing applications often have very different characteristics, the reality is that many companies need to build a bridge between them. For example, how to bring credit card transactions to a new mobile app? Or how to integrate 3rd-party data from a partner into a new analytics application for the sales team?
The best CIOs will recognize that all three areas will need focus and execution to be successful over the next 3-5 years of technology transitions. Each area brings unique characteristics, and they each need skills that are able to work closely with the other two areas. Keeping these focus areas (or teams) isolated will certainly lead to more complicated integration in the future.
The Bi-Modal IT debate will continue over the next few years, as established companies attempt to compete with new startups in every industry. Successful companies will realize that their legacy can be their advantage, but bridging it with the technology of the future will give them a way to move the business forward.
DevOps is a difficult concept to explain to people. It’s part technology, part operational process and part culture. Take a frequently updating application, sprinkle some Chef or Puppet or Docker on it, and wrap it in a big hug of collaboration … and you’re doing the DevOps. All the cool web scale companies, like NetFlix, Uber and AirBnb, but what does it look like in real life?
This got me thinking. Is there way to explain DevOps that everyone can comprehend? It should include the follow things:
- Frequent updates to the application
- Automated test and approval process
- Automated deployment of the application
- Limited friction between the Dev and Ops teams
The nice thing about mobile applications is that everybody has experience interacting with them (business or consumer versions), unlike ERP or HCM applications. The other thing is that most people don’t really know how mobile applications work (on the back side), so you don’t have to overcome bunch of objections about “how high availability works”.
Frequent Updates to the Application
In general, people have experienced the frequent updates to mobile applications. They have come to expect that “new updates” means new features or new security updates. hey also understand that updates can happen at any time or day, not just during the 2am maintenance windows.
Automated Test and Approval Process
This area doesn’t exactly fit the analogy, as the App Store approval process isn’t completely automated. But it can be used to show the application is developed and updated prior to sending it to “a system that manages deployment for users”.
Automated Deployment of the Application – Interaction with a “Platform”
Depending on how the mobile application is built, there is a good chance that it was built using a Mobile Backend as-a-Service (MBaaS) such a Parse or Firebase or another MBaaS. In those scenarios, the application is deployed and nobody really needs to think about how the infrastructure and surrounding services are managed. They just sort of work and handle scalability.
Limited Friction between the Dev and Ops Teams
We dug into this a little bit on The Cloudcast – DevOps is a re-org (at 27:30 of Eps.176). Mobile application development often has to break some of the existing rules to happen, but the framework is in place to build and deploy quickly.
I understand that this isn’t a perfect analogy for how DevOps works, but it can be a useful way to showcase the end result. Show somebody the “after” results. For the technical audience, it clearly hides a lot of complexities involved in moving to a more agile model of application development and operations. It’s not perfect. I’m sure you could “wow” someone by showing them a blue-green deployment update with CI/CD integration without any downtime – but that might take 45 minutes and show lots of CLI commands that are difficult to read and interpret.
These days, there are lots of articles being written about how the “legacy” or “traditional” IT vendors are not long for this world (e.g. here, here). The core premise of these types of articles is typically built around two ideas:
- Business is now being conducted in very different ways, and things like (public) Cloud Computing and Open Source software (contributions, communities, economics) are disrupting the business models of the existing vendors.
- Since we’re now in the Cloud/Mobile era of computing (after Mainframe/Mini, PC/Client-Server), the companies that win the new era are almost never the companies that won the previous era.
If we look at the current Traditional vs. New vendors, it looks like this:
While they are not in exactly the same market segments, there is a overlap, especially as buyers are using new applications, services and devices. Their collective revenues are about the same, while the “New” vendors have higher Mkt.Cap and better Cash/Debt ratios.
Now if we move Microsoft to the “New” category, as they are often mentioned with the transition to Satya Nadella as CEO, the numbers shift significantly:
- Nearly 3x the Market Cap
- 157% more Revenues
- 41% more Cash
- 18% less Debt
- Facebook, Google and Microsoft are reshaping what hardware designs look like though the Open Compute Project (OCP)
- Google and Microsoft are open-sourcing elements of networking software
- Apple is open-sourcing application development frameworks for mobile devices
- Microsoft is open-sourcing many aspects of their development frameworks for .NET
- Salesforce has a massive ecosystem of developers building on their SaaS/PaaS platform
- Collectively those five companies deliver the leading public cloud services in the world.
Some of the numbers in the “New IT” figures are skewed in the sense of being completely “modern”, as Google has massive revenues from Search/Advertising and Microsoft has the Windows/Office revenues. But they are still massive revenue generators that give them the flexibility to move more boldly into the $335B of revenue held by the traditional IT vendors.
Will we see a new round of winners in the Cloud/Mobile era, or will we see the existing incumbents be able to find new routes to revenue growth? Legacy is a difficult thing to replace, but the new combatants have very large war-chests and much newer technology to do battle for those places on the big game board.
It’ll be interesting to see how the next 5-10 years play out…
When I first started using the thing called “the Internet”, it was via something called America Online (AOL). At the time, it was mostly about sending email or reading message boards. There weren’t very many websites at the time, and there was almost no business transactions happening.
Several years later, when I was working at Cisco during the Internet-growth-then-bubble days, we watched the Internet transform into a platform where commerce was a natural extension to this global platform. We couldn’t completely understand it at the time, but we had a sense that John Chambers’ (Cisco CEO) famous line, “the Internet will change the way we live, work, learn and play” would come true in some way.
When I was about 10 years old, I got my first real job as a paperboy for a local newspaper outside of Detroit, Michigan. Delivering those papers in rain or snow or sunshine, and collecting money from customers each month, I learned a lot about discipline and responsibility. I kept that job for three years, before moving onto other teenager jobs like being a stock-clerk at a grocery store or mowing lawns or folding shirts at a mall.
I bring this up for a couple reasons. I remember the first time I heard about a newspaper shutting down their daily circulation because readership had dropped. All of their daily content was now on the Internet and people no longer wanted that delivery service. It was a strange moment, because it was the first time I connected the dots that my new profession was putting my old profession out of existence. Sort of a cars vs. horse and carriage moment for me. And even understanding the evolution of work, it hit close to home about how technology will displace jobs.
Now that I have children, we sometimes discuss the types of jobs that they might have someday. We talk about studying hard in school and things like college, etc. But we also talk about things like how to manage money, and jobs that they might have to make enough money to go out with friends or buy some new clothes.
And then I read about things like the grocery store without any employees. Or Uber for Lawn Care. And then I’m torn about how much of a good thing all this technology is. Sure, convenience is great for consumers, but there is a broader ecosystem of activities in play here. Even the most basic jobs teach kids responsibility, accountability, and how to have basic human interactions. And if they don’t think they make enough money, they may become motivated to work harder, or become the owner of the shop themselves.
It’s great that kids are learning to code at an early age, but I don’t know that I really want to live in a world where the goal of every kid is to become a data scientist. Or that the goal of every entrepreneur is to replace a bunch of human interacts with a mobile app.
I understand that technology evolves. But sometimes I wonder if the evolution is really a good thing…
This past week, I had the opportunity to host a CrowdChat discussion about Cloud Computing as a preview of the Cloud Connect track at Interop. One of the questions I asked the audience was:
Obviously, this is a hypothetical question and somewhat extreme, as it would be extremely complicated and expensive for any company to move 100% from on-premises to a public cloud. But my goal was to see how IT organizations view their role as more of their companies applications move to public cloud services (IaaS, PaaS or SaaS). Far too often, I hear people getting more concerned about how their role will be eliminated, instead of being focused on how it could evolve.
So let’s look at some roles in the IT industry and how they could evolve as more applications move to public cloud:
Application Developer: If we look at the results of the 2016 Developer Survey from StackOverflow, it’s difficult to see how those roles will change that much. Many are trying to evolve from Waterfall process to more Agile process, but the trend towards more application developer is growing.
Enterprise Architect: Regardless of where applications are deployed, there is still a need for Architects to connect the business challenges to the technical possibilities. If anything, the breadth of services offered in the public cloud could make their evolution more interesting.
IT Managers: Regardless of how much an IT organization evolves to more integrated DevOps collaboration, there is still a need to manage teams, manage budgets, manage projects and work closely with vendors (or open communities). IT managers may also pick up more work as companies migrate to using more SaaS applications.
Security Teams: The borders for security have been breaking down for at least a decade, as people work remote from central offices, people use smartphones and WiFi access from everywhere is now ubiquitous. So the need for security teams in the cloud continues to be a high priority and those skills are in high demand.
Networking Teams: Networking people tend to worry about who while manage the deployment and operations of the network if it’s running in the cloud. While the rack & stack pieces go away, most other functions will remain in place. Plus, many applications will be deployed in a hybrid model (public and private), so they will need to manage remote interconnects and security across new boundaries. In the interim, networking professionals should be better understanding software-defined networking, as that is essentially what is being used in the public cloud.
Storage Teams: While the provisioning of storage is significantly easier in the public cloud, data still needs to be managed over the lifecycle – this means backups, snapshots, synchronization across geographic regions. Many of these functions are beginning to get automated within Public Cloud services, as well as becoming integrated features within other services (e.g. Database-as-a-Service). Of all the teams impacted by public cloud, storage is impacted quite a bit.
Virtualization Teams: Even more so than storage, virtualization is heavily impacted by public cloud. Virtualization is essentially invisible in the public cloud. Things like “vMotion” or “Live Migration” just happen if they are supported on a specific cloud. This is an interesting change of events, because virtualization was considered “moving up the stack” within the data center just a few years ago.
I’ve discussed before that some other functions, such as managing APIs, managing cloud costs, understanding the law about data sovereignty, managing compliance and many new aspects others will be in high demand. As people have been saying for 10-15 years, being able to evolve skills “up the stack” will be even more valuable as more applications move to the public cloud.
How has your IT organization changed as applications have moved to the public cloud?