{"id":10274,"date":"2016-07-01T16:28:53","date_gmt":"2016-07-01T14:28:53","guid":{"rendered":"https:\/\/blog.zhaw.ch\/icclab\/?p=10274"},"modified":"2016-07-01T16:46:17","modified_gmt":"2016-07-01T14:46:17","slug":"cyclops-2-0-is-here","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/","title":{"rendered":"Cyclops 2.0 is here!"},"content":{"rendered":"<p>Our flagship open-source framework for cloud billing &#8211; Cyclops has matured to version 2.0 today. Over the past several months, Cyclops team at ICCLab have gathered community feedbacks, worked systematically updating and re-updating the framework core architecture to make the whole work-flow of billing of cloud services clean and seamless.<\/p>\n<p>The core components in principle are still same as in our previous releases: udr, rc and billing micro-services, but they have been written again from scratch with main focus on modularity, extensibility, and elasticity. The framework is highly configurable and can be deployed as per the unique needs of billing use-cases of any organization.<\/p>\n<figure id=\"attachment_10169\" aria-describedby=\"caption-attachment-10169\" style=\"width: 584px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/icclab.github.io\/cyclops\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-10169\" src=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png\" alt=\"RCB Cyclops architecture 2.0\" width=\"584\" height=\"329\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png 1024w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-300x169.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-768x432.png 768w, https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-500x281.png 500w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><figcaption id=\"caption-attachment-10169\" class=\"wp-caption-text\">RCB Cyclops architecture 2.0<\/figcaption><\/figure>\n<p><!--more-->Summary of key improvements of this release are &#8211;<\/p>\n<ul>\n<li>support for pipelined or batch processing of billing events<\/li>\n<li>separation of collector from the udr micro-service<\/li>\n<li>separation of pricing logic from rc micro-service\n<ul>\n<li>pricing logic is now model driven<\/li>\n<\/ul>\n<\/li>\n<li>separation of customer retention logic, SLA\u00a0violation processing engine, and Geo-spatial arithmetic from the core billing micro-service\n<ul>\n<li>these are also model driven and reside in vendor programmable\u00a0module<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>The ability of Cyclops to use run-time injected models truly makes this framework generic. This release also comes with basic collectors developed by us &#8211;<\/p>\n<ul>\n<li>Apache CloudStack usage collector<\/li>\n<li>OpenStack events collector (taps into OpenStack messaging sub-system)<\/li>\n<\/ul>\n<p>The extensive REST APIs in each micro-service is well documented and should allow developers and enthusiasts to extend the framework to numerous scenarios including deep-data analytics. We have several support services ready at our end and these would be gradually released as part of rolling release of 2.0 over next several weeks. These modules are &#8211;<\/p>\n<ul>\n<li>OpenStack ceilometer collector<\/li>\n<li>Multi-functional dashboard<\/li>\n<li>Gatekeeper &#8211; lightweight RBAC engine<\/li>\n<\/ul>\n<p>We will very soon release collection of prepackaged Docker containers to aid developers in our community test, validate and extend Cyclops core capabilities.<\/p>\n<p>Cyclops 2.0 release can be downloaded from our git repo <a href=\"https:\/\/github.com\/icclab\/cyclops\/\">here<\/a>: <a href=\"https:\/\/github.com\/icclab\/cyclops\/\">https:\/\/icclab.github.com\/cyclops\/<\/a> and extensive documentation is available under the github wiki at\u00a0<a href=\"https:\/\/github.com\/icclab\/cyclops\/wiki\">https:\/\/github.com\/icclab\/cyclops\/wiki<\/a>, we wish you happy testing!<\/p>\n<p>For latest news on Cyclops, follow us on twitter: <a href=\"https:\/\/twitter.com\/rcb_cyclops\">@rcb_cyclops<\/a><\/p>\n<div class=\"pt-sm\">Schlagw\u00f6rter: <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/apache-cloudstack\/\">Apache CloudStack<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/billing-2\/\">billing<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/charging-2\/\">charging<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/cloud\/\">cloud<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/cyclops\/\">Cyclops<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/framework\/\">framework<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/openstack\/\">openstack<\/a>, <a href=\"https:\/\/blog.zhaw.ch\/icclab\/tag\/rating-2\/\">rating<\/a><br><\/div>","protected":false},"excerpt":{"rendered":"<p>Our flagship open-source framework for cloud billing &#8211; Cyclops has matured to version 2.0 today. Over the past several months, Cyclops team at ICCLab have gathered community feedbacks, worked systematically updating and re-updating the framework core architecture to make the whole work-flow of billing of cloud services clean and seamless. The core components in principle [&hellip;]<\/p>\n","protected":false},"author":78,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1,8],"tags":[716,56,75,79,420,791,240,277],"features":[],"class_list":["post-10274","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-charging","tag-apache-cloudstack","tag-billing-2","tag-charging-2","tag-cloud","tag-cyclops","tag-framework","tag-openstack","tag-rating-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Cyclops 2.0 is here! - Service Engineering (ICCLab &amp; SPLab)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cyclops 2.0 is here!\" \/>\n<meta property=\"og:description\" content=\"Our flagship open-source framework for cloud billing &#8211; Cyclops has matured to version 2.0 today. Over the past several months, Cyclops team at ICCLab have gathered community feedbacks, worked systematically updating and re-updating the framework core architecture to make the whole work-flow of billing of cloud services clean and seamless. The core components in principle [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2016-07-01T14:28:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-07-01T14:46:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png\" \/>\n<meta name=\"author\" content=\"Piyush Harsh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Piyush Harsh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\"},\"author\":{\"name\":\"Piyush Harsh\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/2769375907ea1077b28a72e26889f003\"},\"headline\":\"Cyclops 2.0 is here!\",\"datePublished\":\"2016-07-01T14:28:53+00:00\",\"dateModified\":\"2016-07-01T14:46:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\"},\"wordCount\":354,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png\",\"keywords\":[\"Apache CloudStack\",\"billing\",\"charging\",\"cloud\",\"Cyclops\",\"framework\",\"openstack\",\"rating\"],\"articleSection\":[\"*.*\",\"Charging\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\",\"name\":\"Cyclops 2.0 is here! - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png\",\"datePublished\":\"2016-07-01T14:28:53+00:00\",\"dateModified\":\"2016-07-01T14:46:17+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/2769375907ea1077b28a72e26889f003\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white.png\",\"contentUrl\":\"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white.png\",\"width\":2732,\"height\":1538,\"caption\":\"RCB Cyclops architecture 2.0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cyclops 2.0 is here!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/\",\"name\":\"Service Engineering (ICCLab &amp; SPLab)\",\"description\":\"A Blog of the ZHAW Zurich University of Applied Sciences\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/2769375907ea1077b28a72e26889f003\",\"name\":\"Piyush Harsh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/1bff005c7d14996aa22495163abeb371e92daff6c0219e40790dea7d8723d578?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1bff005c7d14996aa22495163abeb371e92daff6c0219e40790dea7d8723d578?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1bff005c7d14996aa22495163abeb371e92daff6c0219e40790dea7d8723d578?s=96&d=mm&r=g\",\"caption\":\"Piyush Harsh\"},\"sameAs\":[\"http:\/\/piyush-harsh.info\/\"],\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/harh\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cyclops 2.0 is here! - Service Engineering (ICCLab &amp; SPLab)","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:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/","og_locale":"en_US","og_type":"article","og_title":"Cyclops 2.0 is here!","og_description":"Our flagship open-source framework for cloud billing &#8211; Cyclops has matured to version 2.0 today. Over the past several months, Cyclops team at ICCLab have gathered community feedbacks, worked systematically updating and re-updating the framework core architecture to make the whole work-flow of billing of cloud services clean and seamless. The core components in principle [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2016-07-01T14:28:53+00:00","article_modified_time":"2016-07-01T14:46:17+00:00","og_image":[{"url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png","type":"","width":"","height":""}],"author":"Piyush Harsh","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Piyush Harsh","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/"},"author":{"name":"Piyush Harsh","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/2769375907ea1077b28a72e26889f003"},"headline":"Cyclops 2.0 is here!","datePublished":"2016-07-01T14:28:53+00:00","dateModified":"2016-07-01T14:46:17+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/"},"wordCount":354,"commentCount":0,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png","keywords":["Apache CloudStack","billing","charging","cloud","Cyclops","framework","openstack","rating"],"articleSection":["*.*","Charging"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/","url":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/","name":"Cyclops 2.0 is here! - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white-1024x576.png","datePublished":"2016-07-01T14:28:53+00:00","dateModified":"2016-07-01T14:46:17+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/2769375907ea1077b28a72e26889f003"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#primaryimage","url":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white.png","contentUrl":"https:\/\/blog.zhaw.ch\/icclab\/files\/2016\/06\/architecture_white.png","width":2732,"height":1538,"caption":"RCB Cyclops architecture 2.0"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/cyclops-2-0-is-here\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"Cyclops 2.0 is here!"}]},{"@type":"WebSite","@id":"https:\/\/blog.zhaw.ch\/icclab\/#website","url":"https:\/\/blog.zhaw.ch\/icclab\/","name":"Service Engineering (ICCLab &amp; SPLab)","description":"A Blog of the ZHAW Zurich University of Applied Sciences","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/2769375907ea1077b28a72e26889f003","name":"Piyush Harsh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1bff005c7d14996aa22495163abeb371e92daff6c0219e40790dea7d8723d578?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1bff005c7d14996aa22495163abeb371e92daff6c0219e40790dea7d8723d578?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1bff005c7d14996aa22495163abeb371e92daff6c0219e40790dea7d8723d578?s=96&d=mm&r=g","caption":"Piyush Harsh"},"sameAs":["http:\/\/piyush-harsh.info\/"],"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/harh\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=10274"}],"version-history":[{"count":11,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10274\/revisions"}],"predecessor-version":[{"id":10285,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/10274\/revisions\/10285"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=10274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=10274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=10274"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=10274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}