<?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>dependencies Archives | Clever Cloud</title>
	<atom:link href="https://stagingv6.cleverapps.io/blog/tag/dependencies/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>From Code to Product</description>
	<lastBuildDate>Thu, 23 Jun 2016 17:15:00 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>dependencies Archives | Clever Cloud</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Introducing Service Dependencies</title>
		<link>https://stagingv6.cleverapps.io/blog/features/2016/06/23/introducing-service-dependencies/</link>
		
		<dc:creator><![CDATA[Clement Delafargue]]></dc:creator>
		<pubDate>Thu, 23 Jun 2016 17:15:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[dependencies]]></category>
		<category><![CDATA[microservices]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2016/06/23/introducing-service-dependencies/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-1368x528.png 1368w" sizes="(max-width: 1400px) 100vw, 1400px" /></p><p>At Clever Cloud, we&#39;ve started using microservices before it was cool&#8482;. Today we&#39;re excited to launch service dependencies, to simplify microservices management.  <span id="more-2867"></span></p>
<h2 id="the-microservices-graph">The microservices graph</h2>
<p>When you ditch your monolith and go full microservices, your application becomes a graph of loosely coupled microservices.</p>
<p>For instance, an typical service API can depend on:</p>
<ul>
<li>an auth microservice to validate requests</li>
<li>a notification gateway to send notification</li>
</ul>
<p>In turn, the notification gateway can depend on:</p>
<ul>
<li>an email gateway</li>
<li>a push notification gateway</li>
</ul>
<p>So you have a graph of services, each with its own lifecycle (eg dev, staging, production). So if you want to use a different email gateway from your staging API, you need to have in turn a specific notification gateway. To make a test in one project, you need to modifiy code in all its dependency chain. Uncool</p>
<h2 id="service-dependencies">Service dependencies</h2>
<p>On Clever Cloud, you already know how to link applications to their dependencies on the fly, without touching code or fidling with config files: by linking an addon to your application, you let the addon inject its location and credentials so you don&#39;t have to handle it yourself. Service dependencies is just a generalization of the addon mechanism to any application.</p>
<h3 id="link-applications">Link applications</h3>
<p>You can add dependencies to an application either from the CLI:</p>
<pre><code class="language-bash">  clever service --alias api link-app notification-gateway
</code></pre>
<p>or from the console:</p>
<p><img src="https://www2.cleverapps.io/app/uploads/2021/08/service-dependencies.png" alt=""></p>
<h3 id="exposed-configuration">Exposed configuration</h3>
<p>With addons, the exposed configuration is always the same. With applications, you can declare the configuration you want to expose to your dependents. To make an app expose configuration, you can either do it from the CLI:</p>
<pre><code class="language-bash">  clever exposed-config --alias api set API_DOMAIN_NAME api.example.com
</code></pre>
<p>or from the console:</p>
<p><img src="https://www2.cleverapps.io/app/uploads/2021/08/exposed-config.png" alt=""></p>
<p>Note: every time you update the exposed configuration, dependent applications will be automatically redeployed.</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1.png 1400w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-300x116.png 300w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-1024x395.png 1024w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-768x296.png 768w, https://staging-cc-assetsv6.cellar-c2.services.clever-cloud.com/uploads/2021/08/service-deps-banner-1-1368x528.png 1368w" sizes="(max-width: 1400px) 100vw, 1400px" /></p><p>At Clever Cloud, we&#39;ve started using microservices before it was cool&#8482;. Today we&#39;re excited to launch service dependencies, to simplify microservices management.  <span id="more-2867"></span></p>
<h2 id="the-microservices-graph">The microservices graph</h2>
<p>When you ditch your monolith and go full microservices, your application becomes a graph of loosely coupled microservices.</p>
<p>For instance, an typical service API can depend on:</p>
<ul>
<li>an auth microservice to validate requests</li>
<li>a notification gateway to send notification</li>
</ul>
<p>In turn, the notification gateway can depend on:</p>
<ul>
<li>an email gateway</li>
<li>a push notification gateway</li>
</ul>
<p>So you have a graph of services, each with its own lifecycle (eg dev, staging, production). So if you want to use a different email gateway from your staging API, you need to have in turn a specific notification gateway. To make a test in one project, you need to modifiy code in all its dependency chain. Uncool</p>
<h2 id="service-dependencies">Service dependencies</h2>
<p>On Clever Cloud, you already know how to link applications to their dependencies on the fly, without touching code or fidling with config files: by linking an addon to your application, you let the addon inject its location and credentials so you don&#39;t have to handle it yourself. Service dependencies is just a generalization of the addon mechanism to any application.</p>
<h3 id="link-applications">Link applications</h3>
<p>You can add dependencies to an application either from the CLI:</p>
<pre><code class="language-bash">  clever service --alias api link-app notification-gateway
</code></pre>
<p>or from the console:</p>
<p><img src="https://www2.cleverapps.io/app/uploads/2021/08/service-dependencies.png" alt=""></p>
<h3 id="exposed-configuration">Exposed configuration</h3>
<p>With addons, the exposed configuration is always the same. With applications, you can declare the configuration you want to expose to your dependents. To make an app expose configuration, you can either do it from the CLI:</p>
<pre><code class="language-bash">  clever exposed-config --alias api set API_DOMAIN_NAME api.example.com
</code></pre>
<p>or from the console:</p>
<p><img src="https://www2.cleverapps.io/app/uploads/2021/08/exposed-config.png" alt=""></p>
<p>Note: every time you update the exposed configuration, dependent applications will be automatically redeployed.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
