<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>fake news Archives &#8211; Structured Procrastination</title>
	<atom:link href="https://blog.adamspiers.org/tag/fake-news/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.adamspiers.org/tag/fake-news/</link>
	<description>because there&#039;s always something more interesting than what you should be doing</description>
	<lastBuildDate>Tue, 19 Dec 2017 18:58:11 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://blog.adamspiers.org/wp-content/uploads/2018/12/cropped-IMG_20160907_193859-PANO-c-7-32x32.jpg</url>
	<title>fake news Archives &#8211; Structured Procrastination</title>
	<link>https://blog.adamspiers.org/tag/fake-news/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Abstraction As A Service</title>
		<link>https://blog.adamspiers.org/2017/12/19/abstraction-as-a-service/</link>
					<comments>https://blog.adamspiers.org/2017/12/19/abstraction-as-a-service/#respond</comments>
		
		<dc:creator><![CDATA[Adam]]></dc:creator>
		<pubDate>Tue, 19 Dec 2017 18:55:00 +0000</pubDate>
				<category><![CDATA[front page]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[fake news]]></category>
		<category><![CDATA[humour]]></category>
		<category><![CDATA[OpenStack]]></category>
		<guid isPermaLink="false">https://blog.adamspiers.org/?p=1569</guid>

					<description><![CDATA[<p>The birth of abstraction layers The last five decades of computing have seen a gradual progression of architectural abstraction layers. Around 50 years ago, IBM mainframes gained virtualization capabilities. Despite explosive progress in the sophistication of hardware following Moore&#8217;s Law, there wasn&#8217;t too much further innovation in abstraction layers in server computing until well after [&#8230;]</p>
<p>The post <a href="https://blog.adamspiers.org/2017/12/19/abstraction-as-a-service/">Abstraction As A Service</a> appeared first on <a href="https://blog.adamspiers.org">Structured Procrastination</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="outline-container-orgf0b3819" class="outline-2">
<h2 id="orgf0b3819">The birth of abstraction layers</h2>
<div class="outline-text-2" id="text-orgf0b3819">
<p> The last five decades of computing have seen a gradual progression of architectural abstraction layers.  <a href="https://www.networkworld.com/article/2254433/virtualization/with-long-history-of-virtualization-behind-it--ibm-looks-to-the-future.html">Around 50 years ago, IBM mainframes gained virtualization capabilities.</a>  Despite explosive progress in the sophistication of hardware following Moore&#8217;s Law, there wasn&#8217;t too much further innovation in abstraction layers in server computing until well after the dawn of the microcomputer era, in the early 2000s, when virtualization suddenly became all the rage again.  (I heard a rumour that this was due to certain IBM patents expiring, but maybe that&#8217;s an urban myth.)  Different types of hypervisors emerged, including <a href="https://virtuozzo.com/support/pvc/">early forms of containers</a>. </p>
<p> Then we started to realise that a hypervisor wasn&#8217;t enough, and we needed a whole management layer to keep control of the new &#8220;VM sprawl&#8221; problem which had arisen.  A whole bunch of solutions appeared, including the concept of &#8220;cloud&#8221;, but many were proprietary, and so after a few years OpenStack came along to the rescue! </p>
</div>
</div>
<div id="outline-container-org1acf60d" class="outline-2">
<h2 id="org1acf60d">The cloud era</h2>
<div class="outline-text-2" id="text-org1acf60d">
<p> But then we realised that managing OpenStack itself was a pain, and someone had the idea that rather than building a separate management layer for managing OpenStack, we could just use OpenStack to manage itself!  And so OpenStack on OpenStack, or Triple-O as it&#8217;s now known, was born. </p>
<p> Within and alongside OpenStack, several other new exciting trends emerged: Software-Defined Networking (SDN), Software-Defined Storage (e.g. Ceph), etc.  So the umbrella term Software-Defined Infrastructure was coined to refer to this group of abstraction layers. </p>
<p><span id="more-1569"></span>
</div>
</div>
<div id="outline-container-orgec1b76b" class="outline-2">
<h2 id="orgec1b76b">The container era</h2>
<div class="outline-text-2" id="text-orgec1b76b">
<p> Whilst OpenStack was busy growing up and moving past the Peak of Inflated Expectations, all of a sudden Docker and containers burst onto the scene and provided a lot of new buzzwords to get everyone excited again.  But after the excitement started to fade, that familiar sinking feeling came back with the realisation that just like VMs, containers need something to manage them. </p>
<p> But then Kubernetes leapt in to the rescue!  And all the excitement returned.  Except that of course then you need something to manage Kubernetes, but fortunately we already had OpenStack, so we could just use that!  And so Magnum was born.  And since Kubernetes is so awesome, we realised that we could also use it as the basis for deploying OpenStack.  At <a href="https://www.openstack.org/summit/sydney-2017/">the recent OpenStack Summit in Sydney</a>, we saw <a href="https://www.openstack.org/summit/sydney-2017/summit-schedule/global-search?t=kubernetes">the continued rise in popularity of running both Kubernetes on OpenStack, and OpenStack on Kubernetes</a>. </p>
</div>
</div>
<div id="outline-container-org3c2e3c9" class="outline-2">
<h2 id="org3c2e3c9">Looking to the future</h2>
<div class="outline-text-2" id="text-org3c2e3c9">
<p> But that still leaves the pesky job of managing raw hardware to put all this stuff on top.  Fortunately there are services you can pay for so that other people do that for you, and they even have APIs you can hook into!  This is called public cloud.  And even better, many companies use OpenStack to drive their public clouds. </p>
<p> So now we&#8217;re running Kubernetes on OpenStack on Kubernetes on OpenStack.  And now we&#8217;re done!  Right? </p>
<p> Well &#x2026; if we&#8217;re to learn anything from this history, it should be that we&#8217;ll always find more good reasons for new abstraction layers.  I mean, there&#8217;s already a huge amount of work going into things like Cloud Foundry on the PaaS layer, NFV in the telco space, serverless computing, &#x2026;  And I hear that Kubernetes is a great platform for running Cloud Foundry, just like it is for OpenStack.  And wouldn&#8217;t OpenStack be a cool platform to provide inside Cloud Foundry, e.g. for people who just want to quickly try it out?  So who knows, maybe in the next few years we&#8217;ll have OpenStack on Cloud Foundry on Kubernetes on OpenStack on Kubernetes on OpenStack. </p>
</div>
</div>
<div id="outline-container-org462e47e" class="outline-2">
<h2 id="org462e47e">A proposal to make things simpler</h2>
<div class="outline-text-2" id="text-org462e47e">
<p> Of course this starts getting a bit unwieldly.  Every time we introduce a new abstraction layer there&#8217;s extra complexity to deal with.  But that&#8217;s OK, because <b>we can always deal with complexity by abstracting it away!</b> It&#8217;s a bit like the cyber-equivalent of delegating difficult tasks to someone else.  So I&#8217;d like to propose a new concept, and corresponding meta-component of the overall architecture: </p>
<p> Whenever we realise we need a new abstraction layer, rather than having to deal with the complexity of deploying and managing this layer, we could just invoke APIs to a central service which takes care of this complexity for us.  We could call this new concept (drum roll, please&#x2026;) <b>Abstraction As A Service, or AaaS.</b> (If you&#8217;re British or Australian you may prefer to pronounce this as if there was an &#8220;r&#8221; in the middle, to distinguish from similar-sounding existing words such as &#8220;as&#8221;.  Or maybe we should call it <i>Sweeping Stuff Under The Carpet As A Service</i>?  Or SSUtCaaS for short, which can be pronounced &#8220;suitcase&#8221; (thanks to <a href="https://www.hastexo.com/who/florian/">Florian</a> for pointing this out). </p>
<p> With AaaS, if we wanted say, NFV on serverless on CF on Kubernetes on OpenStack on Kubernetes on OpenStack on public cloud on COBOL, we could simply write some declarative YAML or JSON describing the stack we want, push it to the AaaS REST API endpoint via an HTTP POST, and it would set the whole thing up for us automatically.  We could build any number and combination of abstraction layers we would possibly need, so at this point the job could be considered well and truly done, once and for all! </p>
<p> Except, ya know, we&#8217;d need a way to deploy and manage our AaaS service, of course.  Maybe we could build an AaaSaaS service for that &#x2026; </p>
</div>
</div>
<div id="outline-container-org8b61ca6" class="outline-2">
<h2 id="org8b61ca6">Sheepish postscript / disclaimer</h2>
<div class="outline-text-2" id="text-org8b61ca6">
<p> P.S. I know, it&#8217;s a terrible joke if you have to explain it, but based on <a href="https://blog.adamspiers.org/2011/11/29/linux-desktop-community-outraged-by-latest-torvalds-comments/">previous experiences</a> of my dry British humour being misunderstood (especially given the inevitably international audience), I feel the need to point out that this blog post was intended as nothing more than poking a bit of gentle fun at the cloud software industry.  I&#8217;m a huge fan of all the technologies mentioned here, and yes, I&#8217;m even in favour of multiple abstraction layers, despite occasionally wondering if we&#8217;ve all gone a bit insane 😉  Thanks to <a href="https://www.hastexo.com/who/florian/">Florian</a>, <a href="http://blog.clusterlabs.org/">Andrew</a>, and <a href="https://launchpad.net/~dmllr">Dirk</a> for reviewing an earlier draft, but I take responsibility for any mistakes or any offence unintentionally caused! </p>
</div>
</div>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.adamspiers.org%2F2017%2F12%2F19%2Fabstraction-as-a-service%2F&#038;title=Abstraction%20As%20A%20Service" data-a2a-url="https://blog.adamspiers.org/2017/12/19/abstraction-as-a-service/" data-a2a-title="Abstraction As A Service"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://blog.adamspiers.org/2017/12/19/abstraction-as-a-service/">Abstraction As A Service</a> appeared first on <a href="https://blog.adamspiers.org">Structured Procrastination</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.adamspiers.org/2017/12/19/abstraction-as-a-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
