We’re living in interesting, albeit challenging, times. This year set a new standard for change that saw both our professional and personal lives transformed almost overnight. The global pandemic has fueled a radical departure from established initiatives, bringing the rate at which businesses are able to adapt and respond even more sharply into focus.
The message is clear: Speed will be key for modern organizations that not only want to survive – but thrive – in the future.
Digital Is Table Stakes – Speed Is the Differentiator
At this point, it’s fair to say that every business is a digital business. Going digital is no longer an option, but a critical factor to meeting consumer expectations. But beyond simply delivering digital services and goods, companies have to ensure they give customers a great experience.
Today’s consumers have a low tolerance for poor experience – we try a new app once, maybe twice, and then abandon it if it fails to work or doesn’t generate the value we expected. In fact, one in three customers say they would drop a brand they love after just one bad experience.
As a result, IT departments are under constant pressure to churn out new features and ensure reliable, stable, and consistent performance. More than half of consumers now place higher value on their digital interactions with a business than their physical interactions.
Development speed benefits companies in more ways than just one:
- Faster time to market drives competitive advantage. Companies that are innovation leaders achieve approximately four times the number of new product sales.
- Faster applications drive better customer experiences. 40% of customers are prepared to pay more for faster service.
- Faster resolutions reduce operational costs. By 2024, organizations will lower operational costs by 30% by combining new technologies with redesigned processes.
But despite all the evidence, many organizations still struggle to increase velocity and move faster. I believe that speed is typically inhibited for three reasons: teams are battling fatigue, tools lack automation, and technology architectures are too complex.
Let’s dive a little deeper into how these three factors hinder speed and our recommendations on how to deal with them.
Reason #1: Teams Are Tired
Now, more than ever, applications have become the most important asset of the modern enterprise – and your digital talent now has a lot of responsibilities on their shoulders. Developers are the core engine driving the business and it’s important to take good care of them. The intensity and repetition of today’s agile development methodologies can easily lead to fatigue and eventually burnout, severely impacting productivity and performance.
To improve release velocity and combat fatigue, companies should:
- Enable self‑service to enhance productivity.
Building automated, self‑service pipelines to push out new features or provision infrastructure helps alleviate frustration and delays, allowing teams to find a healthy balance between development freedom and control. For instance, infrastructure teams might provide services, such as A/B, canary, and blue/green testing, directly to developers and DevOps teams in a self‑service portal, allowing them to work with the tools of their choice while preserving much‑needed governance and visibility. This reduces the need to waste time manually building or configuring infrastructure, which delays projects as developers wait for requests to be fulfilled.
A self‑service approach provides developers with the ownership and access they need to continue running forward without sacrificing the control infrastructure teams so often lose when development teams go rogue and invest in shadow IT.
- Not overload developers with extra meetings.
No one likes unnecessary meetings, especially developers. One of the biggest changes to emerge from COVID‑19 was the complete switch to remote work. In general, 52% of developers are actually happier now than before the pandemic started, with 43% reporting an increase in their team’s deployment velocity. But while many organizations may have already had work-from-home policies in place, there has been a huge increase in meetings to compensate for the loss of face-to-face time in the office – Zoom reported daily meeting participants surged to 300 million back in April. Some meetings were set to foster a closer team connection, but some of these meetings are simply unnecessary videoconferences.
While you need daily standups and other updates to address issues or monitor progress, it’s important not to overburden your people.
Reason #2: Tools Lack Automation
If developers are the engine driving the business, DevOps is the transmission helping to direct the speed of code and orchestrate the entire lifecycle of an application. And while the majority of organizations are already implementing DevOps in some shape or form, there is still a huge disconnect between the final vision and the actual implementation. Most teams struggle to deal with increasingly complex deployment strategies, lack of tool connectivity, and lack of true automation to facilitate a fully functioning CI/CD pipeline.
To tackle automation roadblocks, companies must:
- Treat their infrastructure as code to truly automate.
The backbone of any strong DevOps strategy is the CI/CD pipeline, which manages the entire lifecycle of writing, updating, and delivering applications. By treating infrastructure as if it were part of the continuous development cycle, it’s possible to automate provisioning, configuration, and other changes without putting more demands on the teams managing it. This helps drive a more consistent, reliable, and repeatable process that reduces human latency and shortens the amount of time it takes for applications to reach consumers.
- Move to declarative APIs to drive better outcomes and express intent.
By now, we all recognize that strong API initiatives not only drive business growth – they are the key ingredient to modern digital experiences. In DevOps, APIs are particularly important for an efficient CI/CD pipeline and the move towards decoupled, service‑oriented services. However, many systems are still using imperative methods of control. Declarative APIs describe what needs to happen rather than how it needs to be accomplished, significantly reducing the time it takes to provision and configure services. Instead of making a series of API calls, it’s possible to declare the desired state and allow the system to do the heavy lifting.
Reason #3: Technology Is Increasingly Complex
With developers as your engine and DevOps as your finely tuned transmission, you now need to build the rest of the vehicle. But are you building a van or sports car? An SUV or family sedan? Different vehicles have different purposes.
To stretch the analogy even further, you want to avoid rebuilding your engine and transmission every time the business requires a new application (vehicle) to drive a digital experience (purpose). You need an engine and transmission that’s easy to adapt.
Adaptability is key when facing a new challenge or crisis. The biggest challenge to adaptation is complexity – something most organizations have in spades. For instance, according to F5’s latest research, 90% of companies are using multiple clouds, an average of 2.5 per organization. Over half report making hosting decisions on a per‑app basis. It means that when major disruptions hit, the majority of companies are unprepared.
Case in point: businesses that were able to rapidly adapt their plans in response to COVID‑19 are thriving while others continue to fight for solid ground.
To promote adaptability, companies need to:
- Consolidate tools and eliminate sprawl.
First and foremost, it’s essential to stop tool sprawl. If developers are given free rein, probably every team chooses a different (and most likely open source) tool. But eliminating sprawl doesn’t mean extremely tight control – it’s important to empower employees to select their own tools. Rather, offer a limited set of standard platforms so you don’t end up with a web of tools for infrastructure, provisioning, deployments, etc. Consolidating and reducing application sprawl simplifies the technology stack and offers companies better visibility, flexibility, and resiliency.
- Be portable to enable adaptation.
Modern architectures and environments increase the need for portability. A common way to control tool sprawl is to standardize on a single cloud provider or platform-as-a-service (PaaS) vendor. Although this simplifies integration, it ends up locking organizations into a single, often highly prescriptive, infrastructure. Unfortunately, this causes issues if you need to move to a different environment. To be truly adaptable, implement solutions that are compatible anywhere – containers, virtual machines, and public, private, or hybrid clouds. Portability ensures you can retune, rather than rebuild, no matter what the future brings.
Reach Full Velocity with NGINX
The new normal is already here, but are you prepared for the next normal?
We anticipate that 2020 is just the beginning of a new and uncertain digital world, and our mission is to help our customers and community reach their business goals at the highest possible velocity. Here’s how.
- NGINX Open Source is designed for speed. Our long history and commitment to open source means that innovation not only runs deep in our products – it’s core to our culture. Leveraging NGINX means you’ll be innovating at, or ahead, of the speed of the market. Our community keeps us honest and in tune with the changing times, ensuring our base is cutting edge and as innovative as possible.
- NGINX Plus, NGINX Unit, and NGINX App Protect are our data‑plane technologies that address complexity, helping to keep both traditional and modern apps fast, scalable, and secure. Unit is designed for modern distributed applications, consolidating multiple languages and frameworks into a single platform. NGINX Plus is designed to provide advanced load balancing, API, and proxy capabilities and – when combined with our advanced NGINX App Protect WAF – eliminates the need for a number of discrete platforms.
NGINX Controller is the first app‑centric application platform, helping all teams – spanning DevOps, NetOps, and SecOps – collaborate together across the application lifecycle in one place. We designed Controller from the outset to provide self‑service, CI/CD integration, and a declarative API. With Controller, your infrastructure teams can focus on reliability and performance, and your application teams on velocity and flexibility. Controller automates deployment and management of our data‑plane products for customers who have not already built their own custom control‑plane orchestration.
[Editor – NGINX Controller is now F5 NGINX Management Suite.]
Whatever you’re building next, NGINX is ready to help you achieve the speed you need to arrive at your next destination.
Stay tuned for more key insights and exciting announcements at NGINX Sprint about how we can help you move faster. We’ve got great things planned for the future, and we’re looking forward to sharing them with you.