{"id":6834,"date":"2022-09-02T13:25:16","date_gmt":"2022-09-02T07:55:16","guid":{"rendered":"https:\/\/zv3d.wpengine.com\/us\/?p=6834"},"modified":"2024-12-18T17:04:24","modified_gmt":"2024-12-18T11:34:24","slug":"zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2","status":"publish","type":"post","link":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/","title":{"rendered":"Zeta&#8217;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)"},"content":{"rendered":"<p>We went through the overall idea behind the demo in\u00a0<a href=\"\/us\/resources\/blog\/achieving-1-million-tps-with-zetas-cipher-a-new-benchmark-in-the-payments-industry-part-1\">Part 1.<\/a>\u00a0Part 2 will inform us about how we achieved the feat, highlighting the technologies that we used along the way. Heads up, it is going to be engineering focussed.<\/p>\n<p><em>Quick recap:<\/em>\u00a0Cipher demonstrated the successful handling of a chart-busting 1 Million Transactions Per Second of online authentication requests utilizing a prudent cost of $200\/hour of AWS cloud infrastructure. The simulated authentications are 240x higher than the authentication output put together by all of the big players in India during online payment transactions.<\/p>\n<h1 class=\"wp-block-heading\">Things we did engineered a nutshell<\/h1>\n<p>Optimized systems for a minimum unit for processing a desirable number of online authentications<\/p>\n<ol class=\"wp-block-list\">\n<li>Built the infrastructure<\/li>\n<li>Setup the simulation environment and node distribution mechanisms<\/li>\n<li>Processed successful authentications for the transactions<\/li>\n<li>Scaled the minimum unit for the desired load capacity of 1 Million TPS<\/li>\n<\/ol>\n<h1 class=\"wp-block-heading\">Infrastructure used<\/h1>\n<ul class=\"wp-block-list\">\n<li>Nginx \u2013 A web server used as an ingress controller (to accept HTTP requests).<\/li>\n<li>EKS (Elastic Kubernetes Service) \u2013 An AWS managed service to run Kubernetes.<\/li>\n<li>Prometheus \u2013 An open-source monitoring system with a dimensional data model, flexible query language, efficient time-series database, and modern alerting approach.<\/li>\n<li>Grafana \u2013 An open-source analytics &amp; monitoring solution for databases and microservices.<\/li>\n<li>Metrics server \u2013 A cluster-wide aggregator of resource usage data for auto-scaling horizontal pods.<\/li>\n<li>Microservices\n<ul>\n<li>Edith<\/li>\n<li>Cerberus<\/li>\n<li>MasterCard Cipher<\/li>\n<li>We\u2019ve presented JVM stats, HTTP requests &amp; connection stats from each of these apps via metrics endpoint and made this a scrape target in Prometheus.<\/li>\n<li>We\u2019ve also enabled the JMX port on each of these microservices to monitor them in real-time.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h1 class=\"wp-block-heading\">Node distribution<\/h1>\n<p><strong>\u2018Node\u2019<\/strong>\u00a0is a container of a single server where multiple microservices can be run and monitored to successfully process a definite amount of authentication requests. We configured each of these nodes at 64GB RAM &amp; 16 GB processor and deployed them on Kubernetes.<\/p>\n<p>Each node had several\u00a0<strong>pods<\/strong>\u00a0running within it, which hosted the microservices required for authenticating online transactions. Amongst the microservices, there are three notable ones.<\/p>\n<ol class=\"wp-block-list\">\n<li><strong>Mastercard Connector<\/strong>\u00a0\u2013 To handle the ACS protocol specific nuances and serve as a connector for the Mastercard card scheme<\/li>\n<li><strong>Edith<\/strong>\u00a0\u2013 To orchestrate the intricate authentication plans<\/li>\n<li><strong>Cerberus\u00a0<\/strong>\u2013 To serve as the Identity Provider and the core authentication engine<\/li>\n<\/ol>\n<h1 class=\"wp-block-heading\">Simulation environment<\/h1>\n<p>Although processing 1 Million TPS was the objective, we also had to generate that much amount of transaction load for doing that. So, we used Gatling as the load generator. We let the Gatling Master spread across four zones, spread across in Mumbai and Singapore, for running 50 tasks of individual test scripts to authenticate bank transactions coming in from card networks.<\/p>\n<p>The Gatling injector simulated the interactions that a card network usually has with its ACS provider while authenticating online transactions. It also reproduced the cardholder interactions required for authentication. The system-level simulations are \u2013<\/p>\n<ol class=\"wp-block-list\">\n<li>VEReqs on behalf of the card network<\/li>\n<li>PAReqs on behalf of the card network<\/li>\n<li>Challenge-response submissions as performed by cardholders to prove their authenticity<\/li>\n<\/ol>\n<p>The simulator routed these requests to auto-scalable clusters of Cipher microservices, which were configured with dummy BINs.<\/p>\n<h1 class=\"wp-block-heading\">Authentication flow<\/h1>\n<p>These are the steps for a successful authentication flow.<\/p>\n<ol class=\"wp-block-list\">\n<li>The simulator verifies (with VEReq) if the card under authentication is enrolled with Cipher. If it is, the simulator initiates the pair authentication request (PAReq) and gets the authentication URL from Cipher.<\/li>\n<li>Gatling simulates the Swipe to Pay (S2P) interaction, generating the necessary credentials required for completing the authentication.<\/li>\n<li>Gatling submits the S2P challenge and receives the authentication response.<\/li>\n<li>It redirects the control back to the card network module that\u2019s simulated.<\/li>\n<\/ol>\n<h1 class=\"wp-block-heading\">Minimum unit<\/h1>\n<p>A minimum unit consisted of a specific number of instances of every microservice. The function of this minimum unit was to handle a definite number of transactions.<\/p>\n<p>To come up with this unit, we tested each microservice individually to get a measure of the number of authentication requests it could serve in a given time period with specific resources allocated to it. The minimum unit that we came up with successfully handled 20K authentication requests.<\/p>\n<p>1 minimum unit = 3 units of Edith, 2 units of Mastercard Connector, 2 units of Cerberus<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"img-responsive web-70 alignnone wp-image-6836 size-large\" src=\"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/utilization-1024x615.png\" alt=\"\" width=\"1024\" height=\"615\" srcset=\"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/utilization-1024x615.png 1024w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/utilization-300x180.png 300w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/utilization-768x461.png 768w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/utilization.png 1282w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Here is the\u00a0<em>resource utilization data<\/em>\u00a0when Cipher was comfortably serving 20K authentications.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"img-responsive web-70 alignnone wp-image-6837 size-large\" src=\"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/resource-1024x730.png\" alt=\"\" width=\"1024\" height=\"730\" srcset=\"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/resource-1024x730.png 1024w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/resource-300x214.png 300w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/resource-768x548.png 768w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/resource.png 1318w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h1 class=\"wp-block-heading\">Scaling of the minimum unit<\/h1>\n<p>Now that we had a stable unit that could serve 20K TPS comfortably, we scaled it to accommodate additional authentication requests. We used this unit as the base reference for serving transaction requests from one issuer.<\/p>\n<p>With this logic in place, we scaled the minimum unit up to 50 such units, handling 20K TPS each, to serve 50 issuers, leading up to 1 Million TPS. The 4 Gatling servers simulated the load for 500 distinct BINs spread across 50 issuers, each having 1,00,000 cards. The entire setup, consisting of 4 Kubernetes clusters, spanned across 2 AWS regions with two availability zones, respectively.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"img-responsive web-70 alignnone wp-image-6838 size-large\" src=\"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/network-1024x692.png\" alt=\"\" width=\"1024\" height=\"692\" srcset=\"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/network-1024x692.png 1024w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/network-300x203.png 300w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/network-768x519.png 768w, https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2024\/11\/network.png 1246w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>With AWS, the nodes aren\u2019t scalable within minutes. But since we had to attain that, we warmed up the nodes by scaling up the pods. We used 350 of the pods within 100 nodes to handle the heavy load of 1 Million authentication requests. When the load was less, we scaled down the nodes by cutting down the pods based on the resource utilization factors using Horizontal Pod Autoscaler.<\/p>\n<p><em>Footnote:<\/em><\/p>\n<ol class=\"wp-block-list\">\n<li>The authentication\u2019s write I\/O was done asynchronously considering the purpose of the live demonstration.<\/li>\n<li>Three requests effectively make one authentication.<\/li>\n<\/ol>\n<p>If you\u2019d like to check out the test data that we used for simulating authentications, it is available for reference\u00a0<a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/18vM6sj6wgcfw-X2DIKelwZn-4UHE8c2De1OSeqh0eQo\/edit?usp=sharing\">here<\/a>.<\/p>\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n<p>It took our team of 8 people only 9 days to successfully deliver the desired results. We\u2019re glad to have made some key decisions during this process that allowed us to quickly achieve what we wanted \u2013 like choosing AWS, Kubernetes, and Gatling Enterprise. We hope to work on several such innovative initiatives that redefine the future of payments in our country and beyond. Thanks for reading and hope you found this helpful!<\/p>\n<p><strong>Credits<\/strong><\/p>\n<p><em>Developers who made this feat possible<\/em>\u00a0\u2013 Mrinal Trivedi, Amit Raj, Ramki, Dipit Grover, Amit G, Shubham Jha, Vivekanand G, Mohd. Tanveer, Shaik Idris<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zeta&#8217;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)<\/p>\n","protected":false},"author":11,"featured_media":7079,"comment_status":"open","ping_status":"open","sticky":false,"template":"single-engg.php","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[49],"tags":[],"class_list":["post-6834","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Zeta&#039;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2) - Zeta US<\/title>\n<meta name=\"description\" content=\"Zeta&#039;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zeta&#039;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)\" \/>\n<meta property=\"og:description\" content=\"Zeta&#039;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Zeta US\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/LifeAtZeta\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-02T07:55:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-18T11:34:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/09\/Zetas-Cipher_-Revolutionizing-Payment-Authentication-with-1-Million-TPS-Scalability-Part-2-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Team Zeta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zetasuite\" \/>\n<meta name=\"twitter:site\" content=\"@zetasuite\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Zeta's Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2) - Zeta US","description":"Zeta's Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/","og_locale":"en_US","og_type":"article","og_title":"Zeta's Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)","og_description":"Zeta's Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)","og_url":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/","og_site_name":"Zeta US","article_publisher":"https:\/\/www.facebook.com\/LifeAtZeta\/","article_published_time":"2022-09-02T07:55:16+00:00","article_modified_time":"2024-12-18T11:34:24+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/09\/Zetas-Cipher_-Revolutionizing-Payment-Authentication-with-1-Million-TPS-Scalability-Part-2-1.png","type":"image\/png"}],"author":"Team Zeta","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zetasuite","twitter_site":"@zetasuite","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#article","isPartOf":{"@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/"},"author":{"name":"Team Zeta","@id":"https:\/\/www.zeta.tech\/us\/#\/schema\/person\/c53461c9d9812d486a10122752f61b35"},"headline":"Zeta&#8217;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)","datePublished":"2022-09-02T07:55:16+00:00","dateModified":"2024-12-18T11:34:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/"},"wordCount":1004,"commentCount":0,"publisher":{"@id":"https:\/\/www.zeta.tech\/us\/#organization"},"image":{"@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/09\/Zetas-Cipher_-Revolutionizing-Payment-Authentication-with-1-Million-TPS-Scalability-Part-2.png","articleSection":["Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/","url":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/","name":"Zeta's Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2) - Zeta US","isPartOf":{"@id":"https:\/\/www.zeta.tech\/us\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#primaryimage"},"image":{"@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/09\/Zetas-Cipher_-Revolutionizing-Payment-Authentication-with-1-Million-TPS-Scalability-Part-2.png","datePublished":"2022-09-02T07:55:16+00:00","dateModified":"2024-12-18T11:34:24+00:00","description":"Zeta's Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)","breadcrumb":{"@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#primaryimage","url":"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/09\/Zetas-Cipher_-Revolutionizing-Payment-Authentication-with-1-Million-TPS-Scalability-Part-2.png","contentUrl":"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/09\/Zetas-Cipher_-Revolutionizing-Payment-Authentication-with-1-Million-TPS-Scalability-Part-2.png","width":600,"height":378},{"@type":"BreadcrumbList","@id":"https:\/\/www.zeta.tech\/us\/resources\/blog\/zetas-cipher-revolutionizing-payment-authentication-with-1-million-tps-scalability-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.zeta.tech\/us\/"},{"@type":"ListItem","position":2,"name":"Zeta&#8217;s Cipher: Revolutionizing Payment Authentication with 1 Million TPS Scalability (Part 2)"}]},{"@type":"WebSite","@id":"https:\/\/www.zeta.tech\/us\/#website","url":"https:\/\/www.zeta.tech\/us\/","name":"Zeta US","description":"Launch Next-Gen Credit Cards With Zeta","publisher":{"@id":"https:\/\/www.zeta.tech\/us\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.zeta.tech\/us\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.zeta.tech\/us\/#organization","name":"Zeta","url":"https:\/\/www.zeta.tech\/us\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.zeta.tech\/us\/#\/schema\/logo\/image\/","url":"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/02\/logo-white-xx.png","contentUrl":"https:\/\/www.zeta.tech\/us\/wp-content\/uploads\/sites\/2\/2022\/02\/logo-white-xx.png","width":114,"height":46,"caption":"Zeta"},"image":{"@id":"https:\/\/www.zeta.tech\/us\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/LifeAtZeta\/","https:\/\/x.com\/zetasuite","https:\/\/www.linkedin.com\/company\/zetasuite\/"]},{"@type":"Person","@id":"https:\/\/www.zeta.tech\/us\/#\/schema\/person\/c53461c9d9812d486a10122752f61b35","name":"Team Zeta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.zeta.tech\/us\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b4167de5b0a18bf54bbed35289788cbca3a1e16a9ba9a3c0aedffbdecd91c1df?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4167de5b0a18bf54bbed35289788cbca3a1e16a9ba9a3c0aedffbdecd91c1df?s=96&d=mm&r=g","caption":"Team Zeta"},"description":"Meet Team Zeta, a diverse group of experts who regularly contribute their insights to our blog. From banking trends to regulatory compliance, each Zetanaut brings a unique perspective to the table. Stay ahead of the curve by following our blog for the latest industry knowledge and expertise from Team Zeta.","sameAs":["https:\/\/www.linkedin.com\/company\/zetasuite","https:\/\/x.com\/https:\/\/twitter.com\/zetasuite"],"url":"https:\/\/www.zeta.tech\/us\/resources\/blog\/author\/teamzeta\/"}]}},"_links":{"self":[{"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/posts\/6834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/comments?post=6834"}],"version-history":[{"count":0,"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/posts\/6834\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/media\/7079"}],"wp:attachment":[{"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/media?parent=6834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/categories?post=6834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zeta.tech\/us\/wp-json\/wp\/v2\/tags?post=6834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}