Call me Ishmael. Alright, my name isn't really Ishmael, but I do sometimes feel like I'm out at sea. "Sailing" a modern operations center is no less complex than running a real whaling ship, at least not as far as I can guess. I do get to stay dry though.
"Ahab" (our captain/director of operations) was studying the cost-benefit of owning an API Gateway recently, and came to the firm conclusion that we should be using one. Probably a cluster, actually. The entire crew agreed that a series of gateways would add security, interoperability, and be conducive to the lifecycle management of a whole slew of microservices we see swimming our way.
Somehow though, the job of evaluating gateways landed in my lap. I did a careful job of writing requirements. We issued an RFP. All the biggest vendors in the space responded. But when it was all over, I was still nervous. It's not in my nature to make such a big decision without consulting someone I trust.
Even though it was very late, I picked up my desk phone and called “Q”.
When Q picked up the phone, he was busy sipping at a single malt in his cigar chair. In his day, he had traveled the country and the world solving application performance problems. While many APM tools were available, over the years, he had always favored CA Technologies'. I knew he had urged his employer to buy and integrate the CA API-M Gateway with the CA APM tools too. "Why?" I asked.
Fig 1. The "thought" behind an API
"It's all about qualitative versus quantitative." Q said. I could hear him take another sip of his scotch. "Think about it. What can a gateway tell you about its own performance?"
"Hmmm…" I thumbed through the RFP. "There are other minor details, but the most important thing is that you can tell when a service is slow or has an error. You can do that much just with testing, or a synthetic monitor."
"Exactly!" said Q. "The gateways are excellent at answering a question: responding to an API call, invoking a microservice, etc." I could hear him sit up now and whisper into the phone: "But what if the answer is wrong? What if it comes back slowly, or it isn't the right answer, or it's just an error code? What do you do then?"
I could hear the animation in Q's voice. But I didn't know how to answer. "Well, what do you do?"
Q settled back and rattled the ice cube in his glass. "You get a CA API-M Gateway and you plugin CA APM."
"What? How can that be the answer? There's just one vendor that has the answer?" I asked.
"That's right. The skeleton key is Precision API Monitoring v3.1 When CA shipped that, it cracked the gateway monitoring nut wide open."
Fig 2. Gateway API Summary Tiles
"How do you mean?"
Q continued, "When the gateway is slow or wrong, Precision API Monitoring lets you see into the qualitative aspect of the transactions. You can trace an error through every assertion and backend it called. A transaction trace!"
"What? You can trace every step of a gateway transaction? Without changing the source code?" I asked.
"That's right! And it isn't done with bytecode instrumentation either. But it is done with a careful eye to low overhead and tunability when needed." Q said.
Fig 3. The "thought" behind transactions
"Are there any drawbacks?" I asked.
Q muttered to himself. "Well, if you consider running the very latest, state-of-the-art API-M gateway and APM tooling a drawback…"
"You mean, you have to use the latest stuff?" I said.
Q snorted. "You get to use the latest stuff. Have you see what CA has done with its mapping technology? Experience View tiling (which, by the way, can aggregate performance for a gateway or a cluster of gateways in a few clicks)? Have you seen the automatic alerting features of Differential Analysis, or the brand new Assisted Triage problem engine?"
"No," I sighed. "I haven't."
"Well then, since you called," said Q, "I would highly advise you stop looking at gateways as gateways, and start looking at gateways as part of a total Agile DevOps solution. You're not going to find a better game."
I hung up the phone and started an email to my CA account manager: "Do you think we can bring CA APM in to demonstrate the total solution? If we don't, I have a feeling we'll be missing out."
To learn more about Precision API Monitoring, watch this demo video: