Becoming a Great Software Company Starts with the Right Platform
Overview
Gartner reports that for CEOs, 'Growth is the top priority, by far. In 2014, it almost equals the sum of the next three top issues'.1 Companies effectively using software development to achieve competitive advantage are more profitable than their peers.2 Organizations such as Square ($3.5B valuation, Financial Services), Uber ($3.5B valuation, Transportation), Netflix ($19B valuation, Media and Entertainment), Airbnb ($3.5B valuation, Hospitality), the Climate Corporation ($1.1B acquisition, Agriculture) and Etsy ($600M valuation, Boutique Retail) are using software to change industries and disrupt business models. Put another way, software is eating the world.
Companies looking to drive innovation through software development have new options and opportunities. Agile development practices speed time to market with continuous delivery of new applications and features. Advances in cloud computing and virtualization allow organizations to streamline (or eliminate altogether) the provisioning of infrastructure. Essential but non-differentiating IT and business functions can be outsourced or accommodated with a Software-as-a-Service (SaaS) subscription. Many steps in the application lifecycle, such as testing and deployment, are candidates for standardization.
Platform-as-a-Service (PaaS) is a key enabler of software-driven innovation – facilitating rapid iteration and developer agility. It comprises a set of tools, libraries and services for deploying, managing and scaling applications in the cloud. Adopting an enterprise-grade, multi-cloud PaaS solution frees developers to create game-changing web and mobile applications. It also allows these applications to scale across cloud environments, based on the business need.
One large international firm, Rakuten, experienced 90% improvement times for application deployment and management with Cloud Foundry. Cloud Foundry is the industry’s Open PaaS and provides a choice of clouds, frameworks and application services. As an open source project, there is a broad community both contributing and supporting Cloud Foundry.
To compete in today’s breakneck markets and better connect customers with desirable products and services, while taking control of their own cloud futures, companies are turning to Pivotal.
Changing Markets Require Fast Pivots
Businesses in all industries have to reorient themselves around software development. In our connected world, powered by new data insights and services, software is the way companies engage with customers. From industries as diverse as auto manufacturing and telecommunications, “traditional” companies are reinventing themselves, using cutting edge technologies to keep pace with disruptive market entrants. They apply new intelligence and find new techniques to accelerate execution. Analyzing, learning and acting on more data ensures that they can get to market quickly with the right products and services.
For example, Tesla’s cars automatically download software updates on a continuous basis. These updates materially impact the operation of the cars themselves, from raising the suspension in response to fires caused by contact with road obstacles, to modifying acceleration and handling. Rather than annual model updates, Tesla makes major modifications to its cars continuously – based on data collected from cars already sold to customers.
When Garmin, the first major GPS provider for consumers, started to see free GPS-based mapping technologies delivered with smart phones, it knew the company was at a crossroads. It decided to make a major shift from navigation devices for cars to lifestyle sports and activities products. To do so, it had to build and bring to market new products – and engage with a new customer base – quickly and reliably. By rearchitecting fundamental systems and processes mid-stream, Garmin made enhancements to its underlying application platform, which helped facilitate new traffic volumes and spikes from new campaigns. Agile is the new normal in the software-driven enterprise.
Netflix is widely known for their DVD by mail and video streaming services. More recently, the company has become a major creative provider – competing directly with traditional content producers and staking a claim in all areas of the content supply chain. They attribute their edge to better use of technology, specifically data and network resources. A widely touted example is its commissioning of the original series “House of Cards.” Netflix predicted the success of the hit series by evaluating its customers’ behavioral and preference data, comprising “30 million ‘plays’ a day, including when you pause, rewind and fast forward, four million ratings by Netflix subscribers, three million searches as well as the time of day when shows are watched and on what devices.”
“We think of the technology as a vehicle for creating a better, more modern experience for the content we have,” says Chief Executive Officer Reed Hastings. “We are trying to set this up as a continuously learning organization.” Netflix must accommodate the perpetual influx of new mobile and set top device types, reformatting movie files and optimizing streaming constantly. They also repurpose their compute power at lower traffic times to focus on data analysis and improve content offerings – the epitome of agile. As a result, they are so successful that Netflix represents 25% of North American web traffic during peak loads.
What does an operating environment for cloud computing have to do with enabling nimble business strategies? Modern companies have to get better at building software to survive and PaaS allows them to build great software. Building great software does not require magic – it requires iteration. The faster you iterate and the higher your update velocity, the faster you can get to market, improve and become great.
The Cloud Platform Evolution
The move to the cloud and virtualization began about a decade ago, driven by the same impetus that drives PaaS today: allowing organizations to build highly automated environments that support their ability to iterate quickly. Because they have to support legacy systems, IT resource allocation to new projects is unable to keep pace with rising user expectations as the industry has transitioned from the mainframe, to the client server and now to the mobile/cloud era. The challenge is to reduce the cost of new projects while still delivering high value.
Over the last decade, the adoption of virtualization technology has helped IT drive tremendous efficiencies that significantly improved its ability to meet business expectations. Research shows organizations that adopt virtualization are considered to be 37% more responsive to business demands. But business and customer expectations continue to accelerate. Perhaps this is why the PaaS market is doubling in size every year.
Shifting investment from infrastructure to capabilities such as management and automation allows IT organizations to move from maintaining existing operations to investing in initiatives that support business goals. Cloud computing and IaaS enable this shift. They are a necessary step in the journey to business agility. However, if not applied against a strategic framework and vision, virtualization and IT automation tools are all too often relegated to accelerating the same basic processes used to deliver technology for a decade or more.
PaaS is the Engine for Innovation
We live in exponential times. There are more technology choices, strategies and products available now than would have been thought possible even a few years ago. From Moore’s Law (3,500-fold increase in computing speed over the last 30 years) to Metcalfe’s Law, the acceleration of capacity, computing power, nodes in the network and data volume is dizzying. 90% of the world’s zettabytes of data has been generated in the past two years and that information doubles every year and a half. But the fundamental question leaders should be asking is unchanged: what can my organization build or buy that will help us learn, adapt and introduce new and better solutions more quickly than our competition?
The key to driving innovation in software is iteration – low cost, short cycle-time experimentation to test and compare new ideas and outputs. Compared with a traditional software update process, which sees new features added on a monthly or quarterly basis, Etsy – an online boutique marketplace serving a community of 60 million users – makes 30 updates to its website per day.
Companies are investing in removing friction in the delivery of new products and services to customers. This delivery is happening via software. Books, medical records, home thermostats, car firmware, music…from airline tickets to airplane maintenance, all services will be delivered as software.
It’s easier for a startup to play at this game, because they aren’t bogged down with legacy products, systems or processes. Large enterprises should consider how these agile organizations bring new products to market with few financial and engineering resources. Invariably, these days, they go to the cloud. 64% of companies in a recent survey have implemented or plan to implement PaaS within one year. 49% of companies say that cloud computing allows them to compete with larger organizations.
Agile organizations build and distribute their products in the cloud, via IaaS. PaaS offers a set of services that software developers use to build and test applications without having to worry about the underlying infrastructure. They work this way because it is less expensive: they can rent or buy computing power that is virtualized and optimized for just the amount they need. They can grow this dynamically as they acquire more users. PaaS environments don’t require deep operations expertise and they streamline release management on new projects (deploying code, making changes, rolling back, etc.).
The other reason PaaS sits at the core of the startup development environment is speed. By abstracting and automating the parts of the application lifecycle that are repetitive, time-consuming and uncreative, PaaS allows these companies to turn around new applications, upgrades and features with unprecedented efficiency.
Finally, PaaS allows for scale. Companies like Google, Facebook and Twitter used to rewrite their codebases (called refactoring) to accommodate the order of magnitude scale increases they saw in their early days. This approach is no longer tenable. From inception, companies need to expect their applications will be required to scale dynamically, without requiring major changes. By enforcing a design pattern that makes scaling up and down simple, the right PaaS makes building the application for scale much less complex.
PaaS abstracts most of the IT complexity of typical enterprise infrastructure. By eliminating the need to configure VMs, application monitoring, security policies databases, application servers and load balancers, organizations not only shrink provisioning and configuration cycles, they actually reduce the amount of custom application code the developers need to deliver. With the right, modern PaaS:
- Developers can focus on development, rather than infrastructure
- IT can separate the concerns of Development and Operations, allowing each to focus on what they do well
- Provisioning and deployment process bottlenecks are eliminated
- Organizations can truly optimize and gain maximum ROI from their investments in the cloud and IaaS
When PaaS becomes integral to their strategies, IT and business leaders can:
Empower the Developer
Application developers deliver business agility. But most organizations’ ideas for new solutions cannot keep pace with their ability to deliver them. Engineering resources have always faced a scarcity problem. There are simply not enough developers to meet the demand. This problem is likely to get worse before it gets better.
When a developer is: provisioning servers, installing operating systems, application servers and load-balancers, ensuring adequate storage and providing backup resources – that developer is not programming functionality into an application. Developers are best utilized when they are writing code, fixing bugs and making improvements. Tasks that can be done automatically and transparently should be.
Companies need to make engineers more efficient by removing productivity impediments. A recent survey found that, on average, a developer spends 12.6 hours per work week (only 30% of his/her time) designing and coding. What’s worse is he/she spends 19 hours on tertiary tasks such as waiting for builds to complete and managing infrastructure. This is a huge waste. PaaS eliminates the non-value-added activities by automating them, allowing developers to focus on where the skills they have spent their career honing actually lend value.
Imagine what happens when developers are free to work on game-changing code, when the tedium of the nuts and bolts of delivery and change management – configuring storage, networks and environments – goes away? What if their new projects could be pushed live within minutes of completion and the cycle from dev to test to production was built without hang times or latencies? PaaS is about removing the tedious, non-creative elements from the development cycle, automating them and speeding application delivery – enabling developers to focus on building the important features that distinguish their work. A talented and productive developer is a creative, motivated and highly-valuable employee.
Pivotal recently performed an audit for a client and determined that their developers were only keeping pace with demand due to a heroic level of effort from key individuals working around the clock. When faced with this information, the client’s IT executive said, “I don’t want my organization run on heroics.” Why? Heroes don’t scale. Heroics aren’t a system or a strategy. This organization had deployed 55 applications in the past year (a very respectable number for a company of their size) and was looking to deploy 200 in the next year. Most of these were complex customer-facing applications for multiple kinds of consumption paradigms, desktop and mobile. There was no way for them to keep pace with the demands of their market by doing things the old way.
Build Systems of Differentiation
A number of the applications in any large organization’s software portfolio are “table stakes”: ERP, general ledger, CRM, HR, etc. While some advantage may be derived from enhancing or customizing these, by and large the functions they provide are commoditized. These applications can be considered systems of record and there are various strategies for acquiring and maintaining them, from on-premise to SaaS/hosted. Few companies see value in building these kinds of applications themselves. However, when a company wants to deliver unique value, quickly and continuously via custom application development, they need a new kind of platform. Such a platform must provide the right data management, cloud deployment and developer tools to meet enterprise requirements for performance, scale and cost. Enterprise PaaS is the engine for this new kind of innovation.
A recent benchmark survey from VMware found that 2/3 of their clients that liberated IT resources from maintaining old silos and processes reinvested their savings (>$10 Billion) in agility-focused initiatives such as cloud computing. VMware also found that, on average, companies allocate 30% of their budget to IT innovation. Market leaders shift this number to 50% – focusing on custom development of new, customer-facing applications and services, rather than the care and feeding of commoditized business processes that do not support competitive advantage.
Focus on Exceeding Customer Expectations
PaaS can improve not only the applications themselves, but also the experience customers enjoy.
First, applications built and brought into production with PaaS incorporate services that allow them to run on any device and operating system, consistently. Because a project is built and deployed with a standard, tested set of tools in a standard, tested framework, it runs the same wherever it is deployed.
Secondly, the monitoring and analytics tools within the PaaS help the application improve as it is used. The PaaS environment collects information about usage and user behavior that, when fed back to developers, allows for the rollout of fast new upgrades and new features that continually improve it, in a virtuous cycle. Demanding consumers have come to expect high application update velocity and this is what PaaS delivers.
Save Money and Use Those Savings to Do More
How aggressive would organizations be in introducing and testing new products and strategies if the associated costs fell dramatically? PaaS is such a disruption. Rakuten experienced a 90% improvement in times for application deployment and management with Cloud Foundry. Optimizing developer time and increasing the speed to deploy, starts to catch up ability to execute with ideation.
In evaluating any new investment, including development projects, ROI is top of mind for decision-makers. If the cost per application decreased, ROI would look more attractive. Further, reducing the need to prove ROI could allow companies to take more chances and work in creative new directions. This explains the explosion in new, cloud-based startups. The financial barrier to entry has been lowered, thanks to PaaS and the cloud.
Hedge Cloud Bets with Application Portability
Contemporary PaaS environments should be able to extend application portability support to major public and private clouds. With cloud portability, any application managed in the PaaS can be moved, expanded and scaled across the vast majority of private, hybrid and mega-public IaaS providers.
This capability gives enterprises a wide choice of cloud platforms to consider and they can optimize their application distribution for price, performance, geo-location, regulatory, security and control requirements. As requirements change and applications expand, developers and operations can simply migrate, scale or add to the cloud IaaS of their choice without any code or configuration changes. This ability to mix, match and calibrate IaaS resources based on the application or business requirements is unique to the latest PaaS environments and ensures businesses maintain freedom of choice when it comes to their selected cloud platforms.
With Pivotal Cloud Foundry, PaaS is Open for Business
PaaS is in its Goldilocks phase. It’s not too old to be cutting-edge and it’s not so new that it’s a science experiment. It incorporates the core “write once, run anywhere” values of 20 year-old middleware, but encompasses all aspects of the code to cloud process – from provisioning data, to auto-detecting and setting up new instances, to zero-downtime upgrades. Vendors such as Pivotal are coming to market with mature, enterprise-hardened PaaS offerings ideally suited for larger organizations going through their own third-platform evolution.
One bank is building out its enterprise-wide PaaS, in part to streamline the integration of another company after a merger. With the PaaS environment, IT can provision approved application development frameworks and tools, offering up a menu of choices to keep developers happy and flexible while also ensuring consistency in how new applications are developed.
For the leading provider of real estate data, analytics and transaction services, Pivotal Cloud Foundry is the technical constant that has allowed them to absorb the different tech stacks they have ingested as they grew through over 30 acquisitions in the last 15 years. By choosing to focus on integrating and standardizing on best of breed toolsets, they now have a PaaS on which to build new products and services without having to manage different legacy platforms and technologies.
If the cloud is our new hardware, PaaS is its operating system. Any application that is cloud-ready is a candidate for PaaS. Like the cloud, these tools have matured to support even the most stringent enterprise requirements around security, reliability, scale and control. Not all PaaS environments are created equally. If companies are going to bet the critical, customer-facing parts of the business on the platform, it must prove its mettle in terms of:
- Security and Control: Individual and team-based permissions, automated and enforced processes for new application instance rollouts, authentication system integration and intrusion monitoring.
- High Availability: An auto-healing, automatically updated and redundant system that requires no intervention to restore an application instance failure, along with application monitoring for responsiveness, capacity and service-level maintenance.
- Reliability: Support-tested components across all different runtimes and services.
- Simplicity: Easy to use management consoles for developer and DevOps teams to enjoy GUI management of application environments and turnkey installers for major private and public cloud platforms.
- Data-Driven: One-click connection to all common data stores for instant access to data stores of any size. Provisioning data services through PaaS supports the creation of truly data-driven applications that can meet the needs of multiple customer segments by leveraging advanced analytics.
- Click to Scale: Deploy to one instance or one hundred with a single click. Dynamically provision resources as usage increases.
- Live Upgrades with Zero Downtime: “Blue/Green” update process allows application versions to run in parallel with instantaneous switchover when ready to bring the newer application into production.
Conclusion
PaaS has established itself as the lynchpin in enabling the rapid design and deliver software development paradigms of the modern enterprise. Organizations looking to take the next step on their cloud journey should invest in a PaaS platform that is tried and tested to be enterprise grade and supports infrastructure evolution and choice as needs change with multi-cloud capabilities.
PaaS is one of the technology innovations – along with Big Data, mobile and cloud – that business executives should endeavor to understand and put to work. The leader who is able to harness the cost savings and improved time-to-market this technology facilitates will have a distinct advantage in the arms race launched by today’s “innovate or die” mantra.
Pivotal Cloud Foundry delivers a platform to iterate, deploy and manage applications across any cloud, freeing organizations to make the independent infrastructure choices that best serve their goals.