How to build better enterprise apps with AppOps
You might be familiar with DevOps, a term that refers to the close relationship between the developers of a solution and the operations personnel who install it and keep it running and available. However, what about enterprise apps? Is there a DevOps link in mobile app development?
In fact, there is, and it’s called AppOps. It’s basically a more focused version of DevOps with one single overarching goal: to keep the app running. The rest is essentially just detail.
According to Medium, Digital Ocean’s Bryan Liles — who originated the term — explained at the Velocity conference in October 2015 that “the basic idea behind AppOps is that the person who writes an app — aka ‘the developer’ — is also the person responsible for operating the app in production, 24/7 and with [service-level objectives].”
The following are five key tenets of AppOps:
1. Continuous integration
Continuous integration is the practice of committing code into a shared source code repository multiple times per day, as opposed to weekly or even more infrequently. The repository checks the submitted code through an automated build process to ensure it has no showstopping bugs. This allows teams to find issues early and fix them before the code becomes buried too deeply in a project. Having this check performed every day vastly improves the quality of the resulting enterprise app.
2. Continuous deployment
Paired with continuous integration, continuous deployment refers to constantly pushing out committed code — code that correctly passes checks and compile — right to the test and deployment stage. If you deploy continuously, you make an implicit statement that you are happy with your code, that it is stable and meets your objectives and that it can be reliably released to serve customers. More generally, it’s the idea that you should release software early and often. Put new features out there, fix issues, push updates to your code and generally don’t wait months or years between new versions of your enterprise app.
Logging is important once your application is deployed because it is one of the first places you will see issues crop up. This can happen either within your app itself — if you have properly instrumented your code and instructed it to output diagnostic information and errors into logs you can access later — or with your app’s interactions with the operating system and other running programs. Proper adherence to AppOps means you have centralized logging capabilities and the ability to get a comprehensive view of how enterprise apps are working.
Metrics are a crucial detail that gives you an eye into how your customers use your app. The following are some helpful metrics to measure:
- How many downloads are there?
- How long is the average session?
- What is the most commonly used feature in your app?
- Which area produces the most errors?
- How many average errors are there per user?
- How many transactions are completed?
- What’s the general location of users?
- Which types of connections do they use?
Together with logging, these metrics give you a total monitoring solution that helps you reach your ultimate goal of keeping your app running.
5. Error handling
How your app handles errors, recovers the user experience and files those errors and their associated reports to developers is the final key piece of the AppOps puzzle.