Uptime and Efficiency in the Application Economy

Uptime and Efficiency in the Application Economy

The High Cost of Downtime 

Modern organizations are using “application value” as a new form of currency in the software-first world. What this means is any business that delivers a product or service to its customers through an application must understand the importance of application security, reliability and feature velocity. As applications become increasingly important to enterprises, so do engineering teams. 

Access to engineering talent is now more important to companies than access to capital. 61% of executives consider this a potential threat to their business. The average developer spends more than 17 hours a week dealing with maintenance issues, such as debugging and refactoring. In addition, they spend approximately four hours a week on “bad code,” which equates to nearly $85 billion worldwide in opportunity cost lost annually. As the necessity of driving business value with applications increases, so does the importance of engineering teams. As customer demands on applications increase, enterprises have two options — increase the size and cost of engineering teams, or increase engineering efficiency. 

Couple the need to increase engineering efficiency with the challenges around growing revenue in increasingly competitive and low margin businesses - and the importance of driving value through applications is top of mind for any business that considers itself a software company. 

The Advantages and Challenges of Microservices Applications

Microservices architectures allow businesses to keep pace with the competition in their space through application scalability, resiliency and agility. Most importantly, microservices allow enterprises to more quickly deliver new features to customers to maintain customer satisfaction and increase affinity. Microservices provide a powerful way to develop modern applications but they also come with new challenges. 

A common challenge our customers face is difficulty of debugging and resolving problems in a microservices environment. It can be challenging to resolve issues in a timely manner, especially when there are cascading failures which can significantly impact user experience. As a company that maintains a microservices based SaaS platform, we understand the pain operators and developers go through while dealing with an outage. 

Making the Most Out of Modern Applications 

This is why Aspen Mesh is focused on trying to make it easy for engineering organizations to reduce MTTR through quickly identifying any configuration or application changes that are likely to have caused an outage. We try to offer  a much improved user experience both for users within that company, but more importantly, for their end-users.  

Service mesh provides observability, tracing and logging capabilities that make it easy to identify when errors occurred and pinpoint their sources. It brings all of your data together into a single source of truth, removing error-prone processes, and enabling you to get fast, reliable information around downtime, failures and outages. More uptime means more revenue, and the agility with stability that you need for a competitive edge.

Aspen Mesh was designed to allow DevOps teams to address what we consider to be the three most critical areas in providing application agility and stability:

  • Proactive anomaly detection, quick incident response and resolution, and workflows that accelerate the remediation process.
  • A unified source of multi-dimensional insights into application and infrastructure health and performance that provides context about the entire software system.
  • Line of sight into weak points in environments, enabling engineering teams to architect more resilient systems in the future. 

There are many tools that allow DevOps teams to more efficiently develop and deploy microservices applications. The beauty of service mesh is that it allows decoupling of Dev and Ops along infrastructure lines. The operators can maintain the platform and develop guardrails that ensure enforcement of security and compliance policies without burdening application developers with infrastructure concerns. 

If you or your team are running Kubernetes-based applications at scale and are seeing the advantages, but know you can get more value out of them by increasing efficiency and more quickly identifying failure root causes, it’s probably time to check out a service mesh. You can reach out to the Aspen Mesh team on how to easily get started or how to best integrate service mesh into your existing stack at hello@aspenmesh.io. Or you can get started yourself with a 30-day free trial of Aspen Mesh


DevOps and service mesh

How Service Mesh Enables DevOps

I spend most of my day talking to large companies about how they are transforming their businesses to compete in an increasingly disruptive environment. This isn’t anything new, anyone who has read Clayton Christensen’s Innovator’s Dilemma understands this. What’s most interesting to me is how companies are addressing disruption. Of course, they are creating new products to remain competitive with the disruptors, but they are also taking a page out of their smaller, more nimble competitors’ playbook and focusing on being more efficient.

Companies are transforming internal organizations and product architectures along a new axis of performance. They are finding more value in iterations, efficiency and incremental scaling which is forcing them to adopt DevOps methodologies. This focus on time-to-market is driving some of the most cutting-edge infrastructure technology that we have ever seen. Technologies like containers and Kubernetes; and a focus on stable, consistent and open APIs allow small teams to make amazing progress and move at the speeds they require. These technologies have reduced the friction and time to market and the result is the quickest adoption of a new technology that anyone has ever seen.

The adoption of these technologies isn’t perfect, and as companies deploy them at scale they realize that they have inadvertently increased complexity and de-centralized ownership and control. In many cases, it can be impossible to understand the entire system and everyone needs to be an expert in compliance and business needs. Ultimately this means that when everyone is responsible, no-one is accountable.

A service mesh enables DevOps by helping you to manage this complexity. It provides autonomy and freedom for development teams while simultaneously providing a place for teams of experts to enforce company standards for policy and security. It does this by providing a layer between your teams’ applications and the platform they are running on that allows platform operators a place to insert network services, enforce policy and collect telemetry and tracing data.

This empowers your development teams to make choices based on the problem they are solving rather than being concerned with the underlying infrastructure. Dev teams now have the freedom to deploy code without the fear of violating compliance or regulatory guidelines. Secure communication is handled outside of the application reducing complexity and risk. A service mesh also provides tools that developers can use to deploy new code and debug or troubleshoot problems when they come up.

For the platform operator, whose primary objective is to provide a stable, secure and scalable service to run applications, a service mesh provides uniformity through a standardization of visibility and tracing. Policy and authentication between services can be introduced outside of the application at runtime ensuring that applications are adhering to any regulatory requirements the business may have. Deploying Aspen Mesh provides a robust experiments workflow to enable development teams to test new services using real production traffic. Our platform also provides tools that reduce mean-time-to-detection (MTTD) and mean-time-to-resolution (MTTR) with advanced analytics that are part of our SaaS portal.

DevOps represents two teams, Development and Operations, coming together to deliver better products more rapidly. Service mesh is a glue that helps unite these teams and provides one place in the stack that you can manage microservices at runtime without changes to the application or cluster.

The result is a platform that empowers application developers to focus on their code, and allows operators to more easily provide developers with a resilient, scalable and secure environment.