<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1091995166297476142</id><updated>2024-09-05T01:21:23.129+05:30</updated><category term="aws"/><category term="cloud ruby paas rackspace iaas amazon ec2 cloudfoundry"/><title type='text'>Technical musings on no particular topic</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://abhijitsharma.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1091995166297476142/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://abhijitsharma.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Abhijit Sharma</name><uri>http://www.blogger.com/profile/08277795047723023880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj81CL6WXMtUGk25HtTvIfPKxEmHf7M1MmTpB0aLcZJwQATsqLInhAViY_m3ECxWA0WR0Xs5l_bRFG7VJqtF-GvFUYrkTXPrBXK5LBawYCtoyBoaiBeqw8sMFA87QvWCQ/s220/sharmaabhijit.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1091995166297476142.post-6476162566842733367</id><published>2011-08-25T02:30:00.003+05:30</published><updated>2011-08-25T02:36:13.450+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="aws"/><title type='text'>Amazon new distributed in-memory caching offering</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;Amazon is now offering the ability to &lt;a href=&quot;http://aws.typepad.com/aws/2011/08/amazon-elasticache-distributed-in-memory-caching.html&quot;&gt;add distributed in memory caching to your applications&lt;/a&gt; deployed in the EC2 cloud.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;This looks like a drop in replacement for the very popular open source cache implementation &lt;a href=&quot;http://memcached.org/&quot;&gt;memcached &lt;/a&gt;(they have memcached protocol compatibility). It is quite interesting how Amazon leverages the in house statistics that it collects on applications being deployed on its infrastructure to decide on what new service to offer – case in point caching and many others like the RDS service too. &amp;nbsp;They do continue their march up the stack – into applications and PAAS. The boundaries between PAAS and IAAS vendors are surely blurring.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;Some interesting points:&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;Bringing management, monitoring and automation to caching as well – via new cache management AWS API. I am sure (if they have not already done so)– they would be including support for this in the &lt;a href=&quot;http://aws.typepad.com/aws/2011/02/cloudformation-create-your-aws-stack-from-a-recipe.html&quot;&gt;cloud formation templates&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;Interesting security angle – security groups for accessing cache – This seems to be a clear value add over vanilla memcached&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;They support sharding of keys to cluster nodes –in order to dynamically resize your cluster, the client library should use a consistent hash function – this is pretty standard in the memcached world as well&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;Lots of interesting cache metrics would be available from cloud watch – which makes it easy to integrate with the &lt;a href=&quot;http://aws.amazon.com/autoscaling/&quot;&gt;AWS Autoscaling service&lt;/a&gt; – e.g. if a cache cluster is running @ &amp;gt; 85 % of memory utilization then it’s time to launch another cluster node as part of the cluster&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;They refer to a caching engine – hopefully they will add support for other caching engine implementations more powerful key-value store like &lt;a href=&quot;http://redis.io/&quot;&gt;redis &lt;/a&gt;(far more feature rich compared to memcached)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitsharma.blogspot.com/feeds/6476162566842733367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitsharma.blogspot.com/2011/08/amazon-new-distributed-in-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1091995166297476142/posts/default/6476162566842733367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1091995166297476142/posts/default/6476162566842733367'/><link rel='alternate' type='text/html' href='http://abhijitsharma.blogspot.com/2011/08/amazon-new-distributed-in-memory.html' title='Amazon new distributed in-memory caching offering'/><author><name>Abhijit Sharma</name><uri>http://www.blogger.com/profile/08277795047723023880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj81CL6WXMtUGk25HtTvIfPKxEmHf7M1MmTpB0aLcZJwQATsqLInhAViY_m3ECxWA0WR0Xs5l_bRFG7VJqtF-GvFUYrkTXPrBXK5LBawYCtoyBoaiBeqw8sMFA87QvWCQ/s220/sharmaabhijit.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1091995166297476142.post-2807449108005911515</id><published>2011-08-24T03:40:00.008+05:30</published><updated>2011-08-25T04:11:30.626+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="cloud ruby paas rackspace iaas amazon ec2 cloudfoundry"/><title type='text'>Ruby and cloud platforms</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;There is a growing trend towards utilizing the Ruby ecosystem for developing enterprise products of the scale and complexity of cloud management platforms. Most famously &lt;a href=&quot;http://www.blogger.com/www.cloudfoundry.com/&quot;&gt;cloudfoundry&lt;/a&gt;, the polyglot PAAS platform is built on ruby – and there is evidence that the Rackspace cloud uses Ruby extensively for data center automation and they state that this helps them compete effectively with the much larger Amazon.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://rubyconfindia.org/2011/presentations/munjal-RubyConfIndia2011.pdf&quot;&gt;http://rubyconfindia.org/2011/presentations/munjal-RubyConfIndia2011.pdf&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;The advantages of using ruby in this context (For the ruby community these are well known!):&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Faster, agile development with fewer developers required, more flexible design&lt;/li&gt;
&lt;li&gt;Program to domain via DSL’s (ruby makes it easy to develop DSL’s) instead of force fitting languages to domain&lt;/li&gt;
&lt;li&gt;Ease of refactoring &amp;amp; integration with third party systems&lt;/li&gt;
&lt;li&gt;Huge community and lots of gems (packages) available for almost any conceivable requirement&lt;/li&gt;
&lt;li&gt;DSL’s also enabled the field engineers to tailor business logic instead of solely relying on the developers&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;An update&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;I had a discussion with a colleague on the reasons for the growing popularity of ruby in the enterprise products space (as compared to Java/Groovy/Grails) and here are some random observations in no particular order attempting to understand the trend :&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;Once ruby had proven itself out there in the web scale environments – with &amp;nbsp;some high profile success stories – architects &amp;nbsp;&amp;amp; decision makers in the enterprise world have started looking at it seriously&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;People who regularly code in Ruby are averse to trying out anything as verbose as Java – just the productivity / ease of use etc is unmatched – even compared to the groovy / grails world&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;You would be surprised to know how rich / extensive the ruby supported/wrapped libraries are. This includes many wrapped C/C++ libraries which can AFAIK be easily incorporated into ruby&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;Even if we can use large popular java libraries in groovy/grails – unless they are wrapped in the easy to use groovy/ruby style – it does not add to the agility, concise code, better mapping to domain etc.&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;Popularity zoomed after the rails revolution – ruby got a huge boost from the popularity of the framework – no java web framework comes close to the simplicity of rails – and grails is just a copy !&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;Some of it probably boils down to the hackers – they identify better with ruby than java (or java extensions) as java has always been considered an enterprise / boring language&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;The size of community and some very capable people behind it has also led to great momentum of producing useful gems – almost everything you can think of is available as a gem&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #1f497d;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;display: inline !important;&quot;&gt;Rise of rails and growth of agile as a movement has also coincided and been mutually beneficial&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/div&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abhijitsharma.blogspot.com/feeds/2807449108005911515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://abhijitsharma.blogspot.com/2011/08/ruby-and-cloud-platforms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1091995166297476142/posts/default/2807449108005911515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1091995166297476142/posts/default/2807449108005911515'/><link rel='alternate' type='text/html' href='http://abhijitsharma.blogspot.com/2011/08/ruby-and-cloud-platforms.html' title='Ruby and cloud platforms'/><author><name>Abhijit Sharma</name><uri>http://www.blogger.com/profile/08277795047723023880</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj81CL6WXMtUGk25HtTvIfPKxEmHf7M1MmTpB0aLcZJwQATsqLInhAViY_m3ECxWA0WR0Xs5l_bRFG7VJqtF-GvFUYrkTXPrBXK5LBawYCtoyBoaiBeqw8sMFA87QvWCQ/s220/sharmaabhijit.JPG'/></author><thr:total>0</thr:total></entry></feed>