DevOps in 2015 – Beyond Basic Metrics

This article originally appeared on CodeProject.com

It’s 2015, do you know how your web applications are behaving in their production environments? Maybe you’ve got some front-end analytics plugin installed with some server monitoring also configured so you can see the processor and memory utilization of your servers. The outstanding question is: Do you really know what the code is doing? Can you get a snapshot at a point in time of the entire server-farm and analyze line-by-line what the application servers are executing? Memory and processor utilization are wonderful metrics to determine the health of a server, but what about the health of your user’s experience? Hardware metrics only tell a part of the story, and there are other important metrics in your web application such as server response time, bounce rate, and sales conversion rates that speak volumes to your business units

DevOps has quickly become the buzzword du jour for the software industry and promotes something that many developers and IT Administrators don’t enjoy: collaboration. According to Wikipedia, “DevOps acknowledges the interdependence of software development, quality assurance, and IT operations“. By having all three arms of a technology department collaborating, software products and services can be produced with a high quality bar and operational efficiencies. In this article, we’ll review how IT operations can engage more with a customer’s experience and assist software development in isolating problems in a production environment with no code changes needed from the development engineers. We’ll use the AppDynamics Application Intelligence Platform to help illustrate how these synergies can drive a better product for customers

Web Performance – More Important Than Ever

There is a saying among web developers: performance is a feature. This seems simple and straightforward to the technically savvy, but to the average business analyst it may not ring true. . Some of the anecdotal numbers around this phrase include:

  • Google found that a half-second slower page resulted in a 20% drop in traffic – Marissa Mayer, Google IO 2008 Keynote
  • Amazon found that a page load slowdown of one second could cost them $1.6 billion in sales each year. –Fast Company

THOSE are numbers and details from the big publicly owned companies in your 401k or mutual fund portfolio that you can trust are taking performance seriously. Google takes page performance so seriously that they’ve added performance as a component of their page rank algorithm.

Ironically, Google’s analytics and web master tools do not provide much insight into the speed of your pages. There is a “Pages / Session” number that is presented on the default dashboard, but that doesn’t show anything about individual page speed.

Figure 1 – Google Analytics Dashboard

Google’s Webmaster tools provide some insight into page performance with a graph indicating what the Google web crawler experienced when it requested content from your site. Once again, not very clear on what pages were performing slowly nor clear on any other events going on during the request:

Figure 2 – Google Webmaster Tools – Crawl Stats

We need something that has insight into the inner workings of our application in order to provide better performance instrumentation. If we move to our hosting provider, like Microsoft Azure, I can view information about the processor and memory utilization through the online Azure portal:

Figure 3 – Microsoft Azure Performance Reporting

Nice, and I can add alerts when the CPU is burdened, or the memory is taxed. I can also add to that mix the ability to automatically scale my web application based on these metrics:

Figure 4 – Microsoft Azure Web App Scaling Configuration

Once again, it feels like a shot in the dark: are my customers having a good experience? Are page requests being fulfilled with appropriate responsiveness? I can only monitor the health of my servers, which the folks in IT operations take very seriously. Are the servers taxed because of visitor growth, or because of a lack of performance tuning on the part of the software engineers?

Get the Whole Picture

To get a complete picture of your application, and you will want a holistic view of the entire application if it is mission critical to your organization, you must engage an application platform monitor such as AppDynamics Application Intelligence Platform. This application monitoring platform is similar to the other tools discussed previously in that you do not need to update your application source code to allow it to operate. All of the functionality discussed in this article is available without writing or changing a line of code. This comes straight out of the box.

Unlike the previous examples that expose information about an entire host or just a single request to the application, Application Intelligence measures interactions as a completed business transaction. This granularity of measurement allows us to review the impact of each interaction across the entire platform in a clear systems dashboard.

Figure 5 – AppDynamics Dashboard

Immediately on this dashboard we can quickly review the average response time for the application and review any slower operating elements within our production server environment because they are highlighted in red. This complete overview of the application allows for IT operators to be able to instantly identify their standard server performance, and shows the beginnings of the customer experience within the application.

Why are some services identified as slowing down and highlighted in red? The advantage this tool brings to the game is that there is a customer experience baseline automatically calculated for your application and then measured against. This dynamic calculated baseline is key to verifying that your customers have a uniform experience on every visit.

When an operator finds that the application is performing outside of normal parameters, they can begin investigations from this dashboard.

From this view, we can drill down on a specific transaction and see how its data flowed through the entire platform:

Figure 6 – Transaction Data Flow Through the entire platform

When viewing a transaction at this level, it becomes easy to see that there is significant slowness interacting with the database, with ADO.NET transactions from the PaymentWS node on the bottom right taking more than 16 seconds to complete. Our operators can click the ‘Drill Down’ indicator over the PaymentsWS node and review those interactions in more detail:

Figure 7 – Details of a Checkout interaction with the SQL database

We can see two things happening in this view, the connection open step is taking almost five seconds to complete, and an ExecuteNonQuery call (highlighted in blue) is taking longer than five seconds. The next analysis point available is what got me the most interested in this tool: I can inspect that exact SQL statement:

Figure 8 – SQL Code Review

This is where my bread is buttered: I can now take real action on this code with my database administrator. We have concrete metrics about performance of this query and how it is being used within the platform. At this point, a developer and database administrator can decide whether to optimize this query or to optimize the database indexes to improve the performance of the application.

Oh, and we can also check the performance of that credit card processing HTTP call to “visa.com” (note: this is not a real address, is not affiliated with VISA, and is presented for demonstration purposes only). Clicking on theMovieProcessingRole Drill Down button leads to a complete stack trace leading to the HTTP call:

Figure 9 – Call Stack for an HTTP Call

Clearly, we can see that the slow-down occurs in the UploadValues and ServiceBus transmission. Inspecting the UploadValues call reflects the HTTP calls that were made to upload data:

Figure 10 – Inspecting HTTP traffic

Now we have a clear picture that the synchronous HTTP transaction is delaying processing by almost three seconds. With this information, we can decide to take action in changing architecture to minimize the impact of this network interaction.

Real Business Metrics

Once customer experience is optimized and monitored, the IT Operations team can then rest easy knowing that their servers are running well and with healthy metrics for memory and processor utilization. However, that’s not the end of the story when it comes to measurements and metrics that we want to collect from our application.

The real metrics the business cares about revolve around costs and revenue. Many business-focused applications already have reports available in back-office applications to show sales numbers and utilization of the application. But what about other lost opportunities that don’t immediately come out on standard sales reports? What about the analysis of those visitors to your application who did not click through a ‘buy’ button or use the application in a way that you expected?

For the marketing and sales groups that are building the business-side of an application, these additional metrics are necessary but very hard to unearth. How do you track what actions were NOT taken in an application? With Google Analytics, I can start to see some of this information using their Visitor Flow feature:

Figure 11 – Google Analytics Visitor Flow Initial Analysis by Country

That gives an interesting starting point, but we can do better. AppDynamics has designed features to support collecting exactly these typetypes of custom business metrics. The average business user doesn’t want to drill down into source code or even know where in a database to extract data from to make business decisions. They’re typically looking for a quick view dashboard that demonstrates the key metrics that they’re looking for. For example, the sales group is very focused on capturing revenue, so a suitable dashboard for an appliance retailer may look like this:

Figure 12 – A Revenue focused dashboard based on a custom metric

This looks good, but it doesn’t feel like something that a sales person could put together quickly. With a little help from a developer friend, a custom revenue metric can be added to the process that can be tracked and presented. Custom metrics can read from any public method call in your code, intercepting calls and recording values without needing to add an extra Windows Event Log metric:

Figure 13 – Creating a custom metric for each time a customer ‘checks out’

As this value is collected, we can map it against any other metrics that are already collected about our application visitors. In this case, we are collecting the total amount charged to the customer and the currency that the customer is paying with.

With additional information being collected about business transactions against time, using other known metrics about our visitors we can start to see some interesting trends develop. In the lower right corner of the dashboard, we noticed that curved televisions are seeing a two-to-one sales advantage over flat-screen televisions. Perhaps it’s time to change up the layout of the website to promote those older flat-screen televisions in inventory while back-ordering the curved screens.

Summary

DevOps is a brave new world in 2015, and we need to have our development teams work together with operations to ensure smooth running of our production web applications. However, we’ve seen in our examples that smooth operations and profitable operations are not just the concerns of development and operations. With an advanced system management tool like AppDynamics, business analysts can get the metrics they need to make appropriate decisions to improve the business performance of an application. When the chips are on the table at the end of the day, it’s not the up-time of an application that matters but rather the return on investment on that web application. Advanced metrics and analytics should be a standard tool for you in 2015 to meet those business goals.

Want to try these advanced metrics for yourself? Check out a FREE trial of AppDynamics today

Delivering Value with BizDevOps

Companies are rapidly adopting DevOps practices to create higher-quality software faster and more efficiently to improve customer experience, lower IT costs and enhance productivity.  But the key to success for software-driven businesses is delivering value with BizDevOps.

Using both lean and agile methodologies, DevOps brings software development, IT operations and quality assurance (QA) teams together to create a more collaborative process to deliver software and services in a faster and more continuous fashion.  DevOps aims to break down IT and organizational data silos by promoting a culture of shared resources that make change and state processes across the entire application delivery chain more transparent.  The end result is continuous delivery, an operational concept that is crucial to the software-defined business.

The more performance-oriented a company is the more successful the business outcomes of its DevOps initiative.  But DevOps is more about people than technology.  These organizations foster a culture based on communication, collaboration and trust.  They tend not to fear failure; instead they embrace it as learning experiences for continuous improvement.  Companies that are successful with DevOps are more stable, with higher-performing IT teams that work better together to drive stronger operating results.

More enterprises are demanding that their application development teams be more aligned with business objectives, allowing them to start realizing value from an early stage of the lifecycle.  To achieve business agility, enterprises need a strategy that spans the entire value chain – from business requirements to deployment.

BizDevOps and the Common Language of Business Transactions

BizDevOps underscores the need to more closely align IT and business groups with business performance.  It strengthens application governance by adding business perspective and accountability to the process.  BizDevOps bridges operational data with business data to provide a deeper understanding of how application performance and user experience directly impact business outcomes.

Business transactions are the common language that brings DevOps and business teams into productive collaboration.  A business transaction is the interaction between a business and its customers, vendors, partners or employees that provides a desired outcome of mutual benefit.

In a software-defined business, transactions are executed by applications.  Depending on the application, transactions can be as simple as users entering information into a database or highly complex, such as online trading that involves multiple systems and applications that are mutually dependent.  As a result, the successful completion of business transactions is the most critical metric for IT and business success.

BizDevOps not only brings effective collaboration between business and DevOps teams, but also provides automation and a tight feedback loop.  Sharing transactional data with business teams accelerates the feedback loop from all application stakeholders.

Application governance is essential for all constituents to make changes about what capabilities the application should have.  The DevOps team can then make adjustments faster and more continuously while maintaining focus on optimizing the user experience.  Better communication and collaboration between teams increases business agility, improves efficiency and raises predictability.

A Unified Approach to Transaction Monitoring Assures User Experience

As enterprise applications become more numerous, intertwined and com­plex, IT organizations are placing more emphasis than ever on finding new approaches to manage applications and optimize their availability and performance.  As a result, application performance management (APM) has become an essential part of enterprise IT framework since it directly involves all key stakeholder groups, including application owners, application developers and application users.

Left shifting business transaction monitoring in the development lifecycle alerts DevOps teams to dependencies and operational or quality issues in the pre-production phase to identify potential bottlenecks.  Transaction metrics can be used to establish key performance indicators (KPIs) against which the production environment can be measured.  This allows the DevOps team, working in concert with the business owners, to build models in accordance with KPIs.

Every business transaction impacts user experience and operating performance.  By understand why and where a transaction delay or failure resulted in a missed opportunity or operating loss can help prevent future service outages.  Depending on the industry sector, slow responsiveness or complete outage (brownouts or downtime) of a company’s most business critical application can cost between $100,000 and $1 million per hour.  The fallout from poor transaction performance can be a loss of customers, regulatory fines and damage to firm reputation.

Whether it’s improving customer satisfaction or operational performance to minimize costly downtime and drive business objectives, business transaction completion is the most relevant metric that all team members can understand.  Dynamically tagging and following a business transaction across the entire application delivery chain addresses the needs of BizDevOps. 

Unified transaction monitoring with big data scalability and management is the only way IT and business owners can ensure that end-to-end user experience and business objectives are being met.  It drives customer satisfaction and improves competitiveness, strengthening financial performance and market valuation. 

To learn more about the BizDevOps topic, read my free white paper or register for my upcoming webinar.

DevOps: How to Build Trust From the Bottom Up

There are lots of ways DevOps can fail. For all the revolutionary promise of the idea, it takes a tricky cultural shift to get Development and Operations working together. Many companies—especially big ones—take a top-down approach. C-suite execs trumpet a Brand New DevOps Initiative, which everyone else resists, undermines, or ignores.

As a developer at a SaaS company, my success depends on Ops. Too often, Dev and Ops are divided by mistrust and rarely talk between releases. Bridging this gap requires finding a way to dial down the tensions that spring from differences in status and divergent incentives.

Here is an example I’ve seen too many times. A project is running late, so Dev leaves out operational features and the first deployment is a spectacular failure. Dev blames Ops, Ops blames Dev, and the CEO is called in to arbitrate. Dev is usually closer to the CEO, and it doesn’t help future relations that Ops is often left holding the bag.

Given deep-rooted mutual suspicion, it seems obvious that trust is key to making DevOps work. Trust between individual contributors can overcome mistrust higher up, even if the opposite is not true. A great relationship between the CIO and the engineering lead does not guarantee DevOps success. That’s why I think DevOps needs to begin at the bottom. The ideal starting point is a short project that adds a lot of business value, and is kept low profile until it succeeds.

One approach I’ve tried as a Dev lead is to get an Ops Ambassador appointed to my team. (We’re still trying to convince the SFPD to forgive his parking tickets). The Ops Ambassador attends weekly planning meetings and daily standups, which inspires holistic thinking. Dev is more likely to consider the difficulties of identifying bugs in production when the people affected are in the room, and Ops better understands why certain compromises were made. Recently, the Ops Ambassador helped us design a logging system with less spam. When a customer crisis cropped up, we could sift through the logs and find the problem faster.

To be sure, many people say DevOps fails because of technology rather than people. I often hear DevOps is impossible without better test automation or continuous integration. These technologies certainly help build higher quality features faster, but they don’t help fix problems quickly when bugs inevitably arise. Inviting Ops to be a trusted partner in development elevates unsexy items such as feature flags and logging from afterthoughts to integral parts of the design.

The value of trust extends beyond just Dev and Ops, of course. Other dyads of distrust plague many software companies, such as Dev versus Sales or Dev versus Support. One strength of AppDynamics is the depth of collaboration across these boundaries. We aspire to reach beyond DevOps to a DevOpsDocSupportSales joint focus on the customer. A few of my colleagues have similar thoughts on the possibilities of applying DevOps on a larger stage, you can read their thoughts on BizDevOps here.

BizDevOps: Taking DevOps a Step Further

Traditional siloed IT organizations, which were primarily driven by strictly gated Information Technology Infrastructure Library (ITIL) processes and workflows, created tremendously effective controls around operating, and evolving IT systems. This operational methodology was effective when the business expected methodical change to happen via large releases of hardware and software functionality that most often were delivering new capabilities every six to 12 months.

As businesses continue to transform to digital and become software-defined by nature, the need to iterate on software releases more rapidly has driven organizations to build specialized, faster-moving teams in order to adjust the business model and execution quickly. This began with development organizations adopting agile methodologies, including automated testing of software and continuous integration within the development lifecycle. On the IT operations side, there was a need to match the development velocity, requiring breaking down of some of the rigid infrastructure and application support silos.

DevOps is the resultant philosophy that brings together developers and operations teams organizationally, culturally and technically. These changes overcome the work blockages present in non-integrated teams. This requires automation, but also flexibility in the software and infrastructure to adapt and learn. Doing this effectively aligns the development and operations teams with the needs of the business. The ability to learn, pivot quickly, and experiment is critical. Having both teams on the same page, using the same data, and speaking the same language is essential.

Businesses today have stable consistent business processes used to run the bulk of the business, today’s shift requires coupling these with smaller unstable business processes, to provide differentiation. These unstable processes can support customer interactions that are unpredictable and require ad hoc decision-making, these are coupled with larger, more stable business processes. Unstable processes are agile, adaptable and maneuverable according to shifting customer needs. Deliberately unstable processes mandate a shift in the ability of an enterprise and its people to change in a fluid manner. This holistic approach, blending business model, processes, technology and people will fuel digital business success and lay the foundation for the digital transformation agenda.

Product management or the business application owners are responsible for taking business requirements and both stable and unstable processes, and translating them into product requirements and criteria that the DevOps teams must interpret, build and operate. What DevOps fails to do is capture the business transactions needed to drive shifting business model decisions, which are required for digital business success. In order for business, development, and operations teams to work together, key business transactions must be captured and factored into decision-making and automation. Business transactions should not be considered as isolated measure, but instead the path of the user and execution of user-initiated processes across application and infrastructure components.

Making decisions to shift or break business processes must be data-driven, using a combination of metrics and data across business, users, applications and infrastructure. This data includes contextual data such as user, location, device; transactional data such as revenue, channel, product; and operational data such as request response times, device experience, etc. BizDevOps is the extension of DevOps into the business. The ability to support these merged teams will require new technologies in order to keep these teams on the same page when driving digital business. Having a common language based on business transaction allows for more effective meetings and greater collaboration across normally disjointed parts of the organization. Future use cases for BizDevOps platforms and data may include teams, who have often been within data silos such as marketing, sales, customer support, and even back-office business service teams.

My colleague, Anand Akela, wrote about BizDevOps success yesterday and is also hosting an upcoming webinar. Register now!

 

5 Steps to DevOps Success with Application Analytics and BizDevOps

In my last blog, I talked about how the process of BizDevOps is emerging to utilize DevOps practices that further drive the overall business agenda and how a business transaction can be that common language for collaboration between Dev, Ops, and Biz.

DevOps is an approach that improves collaboration among Dev and Ops teams to enable fast delivery of applications and ensure impeccable end-user experience. BizDevOps takes the concept of DevOps to a new level – by bringing the business context and insights to day to day DevOps activities. BizDevOps ensures that Dev and Ops focus on what matters to the business and also introduces the Biz persona (line-of-business manager, product manager) as a key stakeholder in the process.

IDC recently published research on these two topics in its report, “DevOps and the Cost of Downtime: Fortune 1000 Best Practice Metrics Quantified,” by IDC Vice President Stephen Elliot. In addition to eye-opening cost of application downtime and increasing momentum for DevOps, it also highlighted that “I=improved customer experience” is the most expected business outcome from DevOps practices.

Improving end-user customer experience is the one of the key objectives of an application performance management solution in a production environment. By leveraging the application performance data earlier in the development cycle, DevOps teams can ensure readiness for exceptional customer experience before deploying any application in production. Finally, harnessing the business data in application transactions and logs and correlating them with operational data can provide actionable business insights.

In this blog, I will discuss five steps to DevOps success leveraging an application performance management solution in production. I’ll also discuss how application performance analytics earlier in the development lifecycle will help foster BizDevOps success.

1. Monitor and manage performance with the business in mind

In order to minimize the application downtime and expedite remediation of application performance issues, you will need to understand business impact of different transactions and their dependencies on various application components and underlying infrastructure. You need to be looking at every aspect of a business transaction – starting from the user experience, the application performance, how the application interacts with the infrastructure, and then finally what is the business impact and how is the business performing.

AppDynamics automatically discovers application topology and interdependencies, trace key business transactions, visualize and prioritize the end to end business transactions performance in addition to monitoring the health of the application and underlying infrastructure.

Screen Shot 2015-03-02 at 8.18.44 AM

 

The AppDynamics Application Intelligence Platform is a self-learning platform that tracks every business transaction metrics, automatically benchmarks what’s considered normal performance and adjust that baseline dynamically over time using the metrics collected. This dynamic baselining allows for intelligent alerting and remedial actions in case of deviations from normal.

AppDynamics collects metrics for every transaction, but, for those transactions that are trending towards abnormal performance, it intelligently collects call graph snapshots and other diagnostics. A transaction snapshot depicts a set of diagnostic data, taken at a certain point in time, for an individual transaction across all application servers through which the transaction has passed. It gives you the code-level visibility for a business transaction, not just at a single component in your environment, but for the transaction as touched by all instrumented tiers involved in processing the business transaction.

After you find the root cause of the problems by starting from the entry point of a business transaction and drilling down all the way to the calls in your code, AppDynamics also allows you to automate the remedial actions via run-book automation so that you can resolve the issues quickly and ensure exceptional end-user experience.

2. Don’t just manage production apps; Ensure readiness in pre-production

It’s become commonplace that the goal of any mobile application is to give exceptional experience to their end-customer so they can get a five-star rating from iTunes stores or Google Play. Any web application has similar goals for earning their end-user loyalty.

In order to achieve these challenging goals in production, you will need to ensure that your applications are tested and ready for desirable performance in pre-production before they are deployed in the production. It’s helpful if you can use the same application performance management tool that you use in your production environment for monitoring tests in a pre-production environment under a production like environment. APM solution (e.g. AppDynamics) can let you set policies that can trigger automated actions to report issues or simply to notify of successful / unsuccessful test runs during pre-production.

Screen Shot 2015-03-02 at 8.19.07 AM

Having deep application transaction traces, detailed snapshots of applications, and underlying infrastructure is also very important to understand the root cause of any performance issue so that developers can fix them before it surfaces in production. AppDynamics can be run in Developer Mode to capture full snapshots for every transaction and provide full diagnostics data.

3. When stuff happens (and it will), collaborate effectively with Dev, Ops, and Biz

In addition to ensuring production readiness before deployment and having a complete end-to-end visibility into the production environment, it is very important to have processes and tools that foster collaboration between development, operations, and business teams. It helps to get everyone on the same page by looking at the same Business Transaction data, focus on metrics that translate to the business value the application delivers and dive in deeper when appropriate.

AppDynamics Virtual War room IT enables the collaboration between development, operations, and business teams. It allows them to see and resolve problems together in a shared virtual space. It enables scheduled, auto-delivered reports, and adds a new iOS app that sends push notifications to team members when system alerts are triggered.

Screen Shot 2015-03-02 at 9.32.57 AM

AppDynamics Virtual War room IT helps track changes in real time by correlating streaming metrics at second intervals. It allows multiple developers, operations professionals, and business users to look at the same dashboard at the same time and make changes to the dashboard in real-time. It shows a timeline decorated with annotated artifacts that can represent notes and observations.

4. Change is most often the cause of poor performance; so understand changes to improve performance

Once the application is deployed in production, it is critical to watch for any changes in the environment since majority of IT outages are caused by improperly implemented changes. So, in order to minimize the very costly application downtime, it is important to understand the performance impact of every change – Software, server & database upgrades, Infrastructure changes.

Screen Shot 2015-03-02 at 8.19.38 AM

AppDynamics enables you to compare your application before and after a new code release, code sprints and even bug fixes allowing you to assess the impact the new code had on application performance in both pre-production and production environment. You can compare business transaction snapshots for  code path differences between versions, fixes, or between 2 different hosts.

5. Unlock actionable business insights with Application Analytics

Harnessing the business data in transactions and logs and correlating them with operation data can help you unlock actionable business insights.  For example, understanding which users had trouble checking out of your e-commerce application during an outage and what products were in their cart can provide that data to your marketing team so that they can execute on a win back campaign.

Similarly, in case there are multiple business transactions having performance issues, you can prioritize the resolution based on the revenue impact of transactions.

Screen Shot 2015-03-02 at 8.19.48 AM

The AppDynamics Application Intelligence Platform delivers true business intelligence and supports both your immediate operational needs and your longer-term business objectives. It helps you analyze your business and IT outcomes in real-time based on streaming business and operational data in the dashboard. It gives you clear visibility into how your customers are using your products and allows driving customer enablement and prioritizing product development efforts.

To learn more about these key strategies for DevOps success, join me in a webinar with IDC Vice President Stephen Elliot, the author of the “DevOps and the Cost of Downtime: Fortune 1000 Best Practice Metrics Quantified” report. Register now!

The New Modern Family: Business + Development + Operations = BizDevOps

Hello, from a new member of AppDynamics team! I recently joined the team to lead application performance management (APM) product marketing.

Last month, when I was talking with Jyoti Bansal, CEO of AppDynamics, he shared his vision for the company. Where the market is heading and how application performance and end-user experience insights can influence business outcome. This conversation not only cemented my decision to join the company, but also I came back with a quest to learn more about a term he used – BizDevOps.

I learned more about BizDevOps during the last few weeks and yesterday when I read a blog by Larry Dragich. After reading some of the comments about the strategic importance of APM for Line of Business, I thought of sharing some of my thoughts about BizDevOps here with all of you.

UntitledCompanies everywhere — both small and large — are now factoring DevOps it into their business models. However, in today’s agile and increasingly software-defined world, Development (Dev) and Operations (Ops) have to collaborate with Business (Biz) at a very rapid pace. In order to maximize the efficiency at the enterprises, the process of BizDevOps is emerging to utilize DevOps practices that further drive the overall business agenda. BizDevOps isn’t just another fancy buzzword either. DevOps started the collaboration among teams but adding in the business unit provides the actual context and insights from the software.

Software is no longer part of the business, it is the business.

Historically Dev, Ops, and Biz have focused on a different set of priorities, even though, the end goal for everyone is the same — building a successful business. Dev is looking at how to write the best code and how their code performs. Ops is looking at operational monitoring to make sure performance and availability are good. Biz is looking at Business KPIs like “Orders Processed” and “Revenue”, etc.

In the new agile world where Dev, Ops, and Biz have to work together at a very rapid pace, and you need a common language to collaborate. Focusing on a business transaction – an application transaction like “Place Order” or “Deposit money” with business context, can be that common language and is key to BizDevOps.

Dynamically tagging and following a business transaction, that flows through highly distributed application environment, helps address the needs of Dev, Ops, and Biz with unified monitoring. Starting from the user experience, the application performance, how the application interacts with infrastructure, and then finally, how is the business performing. As the business world has become increasingly more software-defined, BizDevOps offers an extremely productive process that integrates the core organizations of IT to push forward business goals and requirements.

Implementing BizDevOps processes in software-defined businesses is becoming more and more vital to company success (or failure). Whenever a company encounters downtime or an outage, all business activities halt at a tremendous cost to the company. Understanding the business impact of any downtime or poor end-user experience, allows businesses to prioritize the resources to address the current issues and plan for proactive remediation and end-to-end optimization.

You can learn more about BizDevOps in a recent Diginomica article that quotes some of Jyoti’s thoughts on this topic.

Looking forward to sharing more of my thoughts on this blog in upcoming weeks and months.

See how AppDynamics APM can help foster BizDevOps in your organization, download a FREE trial today!