<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Cloud on Felix Seifert</title>
		<link>https://felix-seifert.com/blog/tags/cloud/</link>
		<description>Recent content in Cloud on Felix Seifert</description>
		<generator>Hugo</generator>
		<language>en-gb</language>
		
		
		
			<copyright>Felix Seifert</copyright>
		
		
			<lastBuildDate>Sun, 18 Apr 2021 15:49:22 +0000</lastBuildDate>
		
			<atom:link href="https://felix-seifert.com/blog/tags/cloud/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Serverless Function as a Service on Heroku</title>
				<link>https://felix-seifert.com/blog/serverless-function-as-a-service-on-heroku/</link>
				<pubDate>Sun, 18 Apr 2021 15:49:22 +0000</pubDate>
				<guid>https://felix-seifert.com/blog/serverless-function-as-a-service-on-heroku/</guid>
				<description>&lt;figure&gt;&#xA;  &lt;img src=&#34;https://felix-seifert.com/images/posts/serverless-on-heroku_hu_a0212aab25b0f351.webp&#34;&#xA;       &#xA;       srcset=&#34;https://felix-seifert.com/images/posts/serverless-on-heroku_hu_a0212aab25b0f351.webp 512w, https://felix-seifert.com/images/posts/serverless-on-heroku_hu_a0212aab25b0f351.webp 512w&#34;&#xA;       sizes=&#34;(min-width: 42rem) 40rem, 100vw&#34;&#xA;       width=&#34;512&#34; height=&#34;512&#34;&#xA;       alt=&#34;Serverless Function as a Service on Heroku&#34;&#xA;       fetchpriority=&#34;high&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Deploying applications as Function as a Service (FaaS) in a serverless fashion results in creating a service running on a pay-per-use basis: The server with your function is only started when requested, can be started several times simultaneously and does not run when nobody needs it. This means that you do not have to pay for a fixed amount of bandwidth and are billled only for your needed computation power. Furthermore, FaaS can be scaled easily to serve a varying number of requests.&#xA;&lt;a href=&#34;https://www.heroku.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Heroku&lt;/a&gt; offers the opportunity to run smaller web projects for free for a limited number of hours per month. Serveless FaaS would be an ideal approach to use this free time more effectively and to allow easy scaling but unfortunately, Heroku does not really offer any serverless functions. Heroku offers &lt;a href=&#34;https://devcenter.heroku.com/articles/one-off-dynos&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;one-off dynos&lt;/a&gt; which spin up a container for an application if it is needed. They can only be addressed from within Heroku and cannot receive any HTTP traffic.&#xA;In our &lt;a href=&#34;https://github.com/felix-seifert/serverless-on-heroku&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tutorial on GitHub&lt;/a&gt;, &lt;a href=&#34;https://github.com/Ackuq&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Axel Pettersson&lt;/a&gt; and I describe a way on how to use these one-off dynos to create a serverless FaaS: We provide environment variables as the function parameters and read return values from the dyno’s logs. You do not need any specific programming framework for such a function; you can just create a simple script. Consult our &lt;a href=&#34;https://github.com/felix-seifert/serverless-on-heroku&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tutorial on GitHub&lt;/a&gt; or &lt;a href=&#34;https://felix-seifert.github.io/serverless-on-heroku/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub pages&lt;/a&gt; to create FaaS for free on Heroku and interact with us directly via the &lt;a href=&#34;https://github.com/felix-seifert/serverless-on-heroku/issues&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;‘Issues’ section&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Queue vs. Topic in Asynchronous Messaging</title>
				<link>https://felix-seifert.com/blog/asynchronous-communication-difference-between-queue-topic/</link>
				<pubDate>Mon, 13 Apr 2020 06:07:18 +0000</pubDate>
				<guid>https://felix-seifert.com/blog/asynchronous-communication-difference-between-queue-topic/</guid>
				<description>&lt;p&gt;In his book &lt;a href=&#34;http://shop.oreilly.com/product/0636920023777.do&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Cloud Architecture Patterns&lt;/a&gt; (O&amp;rsquo;Reilly Media, 2010), Bill Wilder described important characteristics for cloud-native app development. Amongst others, cloud-native apps feature an asynchronous communication. Asynchronous communication means that messages are either published on a topic or send to a queue. This enables reactive programming through famous message brokers like &lt;a href=&#34;https://www.rabbitmq.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;RabbitMQ&lt;/a&gt; or &lt;a href=&#34;https://kafka.apache.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Apache Kafka&lt;/a&gt;. But what are &amp;lsquo;queue&amp;rsquo; and &amp;rsquo;topic&amp;rsquo;? This article describes the differences between asynchronous messaging via a topic or a queue.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
