{"id":883,"date":"2015-04-29T23:24:53","date_gmt":"2015-04-29T23:24:53","guid":{"rendered":"https:\/\/gosqeng.test\/?p=883"},"modified":"2019-11-28T11:52:07","modified_gmt":"2019-11-28T11:52:07","slug":"april-in-review","status":"publish","type":"post","link":"https:\/\/www.gosquared.com\/blog\/april-in-review","title":{"rendered":"April in review"},"content":{"rendered":"<p>There&#8217;s been a ton going on in April, and I wanted to get some of the highlights down in a post (in no particular order):<\/p>\n<h3>Redis Cluster<\/h3>\n<p>After about 3 years of eagerly anticipating the launch of a stable Redis cluster, it has finally landed in <a href=\"http:\/\/redis.io\/download\" target=\"_blank\" rel=\"noopener noreferrer\">Redis 3.0<\/a>!<\/p>\n<p>We run several clusters of Redis and push it pretty hard. Until now, we&#8217;ve been manually sharding our data across standalone Redis instances, dreaming of the day when Redis is capable of operating in a self-contained distributed system. Finally that day has arrived!<\/p>\n<p>We didn&#8217;t waste any time in migrating our sharded setup to a proper cluster. Way before Redis cluster even hit its stable release, <a href=\"https:\/\/twitter.com\/simon_tabor\/status\/590481993403604992\" target=\"_blank\" rel=\"noopener noreferrer\">Simon<\/a> started  working on adding support for Redis cluster to his <a href=\"https:\/\/github.com\/gosquared\/redis-clustr\" target=\"_blank\" rel=\"noopener noreferrer\">redis-clustr<\/a> node module. As of this month, redis-clustr is the most stable and fully-featured node.js module for Redis cluster that we know of, and we&#8217;re currently using it in production with our shiny new redis cluster setup.<\/p>\n<p>Also of note is the recently published <a href=\"https:\/\/github.com\/luin\/ioredis\" target=\"_blank\" rel=\"noopener noreferrer\">ioredis<\/a> client for node which we&#8217;re keen to play around with &#8211; looks like a strong contender to the regular <a href=\"https:\/\/github.com\/mranney\/node_redis\" target=\"_blank\" rel=\"noopener noreferrer\">node_redis<\/a> module most Node.js devs use.<\/p>\n<h3>AWS Summit<\/h3>\n<p>I mentioned in a post that we were attending the AWS Summit in London this month. AWS invited us to speak as a guest customer in the Keynote, as well as in the showcase startup session later in the day. Take a look at the <a href=\"https:\/\/www.gosquared.com\/blog\/aws-summit-london-2015\" target=\"_blank\" rel=\"noopener noreferrer\">write-up of our day<\/a> that I published on our non-techy blog &#8211; it has funny photos of James and I waving our arms around on stage.<\/p>\n<h3>New AWS announcements<\/h3>\n<p>We&#8217;re pretty intrigued by some of AWS&#8217; announcements this month:<\/p>\n<p>* <a href=\"http:\/\/aws.amazon.com\/machine-learning\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Machine Learning<\/a> service could have huge potential. When we get a spare moment, we&#8217;re going to put it through its paces and find out what kind of cunning (or dumb) models we can conjure and train!<br \/>\n* SSD EBS can now be sized up to 16TB, up from the previous limit of 1TB. That will make our Cassandra nodes happy.<\/p>\n<h3>Disque<\/h3>\n<p>As if his foray into distributed systems with Redis cluster wasn&#8217;t enough, Redis creator <a href=\"https:\/\/twitter.com\/antirez\" target=\"_blank\" rel=\"noopener noreferrer\">Salvatore<\/a> (Antirez) has launched himself into a new side project: <a href=\"https:\/\/github.com\/antirez\/disque\" target=\"_blank\" rel=\"noopener noreferrer\">Disque<\/a>, the code for which was published this week. In short, Disque is a distributed message broker.<\/p>\n<p>We&#8217;re incredibly excited by this project. Scaling message queues is pretty hard &#8211; there are options out there, such as Amazon Kinesis and Apache Kafka, but we&#8217;ve not seen a migration path we&#8217;d be happy with yet. Disque looks very promising. Sharing Redis&#8217; pedigree of fast in-memory storage and ability to scale horizontally in an available and partition tolerant distributed system, it just might form the backbone of our internal message stream in the near future.<\/p>\n<h3>io.js<\/h3>\n<p>We&#8217;ve migrated most of our main Node.js services to <a href=\"https:\/\/iojs.org\" target=\"_blank\" rel=\"noopener noreferrer\">io.js<\/a>. Their regular release cycle and up-to-date V8 deps mean better performance, stability, and access to ES6 language features that are landing in Chrome. Not long now before we see io.js v2.0.0 which will introduce support for ES6 classes!<\/p>\n<blockquote class=\"twitter-tweet\" data-partner=\"tweetdeck\">\n<p>I&#39;m incredibly excited about <a href=\"https:\/\/twitter.com\/official_iojs\">@official_iojs<\/a> v2.0.0: <a href=\"https:\/\/t.co\/UccgVlEf5t\">https:\/\/t.co\/UccgVlEf5t<\/a> classes! better map\/set support! more TC members!<\/p>\n<p>&mdash; Chris Dickinson (@isntitvacant) <a href=\"https:\/\/twitter.com\/isntitvacant\/status\/592528067085500418\">April 27, 2015<\/a><\/p><\/blockquote>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<h3>Other notable things<\/h3>\n<ul>\n<li>NPM introduced module namespacing, or &#8220;<a href=\"http:\/\/blog.npmjs.org\/post\/116936804365\/solving-npms-hard-problem-naming-packages\" target=\"_blank\" rel=\"noopener noreferrer\">Scopes<\/a>&#8221; &#8211; gone are the days of competing for the best module names!<\/li>\n<li>Thanks to a <a href=\"https:\/\/github.com\/gosquared\/php-sdk\/pull\/2\" target=\"_blank\" rel=\"noopener noreferrer\">helpful PR<\/a>, our PHP tracking module is now compatible with composer and available on <a href=\"https:\/\/packagist.org\/packages\/gosquared\/php-sdk\" target=\"_blank\" rel=\"noopener noreferrer\">packagist<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s been a ton going on in April, and I wanted to get some of the highlights down in a post.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1452],"tags":[],"class_list":["post-883","post","type-post","status-publish","format-standard","hentry","category-engineering"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.6 (Yoast SEO v19.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>April in review - GoSquared Blog<\/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:\/\/www.gosquared.com\/blog\/april-in-review\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"April in review\" \/>\n<meta property=\"og:description\" content=\"There&#039;s been a ton going on in April, and I wanted to get some of the highlights down in a post.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.gosquared.com\/blog\/april-in-review\" \/>\n<meta property=\"og:site_name\" content=\"GoSquared Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/GoSquared\" \/>\n<meta property=\"article:published_time\" content=\"2015-04-29T23:24:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-11-28T11:52:07+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@TheDeveloper\" \/>\n<meta name=\"twitter:site\" content=\"@GoSquared\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geoff Wagstaff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\",\"name\":\"GoSquared\",\"url\":\"https:\/\/www.gosquared.com\/blog\/\",\"sameAs\":[\"https:\/\/instagram.com\/gosquaredteam\",\"https:\/\/www.linkedin.com\/company\/go-squared-ltd.\",\"https:\/\/www.facebook.com\/GoSquared\",\"https:\/\/twitter.com\/GoSquared\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png\",\"contentUrl\":\"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png\",\"width\":1270,\"height\":250,\"caption\":\"GoSquared\"},\"image\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#website\",\"url\":\"https:\/\/www.gosquared.com\/blog\/\",\"name\":\"GoSquared Blog\",\"description\":\"Turn visitors into customers.\",\"publisher\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.gosquared.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/april-in-review#webpage\",\"url\":\"https:\/\/www.gosquared.com\/blog\/april-in-review\",\"name\":\"April in review - GoSquared Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#website\"},\"datePublished\":\"2015-04-29T23:24:53+00:00\",\"dateModified\":\"2019-11-28T11:52:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/april-in-review#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.gosquared.com\/blog\/april-in-review\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/april-in-review#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.gosquared.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"April in review\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/april-in-review#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/april-in-review#webpage\"},\"author\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448\"},\"headline\":\"April in review\",\"datePublished\":\"2015-04-29T23:24:53+00:00\",\"dateModified\":\"2019-11-28T11:52:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/april-in-review#webpage\"},\"wordCount\":581,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.gosquared.com\/blog\/#organization\"},\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.gosquared.com\/blog\/april-in-review#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448\",\"name\":\"Geoff Wagstaff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g\",\"caption\":\"Geoff Wagstaff\"},\"sameAs\":[\"https:\/\/twitter.com\/TheDeveloper\"],\"url\":\"https:\/\/www.gosquared.com\/blog\/author\/echo\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"April in review - GoSquared Blog","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.gosquared.com\/blog\/april-in-review","og_locale":"en_US","og_type":"article","og_title":"April in review","og_description":"There's been a ton going on in April, and I wanted to get some of the highlights down in a post.","og_url":"https:\/\/www.gosquared.com\/blog\/april-in-review","og_site_name":"GoSquared Blog","article_publisher":"https:\/\/www.facebook.com\/GoSquared","article_published_time":"2015-04-29T23:24:53+00:00","article_modified_time":"2019-11-28T11:52:07+00:00","twitter_card":"summary_large_image","twitter_creator":"@TheDeveloper","twitter_site":"@GoSquared","twitter_misc":{"Written by":"Geoff Wagstaff","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.gosquared.com\/blog\/#organization","name":"GoSquared","url":"https:\/\/www.gosquared.com\/blog\/","sameAs":["https:\/\/instagram.com\/gosquaredteam","https:\/\/www.linkedin.com\/company\/go-squared-ltd.","https:\/\/www.facebook.com\/GoSquared","https:\/\/twitter.com\/GoSquared"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png","contentUrl":"https:\/\/www.gosquared.com\/blog\/wp-content\/uploads\/2015\/07\/gosquared.png","width":1270,"height":250,"caption":"GoSquared"},"image":{"@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/www.gosquared.com\/blog\/#website","url":"https:\/\/www.gosquared.com\/blog\/","name":"GoSquared Blog","description":"Turn visitors into customers.","publisher":{"@id":"https:\/\/www.gosquared.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.gosquared.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.gosquared.com\/blog\/april-in-review#webpage","url":"https:\/\/www.gosquared.com\/blog\/april-in-review","name":"April in review - GoSquared Blog","isPartOf":{"@id":"https:\/\/www.gosquared.com\/blog\/#website"},"datePublished":"2015-04-29T23:24:53+00:00","dateModified":"2019-11-28T11:52:07+00:00","breadcrumb":{"@id":"https:\/\/www.gosquared.com\/blog\/april-in-review#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.gosquared.com\/blog\/april-in-review"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.gosquared.com\/blog\/april-in-review#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.gosquared.com\/blog"},{"@type":"ListItem","position":2,"name":"April in review"}]},{"@type":"Article","@id":"https:\/\/www.gosquared.com\/blog\/april-in-review#article","isPartOf":{"@id":"https:\/\/www.gosquared.com\/blog\/april-in-review#webpage"},"author":{"@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448"},"headline":"April in review","datePublished":"2015-04-29T23:24:53+00:00","dateModified":"2019-11-28T11:52:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.gosquared.com\/blog\/april-in-review#webpage"},"wordCount":581,"commentCount":0,"publisher":{"@id":"https:\/\/www.gosquared.com\/blog\/#organization"},"articleSection":["Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.gosquared.com\/blog\/april-in-review#respond"]}]},{"@type":"Person","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/56a3341790c8a0603f96066fb8d42448","name":"Geoff Wagstaff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.gosquared.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/66792d2e4d04406697b9a5f322664691590a386bc15b7146d143bbca07aa8889?s=96&d=mm&r=g","caption":"Geoff Wagstaff"},"sameAs":["https:\/\/twitter.com\/TheDeveloper"],"url":"https:\/\/www.gosquared.com\/blog\/author\/echo"}]}},"wps_subtitle":"A retrospect of techy trinkets from the month","_links":{"self":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts\/883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/comments?post=883"}],"version-history":[{"count":0,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/posts\/883\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/media?parent=883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/categories?post=883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gosquared.com\/blog\/wp-json\/wp\/v2\/tags?post=883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}