Article

Software Development

Zoho

Unleashing the Power of Zoho Catalyst DevOps Part 2: The Components

Posted on April 25, 2024

By Mike Dranginis

May 21, 2024

In the last part of our series on Zoho Catalyst DevOps, we learned about Zoho Devops components and created a practical, full-stack sample project. Now, it’s time to integrate the components to uncover more of the benefits developers can derive from these powerful components.

Integration of DevOps components

As we last discussed, monitoring, quality assurance, and repositories. Now, it’s time to gradually incorporate each of these components into our project, step by step.

Monitoring

Logging

Logging is required for any robust application. Even if they’re not reviewed in real-time, it’s crucial to save logs for future reference should they need to be analyzed.

There are two main types of logs in Catalyst DevOps: access logs and application logs. Access logs offer information about the external information of execution. Meanwhile, application logs give information about the internal application state.

Now, let us add both of these logging to our project.

We have made the following changes to our post function.

app.post("/expenses", (req, res) => {
.	.	.	Previous code
   console.log(
     `Invalid data: description's length: ${description.length} and amount is ${amount}`
   );
   res.status(400).json({ error: "Invalid data" });
 }
});

 

Now, let us deploy the function again and send a wrong request to our function.

Screenshot of a computer screen showing a postman api request with an error message

 

In our Catalyst logs dashboard, we get the following log for the access level.

Screenshot of a web interface showing a server log entry, with columns for function name, request url, response type, and status code indicating a 400 error.

And for the application level, we get the following log.

A screenshot displaying a filename

Application Alerts

Application alerts are instant email notifications for application issues that help teams act quickly to maintain service quality. For demonstration, we will add a warning in our application that alerts the user if an amount they entered is too large.

app.post("/expenses", (req, res) => {
 const { description, amount } = req.body;
 console.log(description);
 if (amount > 1000000) {
   console.warn("Amount is too large");
 }
//same code below

Screenshot of a computer interface displaying a table with columns labeled "function name," "invocation time," "transaction id," "info," and "status" containing sorted data entries.

Application Performance Monitoring and Metrics

A complete dashboard is provided by Catalyst DevOps for in-detail monitoring. You can enable it in the Catalyst console.

Screenshot of an application performance monitoring dashboard displaying graphs for "total instrumentation errors" and "average response time.

 

Screenshot of an application performance monitoring dashboard displaying various system functions and their statuses in a table format.

Want to learn more? Book a meeting with us today!

Automated Testing

As we previously discussed, automated testing reduces the burden on quality assurance teams by ensuring comprehensive coverage and continuous validation of your application.

To kickstart automation testing, our initial step is to enable it.

Screenshot of a user interface for automation testing software, featuring menu options, a descriptive text section, and an illustration of gears and charts.

This component allows us to create different test cases and put them in test suites.

Let’s create our first test case for the function. This is simple, only requiring a name, module, and description of the test case.

Screenshot of a website interface focused on automation testing, featuring a test case creation section with an example code snippet displayed.

A user interface for creating a test case with fields for name, module, and description, and buttons labeled "create" and "cancel.

Next, you “Add Request,” which will specify the API endpoint you’d like to test. You can also add multiple assertions as per your testing needs.

Screenshot of a computer screen displaying an api testing interface within a web browser, showing an empty project named "exampleapi".

With the test case created, next is the automation part. This can be easily accomplished from the Test Suite tab.

Screenshot of an automation testing interface with an open dialog box indicating "test suite must contain at least one test case.

Now that we have a test suite, we can create our test plan and officially complete the automation.

Screenshot of an automation testing software interface showing fields to enter a test plan name, description, test suites, environment variables, and scheduling options.

Automated Testing

As we conclude this series, it’s clear that the integration of Zoho Catalyst DevOps components offers more than just a sum of its parts. It embodies a holistic approach to software development, where efficiency, quality, and performance are not just goals but standards. The simplicity of our examples belies their significance, providing a foundation upon which developers can build complex, reliable, and scalable applications.

Want to learn more? Book a meeting with us today!

Steve Solt headshot

Mike Dranginis is the AVP of Zoho Development at KDG. Mike is dedicated to continuous self-improvement and is constantly striving to do better than his best. This is evident in the dozens of applications he has built and the numerous clients in manufacturing, higher ed, and retail that continue to come back with new ideas and new goals.

Recent Posts
KDG logo

Discover Zoho: The Path to Innovation and Growth

Leverage our expertise as the #1 Global Zoho Partner to streamline your business processes and enhance operational efficiency.

Share this post!

Explore More: Related Insights

  • Article
    Covid-19 Update
  • Case Study
    Drexel University: Raising Funds, Breaking Records, & Setting Trends
  • Webinar
    Getting to Five-Star Feedback