<?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>API Archives | Clever Cloud</title>
	<atom:link href="https://www.clever.cloud/blog/tag/api/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.clever.cloud/blog/tag/api/</link>
	<description>From Code to Product</description>
	<lastBuildDate>Fri, 16 May 2025 08:25:57 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cdn.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>API Archives | Clever Cloud</title>
	<link>https://www.clever.cloud/blog/tag/api/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Understanding MCP servers: generic vs. domain-specific approaches</title>
		<link>https://www.clever.cloud/blog/engineering/2025/05/16/understanding-mcp-servers-generic-vs-domain-specific-approaches/</link>
		
		<dc:creator><![CDATA[Horacio Gonzalez]]></dc:creator>
		<pubDate>Fri, 16 May 2025 08:20:22 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Clever AI]]></category>
		<category><![CDATA[MCP]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?p=17402</guid>

					<description><![CDATA[<p><img width="2500" height="1109" src="https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2025 05 16 clever cloud banniere blog serveurs mcp en" decoding="async" fetchpriority="high" srcset="https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en.png 2500w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-1536x681.png 1536w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-2048x908.png 2048w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-1368x607.png 1368w" sizes="(max-width: 2500px) 100vw, 2500px" /></p><!-- wp:paragraph -->
<p>MCP (Model Context Protocol) servers are that guide—directing LLMs to the right information, whether through broad, flexible access (generic) or targeted, optimized interactions (domain-specific). But how do you decide which approach is best for your use case?</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":17448,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2025/05/image-2-1024x610.png" alt="MCP Architecture" class="wp-image-17448"/></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Understanding MCP server designs</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>MCP (Model Context Protocol) servers are specialized interfaces that allow Large Language Models (LLMs) to connect with external data sources, services, or tools. They transform natural language instructions into actionable queries, providing LLMs with structured, efficient access to information.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>MCP servers can be categorized into two main types:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Generic MCP Servers:</strong> Highly flexible, adaptable to any database or tool, but requiring LLMs to understand and navigate complex schemas.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Domain-Specific MCP Servers:</strong> Purpose-built for a specific domain, offering predefined tools that simplify interactions.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Generic MCP servers: a flexible starting point</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Generic MCP servers are versatile, one-size-fits-all solutions. They connect LLMs to any database or tool without prior knowledge of their structure. This flexibility makes them quick to deploy, but it also means that LLMs must navigate and understand complex schemas on their own.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">What makes an MCP server generic?</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Universal Querying:</strong> Accepts raw queries (like SQL) from the LLM, making it compatible with any database.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Schema Agnostic:</strong> No predefined knowledge of database structure.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Minimal Configuration:</strong> Quick to set up without extensive preparation.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Example: PostgreSQL MCP server with single query tool</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>A practical example of this approach is the<a href="https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"> @modelcontextprotocol/server-postgres</a>. This MCP server connects LLMs to PostgreSQL databases with a single, flexible endpoint:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Endpoint:</strong> POST /query - Accepts raw SQL queries directly from the LLM.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Functionality:</strong> Allows LLMs to query any PostgreSQL database without knowing its schema in advance.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:image {"id":17445,"sizeSlug":"large","linkDestination":"none","align":"center"} -->
<figure class="wp-block-image aligncenter size-large"><img src="https://cdn.clever-cloud.com/uploads/2025/05/image-1024x927.png" alt="" class="wp-image-17445"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pros and cons of generic MCP servers</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">✅ Advantages</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Fast and easy setup.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Compatible with any database.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>No need to update for schema changes.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">❌ Drawbacks</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>High cognitive load for LLMs.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Less efficient, requiring multiple queries.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Security risks (SQL injection).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Domain-specific MCP servers: a tailored, efficient alternative</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Domain-specific MCP servers are precision tools, purpose-built for a specific domain. They offer predefined tools that make interactions clear and efficient.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">What makes an MCP server domain-specific?</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Predefined Tools:</strong> Provides intuitive commands like getMonsterByName or listMonstersByType.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Schema Awareness:</strong> Knows the database structure and can optimize queries.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Guided Interactions:</strong> LLMs use clear, named tools without exploring schema.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Example: custom PostgreSQL MCP server for RAGmonsters</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>A practical example is the<a href="https://github.com/LostInBrittany/RAGmonsters-mcp-pg"> Custom PostgreSQL MCP Server for RAGmonsters</a>. It offers targeted tools:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>getMonsterByName</strong>: Fetches detailed information about a monster.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>listMonstersByType</strong>: Lists monsters of a given type.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:image {"id":17446,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2025/05/image-1-1024x594.png" alt="" class="wp-image-17446"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pros and cons of domain-specific MCP servers</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">✅ Advantages</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Easy, intuitive interactions for LLMs.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Optimized for specific use cases.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Secure (no raw SQL).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">❌ Drawbacks</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Initial setup time.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Less flexible to schema changes.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comparing the Two Approaches</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<style>
    /* Style only for the table with ID "mcp-types-table" */
    #mcp-types-table {
      border-collapse: collapse;
      width: 100%;
    }

    #mcp-types-table th, 
    #mcp-types-table td {
      padding: 8px 16px; /* Horizontal padding */
      border: 1px solid #ddd;
      text-align: left;
    }

    /* First row (header) and first column (leftmost column) */
    #mcp-types-table th {
      font-weight: bold;
      background-color: #f2f2f2;
    }

    #mcp-types-table tr th:first-child, 
    #mcp-types-table tr td:first-child {
      font-weight: bold;
      background-color: #f2f2f2;
    }
  </style>

<table id="mcp-types-table">
  <tr>
    <th>Aspect</th> 
    <th>Generic MCP Server</th>
    <th>Domain-Specific MCP Server</th>
  </tr>
  <tr>
    <td>Setup Speed</td>
    <td>Fast, minimal configuration</td>
    <td>Slower, requires planning</td>
  </tr>
  <tr>
    <td>Efficiency</td>
    <td>Lower, LLM must explore schema</td>
    <td>High, optimized for specific tasks</td>
  </tr>
  <tr>
    <td>Security</td>
    <td>Risk of SQL injection</td>
    <td>Secure, predefined tools</td>
  </tr>
  <tr>
    <td>Flexibility</td>
    <td>Adapts to any schema</td>
    <td>Needs updates with schema changes</td>
  </tr>
  <tr>
    <td>User Experience</td>
    <td>Complex, LLM must learn</td>
    <td>Simple, guided interactions</td>
  </tr>
</table>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Conclusion: choosing the right MCP server</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To find out more and discover a concrete implementation of these concepts, discover how to <a href="https://www.clever.cloud/blog/company/2025/01/21/create-your-own-mcp-client-server-as-easy-as-1-2-3-with-otoroshi/">create your MCP server with Otoroshi</a>. It details how Otoroshi with LLM allows you to quickly create MCP servers and clients, expose functions via SSE, WebSockets or HTTP, and simplify integration with ready-to-use MCP connectors.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Whether you need a flexible, exploratory tool or a precise, optimized solution, understanding the difference between generic and domain-specific MCP servers will help you build smarter, more efficient LLM-powered applications. Choose a generic server for quick setup and adaptability, or a domain-specific server for secure, streamlined performance. Ready to start? Explore our<a href="https://github.com/CleverCloud/mcp-pg-example"> PostgreSQL MCP Server</a> or<a href="https://github.com/LostInBrittany/RAGmonsters-mcp-pg"> Custom RAGmonsters MCP Server</a> to see both approaches in action.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="2500" height="1109" src="https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="2025 05 16 clever cloud banniere blog serveurs mcp en" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en.png 2500w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-300x133.png 300w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-1024x454.png 1024w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-768x341.png 768w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-1536x681.png 1536w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-2048x908.png 2048w, https://cdn.clever-cloud.com/uploads/2025/05/2025-05-16-clever-cloud-banniere-blog-serveurs-mcp-en-1368x607.png 1368w" sizes="auto, (max-width: 2500px) 100vw, 2500px" /></p><!-- wp:paragraph -->
<p>MCP (Model Context Protocol) servers are that guide—directing LLMs to the right information, whether through broad, flexible access (generic) or targeted, optimized interactions (domain-specific). But how do you decide which approach is best for your use case?</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":17448,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2025/05/image-2-1024x610.png" alt="MCP Architecture" class="wp-image-17448"/></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Understanding MCP server designs</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>MCP (Model Context Protocol) servers are specialized interfaces that allow Large Language Models (LLMs) to connect with external data sources, services, or tools. They transform natural language instructions into actionable queries, providing LLMs with structured, efficient access to information.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>MCP servers can be categorized into two main types:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Generic MCP Servers:</strong> Highly flexible, adaptable to any database or tool, but requiring LLMs to understand and navigate complex schemas.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Domain-Specific MCP Servers:</strong> Purpose-built for a specific domain, offering predefined tools that simplify interactions.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Generic MCP servers: a flexible starting point</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Generic MCP servers are versatile, one-size-fits-all solutions. They connect LLMs to any database or tool without prior knowledge of their structure. This flexibility makes them quick to deploy, but it also means that LLMs must navigate and understand complex schemas on their own.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">What makes an MCP server generic?</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Universal Querying:</strong> Accepts raw queries (like SQL) from the LLM, making it compatible with any database.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Schema Agnostic:</strong> No predefined knowledge of database structure.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Minimal Configuration:</strong> Quick to set up without extensive preparation.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Example: PostgreSQL MCP server with single query tool</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>A practical example of this approach is the<a href="https://github.com/modelcontextprotocol/servers/tree/main/src/postgres"> @modelcontextprotocol/server-postgres</a>. This MCP server connects LLMs to PostgreSQL databases with a single, flexible endpoint:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Endpoint:</strong> POST /query - Accepts raw SQL queries directly from the LLM.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Functionality:</strong> Allows LLMs to query any PostgreSQL database without knowing its schema in advance.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:image {"id":17445,"sizeSlug":"large","linkDestination":"none","align":"center"} -->
<figure class="wp-block-image aligncenter size-large"><img src="https://cdn.clever-cloud.com/uploads/2025/05/image-1024x927.png" alt="" class="wp-image-17445"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pros and cons of generic MCP servers</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">✅ Advantages</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Fast and easy setup.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Compatible with any database.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>No need to update for schema changes.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">❌ Drawbacks</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>High cognitive load for LLMs.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Less efficient, requiring multiple queries.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Security risks (SQL injection).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Domain-specific MCP servers: a tailored, efficient alternative</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Domain-specific MCP servers are precision tools, purpose-built for a specific domain. They offer predefined tools that make interactions clear and efficient.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">What makes an MCP server domain-specific?</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Predefined Tools:</strong> Provides intuitive commands like getMonsterByName or listMonstersByType.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Schema Awareness:</strong> Knows the database structure and can optimize queries.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Guided Interactions:</strong> LLMs use clear, named tools without exploring schema.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Example: custom PostgreSQL MCP server for RAGmonsters</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>A practical example is the<a href="https://github.com/LostInBrittany/RAGmonsters-mcp-pg"> Custom PostgreSQL MCP Server for RAGmonsters</a>. It offers targeted tools:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>getMonsterByName</strong>: Fetches detailed information about a monster.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>listMonstersByType</strong>: Lists monsters of a given type.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:image {"id":17446,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2025/05/image-1-1024x594.png" alt="" class="wp-image-17446"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Pros and cons of domain-specific MCP servers</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">✅ Advantages</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Easy, intuitive interactions for LLMs.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Optimized for specific use cases.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Secure (no raw SQL).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">❌ Drawbacks</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Initial setup time.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Less flexible to schema changes.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Comparing the Two Approaches</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><br></p>
<!-- /wp:paragraph -->

<!-- wp:html -->
<style>
    /* Style only for the table with ID "mcp-types-table" */
    #mcp-types-table {
      border-collapse: collapse;
      width: 100%;
    }

    #mcp-types-table th, 
    #mcp-types-table td {
      padding: 8px 16px; /* Horizontal padding */
      border: 1px solid #ddd;
      text-align: left;
    }

    /* First row (header) and first column (leftmost column) */
    #mcp-types-table th {
      font-weight: bold;
      background-color: #f2f2f2;
    }

    #mcp-types-table tr th:first-child, 
    #mcp-types-table tr td:first-child {
      font-weight: bold;
      background-color: #f2f2f2;
    }
  </style>

<table id="mcp-types-table">
  <tr>
    <th>Aspect</th> 
    <th>Generic MCP Server</th>
    <th>Domain-Specific MCP Server</th>
  </tr>
  <tr>
    <td>Setup Speed</td>
    <td>Fast, minimal configuration</td>
    <td>Slower, requires planning</td>
  </tr>
  <tr>
    <td>Efficiency</td>
    <td>Lower, LLM must explore schema</td>
    <td>High, optimized for specific tasks</td>
  </tr>
  <tr>
    <td>Security</td>
    <td>Risk of SQL injection</td>
    <td>Secure, predefined tools</td>
  </tr>
  <tr>
    <td>Flexibility</td>
    <td>Adapts to any schema</td>
    <td>Needs updates with schema changes</td>
  </tr>
  <tr>
    <td>User Experience</td>
    <td>Complex, LLM must learn</td>
    <td>Simple, guided interactions</td>
  </tr>
</table>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading"><strong>Conclusion: choosing the right MCP server</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To find out more and discover a concrete implementation of these concepts, discover how to <a href="https://www.clever.cloud/blog/company/2025/01/21/create-your-own-mcp-client-server-as-easy-as-1-2-3-with-otoroshi/">create your MCP server with Otoroshi</a>. It details how Otoroshi with LLM allows you to quickly create MCP servers and clients, expose functions via SSE, WebSockets or HTTP, and simplify integration with ready-to-use MCP connectors.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Whether you need a flexible, exploratory tool or a precise, optimized solution, understanding the difference between generic and domain-specific MCP servers will help you build smarter, more efficient LLM-powered applications. Choose a generic server for quick setup and adaptability, or a domain-specific server for secure, streamlined performance. Ready to start? Explore our<a href="https://github.com/CleverCloud/mcp-pg-example"> PostgreSQL MCP Server</a> or<a href="https://github.com/LostInBrittany/RAGmonsters-mcp-pg"> Custom RAGmonsters MCP Server</a> to see both approaches in action.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>L&#8217;IA marocaine plie le game des API comme un Apache certifié</title>
		<link>https://www.clever.cloud/podcast/lia-marocaine-plie-le-game-des-api-comme-un-apache-certifie/</link>
					<comments>https://www.clever.cloud/podcast/lia-marocaine-plie-le-game-des-api-comme-un-apache-certifie/#respond</comments>
		
		<dc:creator><![CDATA[Quentin Adam]]></dc:creator>
		<pubDate>Fri, 20 Oct 2023 05:47:39 +0000</pubDate>
				<category><![CDATA[Apache Camel]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Cillium]]></category>
		<category><![CDATA[Devoxx]]></category>
		<category><![CDATA[HTTP2]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sozu]]></category>
		<category><![CDATA[Tesla]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?post_type=podcast&#038;p=10870</guid>

					<description><![CDATA[<p><img width="1920" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/10/93.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="93" decoding="async" loading="lazy" /></p><!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://youtu.be/80zYFsHvz0I">Voir sur Youtube</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p><br>Animé par Quentin ADAM  @waxcze</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>avec la participation de :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>@boredabdel Abdel SEGHIOUAR</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li> @badrelhouari Badr ELHOUARI</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>@ZinebBendhiba Zineb Bendhiba</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>@incepterr Mohamed elayadi</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Épisode enregistré à Agadir le 13 octobre 2023 </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>👋  Venez discuter avec nous sur <a href="https://twitter.com/clever_cloudFR" target="_blank" rel="noreferrer noopener">@clever_cloudFR</a> pour nous dire ce que vous avez pensé de ce nouvel épisode.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>➡️  Pour découvrir ou réécouter d’anciens épisodes&nbsp;<a href="https://www.clever.cloud/fr/podcast/">c’est par ici</a>&nbsp;!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Timecodes et liens</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>00:05:06 : Devoxx Maroc 2023 le debrief<br>Open source initiative react documentation (lien à venir)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:07:00 Keynote Quentin : <a href="https://devoxx.ma/talk/?id=37451 ">https://devoxx.ma/talk/?id=37451 </a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:16:10 une démo de l’assistant IA en Marocain (lien à venir)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:21:20 MS rachète Activision Blizzard<br><a href="https://www.blogdumoderateur.com/microsoft-peut-enfin-racheter-activision-blizzard/">https://www.blogdumoderateur.com/microsoft-peut-enfin-racheter-activision-blizzard/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:24:38 Tesla sort ses API<br><a href="https://electrek.co/2023/10/12/tesla-releases-official-api-documentation-support-third-party-apps/?utm_source=tldrnewsletter">https://electrek.co/2023/10/12/tesla-releases-official-api-documentation-support-third-party-apps/?utm_source=tldrnewsletter</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:27:04 l’informatique est devenue économiquement très accessible<br><a href="https://twitter.com/Nidouille/status/1712411333797322983">https://twitter.com/<em>Nidouille</em>/status/1712411333797322983</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:34:01 La Cloud Native Computing Foundation annonce la remise des certifications Cilium<br><a href="https://www.cncf.io/announcements/2023/10/11/cloud-native-computing-foundation-announces-cilium-graduation/
">https://www.cncf.io/announcements/2023/10/11/cloud-native-computing-foundation-announces-cilium-graduation/<br></a>Version, Release et fondation</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:48:53 Apache Camel 4.1<br><strong>https://camel.apache.org/blog/2023/10/camel41-whatsnew/<br></strong>Spring boot <a href="https://github.com/CleverCloud/spring-mysql-demo">https://github.com/CleverCloud/spring-mysql-demo</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:53:45 [BIG NEWS] Après plusieurs mois de travail, notre nouveau site est en ligne. Et on en est fiers !<br><a href="https://twitter.com/clever_cloudFR/status/1711357436118946288">https://twitter.com/clever_cloudFR/status/1711357436118946288</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:54:20 première grosse faille dans HTTP 2<br><a href="https://www.solutions-numeriques.com/itrust-alerte-dune-vulnerabilite-zero-day-http-2/">https://www.solutions-numeriques.com/itrust-alerte-dune-vulnerabilite-zero-day-http-2/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:59:18 Clever release tous les connecteurs Sozu en open source<br><a href="https://www.clever.cloud/fr/blog/engineering-fr/2023/09/25/nos-connecteurs-sozu-open-source/">https://www.clever.cloud/fr/blog/engineering-fr/2023/09/25/nos-connecteurs-sozu-open-source/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:01:00 OXC sort un compileur rapide pour JS<br><a href="https://github.com/web-infra-dev/oxc?utm_source=tldrnewsletter">https://github.com/web-infra-dev/oxc?utm_source=tldrnewsletter</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:07:20 de l’importance du nommage en programmation<br><a href="https://wasp-lang.dev/blog/2023/10/12/on-importance-of-naming-in-programming?utm_source=tldrnewsletter">https://wasp-lang.dev/blog/2023/10/12/on-importance-of-naming-in-programming?utm_source=tldrnewsletter</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:13:01 la musique de fin<br><a href="https://www.youtube.com/watch?v=0OAKWGwBYfk&amp;lc=UgxLt6WykxqNOAEKk5x4AaABAg
">https://www.youtube.com/watch?v=0OAKWGwBYfk&amp;lc=UgxLt6WykxqNOAEKk5x4AaABAg<br></a>Inass Inass par VAN</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1920" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/10/93.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="93" decoding="async" loading="lazy" /></p><!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://youtu.be/80zYFsHvz0I">Voir sur Youtube</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:paragraph -->
<p><br>Animé par Quentin ADAM  @waxcze</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>avec la participation de :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>@boredabdel Abdel SEGHIOUAR</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li> @badrelhouari Badr ELHOUARI</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>@ZinebBendhiba Zineb Bendhiba</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>@incepterr Mohamed elayadi</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Épisode enregistré à Agadir le 13 octobre 2023 </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>👋  Venez discuter avec nous sur <a href="https://twitter.com/clever_cloudFR" target="_blank" rel="noreferrer noopener">@clever_cloudFR</a> pour nous dire ce que vous avez pensé de ce nouvel épisode.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>➡️  Pour découvrir ou réécouter d’anciens épisodes&nbsp;<a href="https://www.clever.cloud/fr/podcast/">c’est par ici</a>&nbsp;!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Timecodes et liens</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>00:05:06 : Devoxx Maroc 2023 le debrief<br>Open source initiative react documentation (lien à venir)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:07:00 Keynote Quentin : <a href="https://devoxx.ma/talk/?id=37451 ">https://devoxx.ma/talk/?id=37451 </a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:16:10 une démo de l’assistant IA en Marocain (lien à venir)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:21:20 MS rachète Activision Blizzard<br><a href="https://www.blogdumoderateur.com/microsoft-peut-enfin-racheter-activision-blizzard/">https://www.blogdumoderateur.com/microsoft-peut-enfin-racheter-activision-blizzard/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:24:38 Tesla sort ses API<br><a href="https://electrek.co/2023/10/12/tesla-releases-official-api-documentation-support-third-party-apps/?utm_source=tldrnewsletter">https://electrek.co/2023/10/12/tesla-releases-official-api-documentation-support-third-party-apps/?utm_source=tldrnewsletter</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:27:04 l’informatique est devenue économiquement très accessible<br><a href="https://twitter.com/Nidouille/status/1712411333797322983">https://twitter.com/<em>Nidouille</em>/status/1712411333797322983</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:34:01 La Cloud Native Computing Foundation annonce la remise des certifications Cilium<br><a href="https://www.cncf.io/announcements/2023/10/11/cloud-native-computing-foundation-announces-cilium-graduation/
">https://www.cncf.io/announcements/2023/10/11/cloud-native-computing-foundation-announces-cilium-graduation/<br></a>Version, Release et fondation</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:48:53 Apache Camel 4.1<br><strong>https://camel.apache.org/blog/2023/10/camel41-whatsnew/<br></strong>Spring boot <a href="https://github.com/CleverCloud/spring-mysql-demo">https://github.com/CleverCloud/spring-mysql-demo</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:53:45 [BIG NEWS] Après plusieurs mois de travail, notre nouveau site est en ligne. Et on en est fiers !<br><a href="https://twitter.com/clever_cloudFR/status/1711357436118946288">https://twitter.com/clever_cloudFR/status/1711357436118946288</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:54:20 première grosse faille dans HTTP 2<br><a href="https://www.solutions-numeriques.com/itrust-alerte-dune-vulnerabilite-zero-day-http-2/">https://www.solutions-numeriques.com/itrust-alerte-dune-vulnerabilite-zero-day-http-2/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>00:59:18 Clever release tous les connecteurs Sozu en open source<br><a href="https://www.clever.cloud/fr/blog/engineering-fr/2023/09/25/nos-connecteurs-sozu-open-source/">https://www.clever.cloud/fr/blog/engineering-fr/2023/09/25/nos-connecteurs-sozu-open-source/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:01:00 OXC sort un compileur rapide pour JS<br><a href="https://github.com/web-infra-dev/oxc?utm_source=tldrnewsletter">https://github.com/web-infra-dev/oxc?utm_source=tldrnewsletter</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:07:20 de l’importance du nommage en programmation<br><a href="https://wasp-lang.dev/blog/2023/10/12/on-importance-of-naming-in-programming?utm_source=tldrnewsletter">https://wasp-lang.dev/blog/2023/10/12/on-importance-of-naming-in-programming?utm_source=tldrnewsletter</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>01:13:01 la musique de fin<br><a href="https://www.youtube.com/watch?v=0OAKWGwBYfk&amp;lc=UgxLt6WykxqNOAEKk5x4AaABAg
">https://www.youtube.com/watch?v=0OAKWGwBYfk&amp;lc=UgxLt6WykxqNOAEKk5x4AaABAg<br></a>Inass Inass par VAN</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
					<wfw:commentRss>https://www.clever.cloud/podcast/lia-marocaine-plie-le-game-des-api-comme-un-apache-certifie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Clever Operator: The best of Kubernetes and Clever Cloud</title>
		<link>https://www.clever.cloud/blog/features/2022/03/16/clever-operator/</link>
		
		<dc:creator><![CDATA[Julie Nolot]]></dc:creator>
		<pubDate>Wed, 16 Mar 2022 15:39:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[feature]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?p=3949</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="kubernetes clever operator" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator.png 1400w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-768x296.png 768w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph {"dropCap":true} -->
<p class="has-drop-cap">You use Kubernetes in your usual workflow and you wish to keep it this way all while using Clever Cloud?<br>We designed the Kubernetes <a href="https://github.com/CleverCloud/clever-operator" target="_blank" rel="noreferrer noopener">Clever Operator</a> for this exact purpose! You get to keep on using the tools you're familiar with, while enjoying the performant features Clever Cloud provides, such as <a href="https://www.clever.cloud/developers/administrate/scalability/" target="_blank" rel="noreferrer noopener">automatic scalability</a> or <a href="https://www.clever.cloud/blog/features/2021/10/28/a-grafana-to-plot-applications-metrics/" target="_blank" rel="noreferrer noopener">monitoring tools</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Why a Clever Operator?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We began to work on the Clever Operator following feedbacks from some of our clients using k8s or Openshift who weren't really satisfied about the database management solutions provided by these platforms. Then, we released this operator to answer these needs and now we are proud to announce you can even find it on <a href="https://operatorhub.io/operator/clever-operator" target="_blank" rel="noreferrer noopener">Operator Hub</a>!  The Clever Operator is the best way for our customers to migrate from Kubernetes or Openshift to Clever Cloud managed solutions.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="how-does-it-work">How does it work?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>At Clever Cloud, we provide an HTTP API to interact with the managed services we expose. This API is located at&nbsp;<a href="https://api.clever-cloud.com/">api.clever-cloud.com</a>. The Clever Operator works as an interface between the&nbsp;<a href="https://kubernetes.io/docs/concepts/overview/components/#kube-apiserver">Kubernetes Apiserver</a>&nbsp;and the Clever Cloud API. It exposes Clever Cloud's add-ons through <strong>custom resource</strong> definition.  For now, it can expose the following add-ons: PostgreSQL, Redis, MySQL, MongoDB and Pulsar. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The Clever Operator is compatible with <strong>k8s v1.21.0 or above</strong>, make sure to use one of these.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>How to install it? Three steps to go:</h2>
<!-- /wp:heading -->

<!-- wp:list {"ordered":true} -->
<ol><li>First, install the Clever Operator. Either build it from the <a href="https://github.com/CleverCloud/clever-operator" target="_blank" rel="noreferrer noopener">source code on Github</a> or use our <a href="https://hub.docker.com/r/clevercloud/clever-operator" target="_blank" rel="noreferrer noopener">docker image on Docker Hub</a>.</li></ol>
<!-- /wp:list -->

<!-- wp:image {"align":"center","id":5842,"sizeSlug":"large","linkDestination":"none"} -->
<div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://cdn.clever-cloud.com/uploads/2022/02/Image-docker-Clever-Operator--667x163.png" alt="image_docker_clever_operator" class="wp-image-5842"/><figcaption>Clever Operator docker image on Docker Hub</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:list {"ordered":true} -->
<ol><li>Then, configure it. It boils down to setting up <code>CLEVER_OPERATOR_*</code> environment variables. For example, you need to create a token to connect to the API.</li></ol>
<!-- /wp:list -->

<!-- wp:image {"align":"center","id":5826,"sizeSlug":"large","linkDestination":"none"} -->
<div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://cdn.clever-cloud.com/uploads/2022/02/Clever-Cloud-environment-variables-667x375.png" alt="clever_operator_environment_variables" class="wp-image-5826"/><figcaption>Clever Operator environment variables</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:list {"ordered":true} -->
<ol><li>Finally, create your <strong><a href="https://github.com/CleverCloud/clever-operator/blob/main/docs/40-custom-resources.md" target="_blank" rel="noreferrer noopener">custom resource</a> </strong>definition. Here is a YAML example of what it looks like, for a PostgreSQL database:</li></ol>
<!-- /wp:list -->

<!-- wp:html -->
<pre><code class="lang-yaml">
apiVersion: api.clever-cloud.com/v1
kind: PostgreSql
metadata:
  namespace: default
  name: postgresql
spec:
  organisation: orga_xxxx
  options:
    version: 13
    encryption: false
  instance:
    region: par
    plan: s_sml
</code>
</pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Once, the resource is created you could use the&nbsp;<a href="https://kubernetes.io/docs/concepts/configuration/secret/">Secret</a>&nbsp;created by the operator as a file directly mounted in your&nbsp;<a href="https://kubernetes.io/docs/concepts/workloads/pods/">Pod</a>&nbsp;or through environment variables. You have examples of how to do it through the&nbsp;<a href="https://github.com/CleverCloud/clever-operator/blob/main/examples">examples</a>&nbsp;folder or following those documentations "<a href="https://unofficial-kubernetes.readthedocs.io/en/latest/concepts/configuration/secret/#using-secrets-as-environment-variables">Using Secrets as Environment Variables</a>" or "<a href="https://unofficial-kubernetes.readthedocs.io/en/latest/concepts/configuration/secret/#using-secrets-as-files-from-a-pod">Using Secrets as Files from a Pod</a>".</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Now you know how the Clever Operator works! We would be happy to have your feedback about this tool. Please feel free to create an issue <a href="https://github.com/CleverCloud/clever-operator/issues" target="_blank" rel="noreferrer noopener">here</a>, for any suggestion of enhancement you might have.</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="kubernetes clever operator" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator.png 1400w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-768x296.png 768w, https://cdn.clever-cloud.com/uploads/2022/02/kubernetes-clever-operator-1368x528.png 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><!-- wp:paragraph {"dropCap":true} -->
<p class="has-drop-cap">You use Kubernetes in your usual workflow and you wish to keep it this way all while using Clever Cloud?<br>We designed the Kubernetes <a href="https://github.com/CleverCloud/clever-operator" target="_blank" rel="noreferrer noopener">Clever Operator</a> for this exact purpose! You get to keep on using the tools you're familiar with, while enjoying the performant features Clever Cloud provides, such as <a href="https://www.clever.cloud/developers/administrate/scalability/" target="_blank" rel="noreferrer noopener">automatic scalability</a> or <a href="https://www.clever.cloud/blog/features/2021/10/28/a-grafana-to-plot-applications-metrics/" target="_blank" rel="noreferrer noopener">monitoring tools</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Why a Clever Operator?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>We began to work on the Clever Operator following feedbacks from some of our clients using k8s or Openshift who weren't really satisfied about the database management solutions provided by these platforms. Then, we released this operator to answer these needs and now we are proud to announce you can even find it on <a href="https://operatorhub.io/operator/clever-operator" target="_blank" rel="noreferrer noopener">Operator Hub</a>!  The Clever Operator is the best way for our customers to migrate from Kubernetes or Openshift to Clever Cloud managed solutions.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="how-does-it-work">How does it work?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>At Clever Cloud, we provide an HTTP API to interact with the managed services we expose. This API is located at&nbsp;<a href="https://api.clever-cloud.com/">api.clever-cloud.com</a>. The Clever Operator works as an interface between the&nbsp;<a href="https://kubernetes.io/docs/concepts/overview/components/#kube-apiserver">Kubernetes Apiserver</a>&nbsp;and the Clever Cloud API. It exposes Clever Cloud's add-ons through <strong>custom resource</strong> definition.  For now, it can expose the following add-ons: PostgreSQL, Redis, MySQL, MongoDB and Pulsar. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The Clever Operator is compatible with <strong>k8s v1.21.0 or above</strong>, make sure to use one of these.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>How to install it? Three steps to go:</h2>
<!-- /wp:heading -->

<!-- wp:list {"ordered":true} -->
<ol><li>First, install the Clever Operator. Either build it from the <a href="https://github.com/CleverCloud/clever-operator" target="_blank" rel="noreferrer noopener">source code on Github</a> or use our <a href="https://hub.docker.com/r/clevercloud/clever-operator" target="_blank" rel="noreferrer noopener">docker image on Docker Hub</a>.</li></ol>
<!-- /wp:list -->

<!-- wp:image {"align":"center","id":5842,"sizeSlug":"large","linkDestination":"none"} -->
<div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://cdn.clever-cloud.com/uploads/2022/02/Image-docker-Clever-Operator--667x163.png" alt="image_docker_clever_operator" class="wp-image-5842"/><figcaption>Clever Operator docker image on Docker Hub</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:list {"ordered":true} -->
<ol><li>Then, configure it. It boils down to setting up <code>CLEVER_OPERATOR_*</code> environment variables. For example, you need to create a token to connect to the API.</li></ol>
<!-- /wp:list -->

<!-- wp:image {"align":"center","id":5826,"sizeSlug":"large","linkDestination":"none"} -->
<div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://cdn.clever-cloud.com/uploads/2022/02/Clever-Cloud-environment-variables-667x375.png" alt="clever_operator_environment_variables" class="wp-image-5826"/><figcaption>Clever Operator environment variables</figcaption></figure></div>
<!-- /wp:image -->

<!-- wp:list {"ordered":true} -->
<ol><li>Finally, create your <strong><a href="https://github.com/CleverCloud/clever-operator/blob/main/docs/40-custom-resources.md" target="_blank" rel="noreferrer noopener">custom resource</a> </strong>definition. Here is a YAML example of what it looks like, for a PostgreSQL database:</li></ol>
<!-- /wp:list -->

<!-- wp:html -->
<pre><code class="lang-yaml">
apiVersion: api.clever-cloud.com/v1
kind: PostgreSql
metadata:
  namespace: default
  name: postgresql
spec:
  organisation: orga_xxxx
  options:
    version: 13
    encryption: false
  instance:
    region: par
    plan: s_sml
</code>
</pre>
<!-- /wp:html -->

<!-- wp:paragraph -->
<p>Once, the resource is created you could use the&nbsp;<a href="https://kubernetes.io/docs/concepts/configuration/secret/">Secret</a>&nbsp;created by the operator as a file directly mounted in your&nbsp;<a href="https://kubernetes.io/docs/concepts/workloads/pods/">Pod</a>&nbsp;or through environment variables. You have examples of how to do it through the&nbsp;<a href="https://github.com/CleverCloud/clever-operator/blob/main/examples">examples</a>&nbsp;folder or following those documentations "<a href="https://unofficial-kubernetes.readthedocs.io/en/latest/concepts/configuration/secret/#using-secrets-as-environment-variables">Using Secrets as Environment Variables</a>" or "<a href="https://unofficial-kubernetes.readthedocs.io/en/latest/concepts/configuration/secret/#using-secrets-as-files-from-a-pod">Using Secrets as Files from a Pod</a>".</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Now you know how the Clever Operator works! We would be happy to have your feedback about this tool. Please feel free to create an issue <a href="https://github.com/CleverCloud/clever-operator/issues" target="_blank" rel="noreferrer noopener">here</a>, for any suggestion of enhancement you might have.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bring your API to the World Within 3 Minutes</title>
		<link>https://www.clever.cloud/blog/engineering/2019/02/12/create-an-api-with-python/</link>
		
		<dc:creator><![CDATA[Valeriane Venance]]></dc:creator>
		<pubDate>Tue, 12 Feb 2019 15:02:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[djangorestframework]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[runtime]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2019/02/12/create-an-api-with-python/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="api to the world 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>A couple years ago, I was a developer for a startup which has almost no test coverage. Super enthusiastic me from the past spent a few weeks coding tests, and factories… all that based on the gem FactoryGirl. Two days before I’m satisfied of what I’ve done, they announce that FactoryGirl needs to be upgraded to <a href="https://github.com/thoughtbot/factory_bot_rails" rel="noopener noreferrer" target="_blank">FactoryBot</a>.</p>
<span id="more-2816"></span>

<p>A few days ago, I’m like hey I want to talk about <a href="https://www.django-rest-framework.org/" rel="noopener noreferrer" target="_blank">DRF</a> on Clever Cloud, I’ll make a little API, who cares which python I’m using, let’s use <a href="https://pythonclock.org/" rel="noopener noreferrer" target="_blank">2.7</a>! So I’m coding the project, making <a href="https://github.com/vvenance/personal-website-drf-backend/blob/master/README.md" rel="noopener noreferrer" target="_blank">a nice readme</a> and the python team finally decides to explicitly invite users to migrate to <a href="https://www.python.org/download/releases/3.0/" rel="noopener noreferrer" target="_blank">python 3</a>….</p>
<p>Anyway ! the project is <a href="https://github.com/vvenance/personal-website-drf-backend" rel="noopener noreferrer" target="_blank">here</a> all you have to do is to <code>git clone</code> the repo or have your own DRF repo locally.</p>
<p>If you use your own repo, make sure to have the following lines in your settings.py</p>
<pre><code class="language-python">PRODUCTION = True
if PRODUCTION:
    DATABASES = {
        &#39;default&#39;: {
            &#39;ENGINE&#39;: &#39;django.db.backends.postgresql_psycopg2&#39;,
            &#39;NAME&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_DB&#39;),
            &#39;USER&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_USER&#39;),
            &#39;PASSWORD&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_PASSWORD&#39;),
            &#39;HOST&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_HOST&#39;),
            &#39;PORT&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_PORT&#39;),
        }
    }
</code></pre>
<p>go to <a href="https://console.clever-cloud.com/" rel="noopener noreferrer" target="_blank">Clever Cloud console</a> and select create a new application. Select brand new app.</p>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="select create a new clever cloud application" src="https://cdn.clever-cloud.com/uploads/2021/08/click-create-app.png"/>
</figure>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="create a new application" src="https://cdn.clever-cloud.com/uploads/2021/08/create-new-app.png"/>
</figure>

<p>Click next and select python, then name you application.</p>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom" alt="select python on the clever cloud console" src="https://cdn.clever-cloud.com/uploads/2021/08/select-python.png"/>
</figure>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="name the application" src="https://cdn.clever-cloud.com/uploads/2021/08/name-clever-app.png"/>
</figure>

<p>The Clever Cloud console will ask you if you want to link an add on. Select postgreSQL and name your add-on</p>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="select postgreSQL application" src="https://cdn.clever-cloud.com/uploads/2021/08/select-postgres.png"/>
</figure>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="name the add on" src="https://cdn.clever-cloud.com/uploads/2021/08/name-add-on.png"/>
</figure>

<p>Just wait for the Clever console to set up your add on and application.</p>
<p>When your application is ready, you&#39;re invited to add environment variables.</p>
<p>If you use my project click on the expert mode button</p>
<figure>
  <img data-action="zoom" alt="select expert mode for adding env variables" src="https://cdn.clever-cloud.com/uploads/2021/08/expert-mode.png"/>
</figure>

<p>and paste the following :</p>
<pre><code class="language-bash">CC_PYTHON_MODULE=personal_website_backend.wsgi:application
CUSTOM_SECRET_KEY=your_custom_secret_key
PORT=8080
PRODUCTION=True
</code></pre>
<p>You can generate a secret key 50 chars long (DRF requirement) <a href="http://www.unit-conversion.info/texttools/random-string-generator/" rel="noopener noreferrer" target="_blank">here</a>.</p>
<p>If you use your own repo, add the env vars you need, but make sure to have at least <code>CC_PYTHON_MODULE=&lt;your_module_name&gt;.wsgi:application</code></p>
<p>Then click next, a new screen will display with a git command to add a new remote to your repo and do your first deploy</p>
<figure>
  <img data-action="zoom" alt="clever cloud instructions for git remote" src="https://cdn.clever-cloud.com/uploads/2021/08/clever-git-instructions.png"/>
</figure>

<p>Copy these lines and paste them directly in your console while being in your repo</p>
<pre><code class="language-bash">git remote add clever git+ssh:\/\/git@push-par-clevercloud-customers.services.clever-cloud.com/&lt;your_app_id&gt;.git
git push -u clever master
</code></pre>
<p>Go back to Clever Cloud console and just look at the deployment logs of your app. It will tell you when your app is up, so just go to the overview page and click on the link symbol to visit your app.</p>
<p>If you want to see the full procedure live, have a look <a href="https://www.useloom.com/share/cc5352092d994d6fa95629c29194f1b5" rel="noopener noreferrer" target="_blank">here</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="api to the world 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/api-to-the-world-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>A couple years ago, I was a developer for a startup which has almost no test coverage. Super enthusiastic me from the past spent a few weeks coding tests, and factories… all that based on the gem FactoryGirl. Two days before I’m satisfied of what I’ve done, they announce that FactoryGirl needs to be upgraded to <a href="https://github.com/thoughtbot/factory_bot_rails" rel="noopener noreferrer" target="_blank">FactoryBot</a>.</p>
<span id="more-2816"></span>

<p>A few days ago, I’m like hey I want to talk about <a href="https://www.django-rest-framework.org/" rel="noopener noreferrer" target="_blank">DRF</a> on Clever Cloud, I’ll make a little API, who cares which python I’m using, let’s use <a href="https://pythonclock.org/" rel="noopener noreferrer" target="_blank">2.7</a>! So I’m coding the project, making <a href="https://github.com/vvenance/personal-website-drf-backend/blob/master/README.md" rel="noopener noreferrer" target="_blank">a nice readme</a> and the python team finally decides to explicitly invite users to migrate to <a href="https://www.python.org/download/releases/3.0/" rel="noopener noreferrer" target="_blank">python 3</a>….</p>
<p>Anyway ! the project is <a href="https://github.com/vvenance/personal-website-drf-backend" rel="noopener noreferrer" target="_blank">here</a> all you have to do is to <code>git clone</code> the repo or have your own DRF repo locally.</p>
<p>If you use your own repo, make sure to have the following lines in your settings.py</p>
<pre><code class="language-python">PRODUCTION = True
if PRODUCTION:
    DATABASES = {
        &#39;default&#39;: {
            &#39;ENGINE&#39;: &#39;django.db.backends.postgresql_psycopg2&#39;,
            &#39;NAME&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_DB&#39;),
            &#39;USER&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_USER&#39;),
            &#39;PASSWORD&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_PASSWORD&#39;),
            &#39;HOST&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_HOST&#39;),
            &#39;PORT&#39;: os.environ.get(&#39;POSTGRESQL_ADDON_PORT&#39;),
        }
    }
</code></pre>
<p>go to <a href="https://console.clever-cloud.com/" rel="noopener noreferrer" target="_blank">Clever Cloud console</a> and select create a new application. Select brand new app.</p>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="select create a new clever cloud application" src="https://cdn.clever-cloud.com/uploads/2021/08/click-create-app.png"/>
</figure>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="create a new application" src="https://cdn.clever-cloud.com/uploads/2021/08/create-new-app.png"/>
</figure>

<p>Click next and select python, then name you application.</p>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom" alt="select python on the clever cloud console" src="https://cdn.clever-cloud.com/uploads/2021/08/select-python.png"/>
</figure>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="name the application" src="https://cdn.clever-cloud.com/uploads/2021/08/name-clever-app.png"/>
</figure>

<p>The Clever Cloud console will ask you if you want to link an add on. Select postgreSQL and name your add-on</p>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="select postgreSQL application" src="https://cdn.clever-cloud.com/uploads/2021/08/select-postgres.png"/>
</figure>
<figure style="position:relative;width:50%;height:auto;margin:0 auto">
    <img data-action="zoom"  alt="name the add on" src="https://cdn.clever-cloud.com/uploads/2021/08/name-add-on.png"/>
</figure>

<p>Just wait for the Clever console to set up your add on and application.</p>
<p>When your application is ready, you&#39;re invited to add environment variables.</p>
<p>If you use my project click on the expert mode button</p>
<figure>
  <img data-action="zoom" alt="select expert mode for adding env variables" src="https://cdn.clever-cloud.com/uploads/2021/08/expert-mode.png"/>
</figure>

<p>and paste the following :</p>
<pre><code class="language-bash">CC_PYTHON_MODULE=personal_website_backend.wsgi:application
CUSTOM_SECRET_KEY=your_custom_secret_key
PORT=8080
PRODUCTION=True
</code></pre>
<p>You can generate a secret key 50 chars long (DRF requirement) <a href="http://www.unit-conversion.info/texttools/random-string-generator/" rel="noopener noreferrer" target="_blank">here</a>.</p>
<p>If you use your own repo, add the env vars you need, but make sure to have at least <code>CC_PYTHON_MODULE=&lt;your_module_name&gt;.wsgi:application</code></p>
<p>Then click next, a new screen will display with a git command to add a new remote to your repo and do your first deploy</p>
<figure>
  <img data-action="zoom" alt="clever cloud instructions for git remote" src="https://cdn.clever-cloud.com/uploads/2021/08/clever-git-instructions.png"/>
</figure>

<p>Copy these lines and paste them directly in your console while being in your repo</p>
<pre><code class="language-bash">git remote add clever git+ssh:\/\/git@push-par-clevercloud-customers.services.clever-cloud.com/&lt;your_app_id&gt;.git
git push -u clever master
</code></pre>
<p>Go back to Clever Cloud console and just look at the deployment logs of your app. It will tell you when your app is up, so just go to the overview page and click on the link symbol to visit your app.</p>
<p>If you want to see the full procedure live, have a look <a href="https://www.useloom.com/share/cc5352092d994d6fa95629c29194f1b5" rel="noopener noreferrer" target="_blank">here</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Updating our API doc</title>
		<link>https://www.clever.cloud/blog/features/2016/09/13/update-api-documentation/</link>
		
		<dc:creator><![CDATA[Corentin Cailleaud]]></dc:creator>
		<pubDate>Tue, 13 Sep 2016 15:51:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[feature]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2016/09/13/update-api-documentation/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="swagger update 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>Hi there, I am Corentin Cailleaud, a second year student at Nantes. It has been already a month since I am in internship here at Clever Cloud. My first mission was to complete the API documentation and this job is now over. Let&#39;s have a look.</p>
<span id="more-2869"></span>

<p>The Clever Cloud API is a tool that allows you to manage your account and your products. In order to help you using this API, I have updated the documentation, available <a href="https://www.clever.cloud/developers/api/">here</a>. Most of endpoints are now delivered with input and output models. Let&#39;s see what it means and why using the API is now easier !</p>
<h2 id="how-is-defined-our-api-documentation-">How is defined our API documentation ?</h2>
<p>Our API documentation is defined by a <a href="http://swagger.io">Swagger</a> file. Swagger is the world&#39;s most popular framework for APIs. It helps us describing our API and it gives you a good interface to get started with this tool.</p>
<p>Let&#39;s take an example : you want to create a new application.</p>
<ul>
<li>First you have to find the endpoint in the list. You can use resource&#39;s name to find it easily. Here we want an endpoint about application so let&#39;s find &quot;POST /self/applications&quot; in the &quot;applications&quot; list.</li>
</ul>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/find_endpoint.png">
  </figure>
</center>

<ul>
<li>Then, you have to click on the endpoint to know the input model you have to give.</li>
</ul>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/new_endpoint_version.png">
  </figure>
</center>

<p>If you are logged in, you can click on the &quot;Try it out!&quot; button to try your request !</p>
<h3 id="restlet-studio-ftw">Restlet Studio FTW</h3>
<p>I used <a href="https://studio.restlet.com">Restlet Studio</a> to modify this file as it was easier than updating the Swagger file directly from a text editor. Indeed, Restlet Studio allows you to create representations with few clicks. That&#39;s a very cool tool, here is a link to their <a href="https://restlet.com/technical-resources/restlet-studio/guide">Getting Started</a>.</p>
<h3 id="why-this-update">Why this update</h3>
<p>Before this update, you could not know everything about an endpoint, there was kind of a fog of war. When you clicked on the endpoint, you could not know what to give in input.</p>
<h4 id="before">Before</h4>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/old_endpoint_version.png">
  </figure>
</center>

<p>Now, the weather is clear, all those informations are available ! You can even click on the model and it automatically goes in the box, where you can modify it.</p>
<h4 id="after">After</h4>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/new_endpoint_version.png">
  </figure>
</center>

<p>The goal of this update is to be able to generate API client whenever the API is updated thanks to <a href="http://swagger.io/swagger-codegen/">swagger-codegen</a>. This tool can generate, from a Swagger definition, API client in different languages using different libraries. When this feature is available, your clients will be automatically updated when a new version of the API will be released.</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="swagger update 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/swagger-update-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>Hi there, I am Corentin Cailleaud, a second year student at Nantes. It has been already a month since I am in internship here at Clever Cloud. My first mission was to complete the API documentation and this job is now over. Let&#39;s have a look.</p>
<span id="more-2869"></span>

<p>The Clever Cloud API is a tool that allows you to manage your account and your products. In order to help you using this API, I have updated the documentation, available <a href="https://www.clever.cloud/developers/api/">here</a>. Most of endpoints are now delivered with input and output models. Let&#39;s see what it means and why using the API is now easier !</p>
<h2 id="how-is-defined-our-api-documentation-">How is defined our API documentation ?</h2>
<p>Our API documentation is defined by a <a href="http://swagger.io">Swagger</a> file. Swagger is the world&#39;s most popular framework for APIs. It helps us describing our API and it gives you a good interface to get started with this tool.</p>
<p>Let&#39;s take an example : you want to create a new application.</p>
<ul>
<li>First you have to find the endpoint in the list. You can use resource&#39;s name to find it easily. Here we want an endpoint about application so let&#39;s find &quot;POST /self/applications&quot; in the &quot;applications&quot; list.</li>
</ul>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/find_endpoint.png">
  </figure>
</center>

<ul>
<li>Then, you have to click on the endpoint to know the input model you have to give.</li>
</ul>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/new_endpoint_version.png">
  </figure>
</center>

<p>If you are logged in, you can click on the &quot;Try it out!&quot; button to try your request !</p>
<h3 id="restlet-studio-ftw">Restlet Studio FTW</h3>
<p>I used <a href="https://studio.restlet.com">Restlet Studio</a> to modify this file as it was easier than updating the Swagger file directly from a text editor. Indeed, Restlet Studio allows you to create representations with few clicks. That&#39;s a very cool tool, here is a link to their <a href="https://restlet.com/technical-resources/restlet-studio/guide">Getting Started</a>.</p>
<h3 id="why-this-update">Why this update</h3>
<p>Before this update, you could not know everything about an endpoint, there was kind of a fog of war. When you clicked on the endpoint, you could not know what to give in input.</p>
<h4 id="before">Before</h4>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/old_endpoint_version.png">
  </figure>
</center>

<p>Now, the weather is clear, all those informations are available ! You can even click on the model and it automatically goes in the box, where you can modify it.</p>
<h4 id="after">After</h4>
<center>
  <figure>
    <img style="width:600px" src="https://www2.cleverapps.io/app/uploads/2021/08/new_endpoint_version.png">
  </figure>
</center>

<p>The goal of this update is to be able to generate API client whenever the API is updated thanks to <a href="http://swagger.io/swagger-codegen/">swagger-codegen</a>. This tool can generate, from a Swagger definition, API client in different languages using different libraries. When this feature is available, your clients will be automatically updated when a new version of the API will be released.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Introducing our Public API and Clever CLI</title>
		<link>https://www.clever.cloud/blog/features/2015/09/21/public-api-available/</link>
		
		<dc:creator><![CDATA[Clément Nivolle]]></dc:creator>
		<pubDate>Mon, 21 Sep 2015 22:55:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[feature]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2015/09/21/public-api-available/</guid>

					<description><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="clever api 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>Two things, today: the Clever Cloud public API is here and so is the Clever CLI. Let&#39;s have a look at these new things we&#39;re thrilled to release today!</p>
<span id="more-2861"></span>

<img class="quotes" src="https://www2.cleverapps.io/app/uploads/2021/08/cursor.png" />

<h3 id="clever-api">Clever API</h3>
<p>Since the beginning of Clever Cloud, we have been working exclusively with our own internal API. We didn&#39;t open it to the public immediately. We wanted to bring it further, with enough iterations to get a stable release.</p>
<h4 id="getting-started-with-the-api">Getting started with the API</h4>
<p>The API uses OAuth v1 for authentication. The first step to start playing with the API, is to get your tokens: <a href="https://console.clever-cloud.com/users/me/tokens">https://console.clever-cloud.com/users/me/tokens</a>.</p>
<p>Once you have your tokens you can interact with the API. To see what you can do with the API, here is the interactive reference: <a href="https://www.clever.cloud/developers/api/">Clever API reference</a>. Don&#39;t forget to log-in to be able to interact with the API directly from the documentation.</p>
<h3 id="clever-tools">Clever Tools</h3>
<p>The Clever Tools is a CLI (Command-Line Interface) for Clever Cloud. This tool allows you to manage your addons and applications directly from the terminal. Think of it as a lightweight, text-based alternative to the console. It&#39;s also great if you want to script your interactions with clever cloud. It&#39;s not feature-complete compared to the console yet, so feel free to tell us what you need from it.</p>
<h4 id="installation-and-setup">Installation and Setup</h4>
<p>The installation and setup are pretty straightforward:</p>
<ul>
<li>Type <code>npm install clever-tools -g</code> in your terminal. It will download and install it. If you don&#39;t have npm, consider installing node.js.</li>
<li>Once it&#39;s installed, type <code>clever login</code> and follow the instructions.</li>
<li>Navigate in one of your apps&#39; Git repository and enter <code>clever link &quot;My Organisation/My application&quot;</code> (also works with your App ID). This will link your local repo to the Clever Cloud application. You can use <code>--alias &lt;my-alias&gt;</code> if you need to deploy the same code base to several Clever Cloud applications (usually for production / pre-production settings).</li>
</ul>
<p>Here&#39;s a quick overview of what you can do with it.</p>
<pre><code class="language-bash"># Deploying on the production server
$ clever deploy --alias prod

# Displaying the (live-updated) status of an app
$ clever activity --follow --alias preprod

# Show the logs
$ clever logs

# Create a free plan PG addon named my-addon in the Montreal zone
$ clever addon create postgresql-addon my-addon-pg --plan dev --region mtl

# Create a node.js app named my-app-dev in the Paris zone
$ clever create my-app-dev --type node --alias dev --region par
</code></pre>
<p><strong>Note</strong>: The available types of apps are:</p>
<ul>
<li>apache+php54</li>
<li>apache+php55</li>
<li>docker</li>
<li>go</li>
<li>java+maven</li>
<li>java+play1</li>
<li>java+war</li>
<li>node</li>
<li>python27</li>
<li>ruby</li>
<li>sbt</li>
<li>static</li>
</ul>
<h4 id="contributions-welcome">Contributions Welcome</h4>
<p>Open-Source is something really important to us. That&#39;s why we&#39;re releasing the Clever Tools on our Github. It&#39;s totally open to contribution, <a href="https://github.com/CleverCloud/clever-tools">the repository is here</a>.</p>
<p>Here&#39;s some other repositories, also open to contribution:</p>
<ul>
<li><a href="https://github.com/CleverCloud/clever-client.js">clever-client</a>: JavaScript client for Clever-Cloud API</li>
<li><a href="https://github.com/CleverCloud/doc.clever-cloud.com">doc.clever-cloud.com</a>: The official Clever Cloud documentation</li>
</ul>
<p>Happy coding!</p>
<style type="text/css">
.quotes {display: none;}
@media (min-width: 1200px){
  .quotes {
    display: block;
    position: absolute;
    top: 514px;
    left: 46%;
    height: 44px;
    animation: 1s flickerAnimation step-end infinite;
    -webkit-animation: 1s flickerAnimation step-end infinite;

  }
  @keyframes flickerAnimation {
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  @-o-keyframes flickerAnimation{
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  @-moz-keyframes flickerAnimation{
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  @-webkit-keyframes flickerAnimation{
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  .animate-flicker {
     -webkit-animation: 1s flickerAnimation step-end infinite;
     -moz-animation: 1s flickerAnimation step-end infinite;
     -o-animation: 1s flickerAnimation step-end infinite;
      animation: 1s flickerAnimation step-end infinite;
  }
}
</style>
]]></description>
										<content:encoded><![CDATA[<p><img width="1400" height="540" src="https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="clever api 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1.jpg 1400w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-300x116.jpg 300w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-1024x395.jpg 1024w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-768x296.jpg 768w, https://cdn.clever-cloud.com/uploads/2021/08/clever-api-1-1368x528.jpg 1368w" sizes="auto, (max-width: 1400px) 100vw, 1400px" /></p><p>Two things, today: the Clever Cloud public API is here and so is the Clever CLI. Let&#39;s have a look at these new things we&#39;re thrilled to release today!</p>
<span id="more-2861"></span>

<img class="quotes" src="https://www2.cleverapps.io/app/uploads/2021/08/cursor.png" />

<h3 id="clever-api">Clever API</h3>
<p>Since the beginning of Clever Cloud, we have been working exclusively with our own internal API. We didn&#39;t open it to the public immediately. We wanted to bring it further, with enough iterations to get a stable release.</p>
<h4 id="getting-started-with-the-api">Getting started with the API</h4>
<p>The API uses OAuth v1 for authentication. The first step to start playing with the API, is to get your tokens: <a href="https://console.clever-cloud.com/users/me/tokens">https://console.clever-cloud.com/users/me/tokens</a>.</p>
<p>Once you have your tokens you can interact with the API. To see what you can do with the API, here is the interactive reference: <a href="https://www.clever.cloud/developers/api/">Clever API reference</a>. Don&#39;t forget to log-in to be able to interact with the API directly from the documentation.</p>
<h3 id="clever-tools">Clever Tools</h3>
<p>The Clever Tools is a CLI (Command-Line Interface) for Clever Cloud. This tool allows you to manage your addons and applications directly from the terminal. Think of it as a lightweight, text-based alternative to the console. It&#39;s also great if you want to script your interactions with clever cloud. It&#39;s not feature-complete compared to the console yet, so feel free to tell us what you need from it.</p>
<h4 id="installation-and-setup">Installation and Setup</h4>
<p>The installation and setup are pretty straightforward:</p>
<ul>
<li>Type <code>npm install clever-tools -g</code> in your terminal. It will download and install it. If you don&#39;t have npm, consider installing node.js.</li>
<li>Once it&#39;s installed, type <code>clever login</code> and follow the instructions.</li>
<li>Navigate in one of your apps&#39; Git repository and enter <code>clever link &quot;My Organisation/My application&quot;</code> (also works with your App ID). This will link your local repo to the Clever Cloud application. You can use <code>--alias &lt;my-alias&gt;</code> if you need to deploy the same code base to several Clever Cloud applications (usually for production / pre-production settings).</li>
</ul>
<p>Here&#39;s a quick overview of what you can do with it.</p>
<pre><code class="language-bash"># Deploying on the production server
$ clever deploy --alias prod

# Displaying the (live-updated) status of an app
$ clever activity --follow --alias preprod

# Show the logs
$ clever logs

# Create a free plan PG addon named my-addon in the Montreal zone
$ clever addon create postgresql-addon my-addon-pg --plan dev --region mtl

# Create a node.js app named my-app-dev in the Paris zone
$ clever create my-app-dev --type node --alias dev --region par
</code></pre>
<p><strong>Note</strong>: The available types of apps are:</p>
<ul>
<li>apache+php54</li>
<li>apache+php55</li>
<li>docker</li>
<li>go</li>
<li>java+maven</li>
<li>java+play1</li>
<li>java+war</li>
<li>node</li>
<li>python27</li>
<li>ruby</li>
<li>sbt</li>
<li>static</li>
</ul>
<h4 id="contributions-welcome">Contributions Welcome</h4>
<p>Open-Source is something really important to us. That&#39;s why we&#39;re releasing the Clever Tools on our Github. It&#39;s totally open to contribution, <a href="https://github.com/CleverCloud/clever-tools">the repository is here</a>.</p>
<p>Here&#39;s some other repositories, also open to contribution:</p>
<ul>
<li><a href="https://github.com/CleverCloud/clever-client.js">clever-client</a>: JavaScript client for Clever-Cloud API</li>
<li><a href="https://github.com/CleverCloud/doc.clever-cloud.com">doc.clever-cloud.com</a>: The official Clever Cloud documentation</li>
</ul>
<p>Happy coding!</p>
<style type="text/css">
.quotes {display: none;}
@media (min-width: 1200px){
  .quotes {
    display: block;
    position: absolute;
    top: 514px;
    left: 46%;
    height: 44px;
    animation: 1s flickerAnimation step-end infinite;
    -webkit-animation: 1s flickerAnimation step-end infinite;

  }
  @keyframes flickerAnimation {
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  @-o-keyframes flickerAnimation{
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  @-moz-keyframes flickerAnimation{
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  @-webkit-keyframes flickerAnimation{
    from, to {
      opacity:1;
    }
    50% {
      opacity:0;
    }
  }
  .animate-flicker {
     -webkit-animation: 1s flickerAnimation step-end infinite;
     -moz-animation: 1s flickerAnimation step-end infinite;
     -o-animation: 1s flickerAnimation step-end infinite;
      animation: 1s flickerAnimation step-end infinite;
  }
}
</style>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What about WebSocket on the Cloud?</title>
		<link>https://www.clever.cloud/blog/features/2013/03/11/what-about-websockets-on-the-cloud/</link>
		
		<dc:creator><![CDATA[Clément Nivolle]]></dc:creator>
		<pubDate>Mon, 11 Mar 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Nodejs]]></category>
		<category><![CDATA[Websockets]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2013/03/11/what-about-websockets-on-the-cloud/</guid>

					<description><![CDATA[Many users ask us if WebSocket is supported on Clever Cloud. Of course it is! WebSocket works like a charm with PlayFramework 2 and Node.js apps deployed on Clever Cloud. You can check a small demo we have uploaded right here: nodejs-demo.cleverapps.io (be sure to have a mate visiting this link at the same time) [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="pull-right"></div>
<p>Many users ask us if WebSocket is supported on Clever Cloud. Of course it is! WebSocket works like a charm with PlayFramework 2 and Node.js apps deployed on Clever Cloud.</p>
<p><span id="more-2839"></span></p>
<p>You can check a small demo we have uploaded right here:<br />
<a href="http://nodejs-demo.cleverapps.io">nodejs-demo.cleverapps.io</a> (be sure to have a mate visiting this link at the same time)</p>
<p>If you want to try some experiments on Clever Cloud, here are some ressources with WebSocket use cases:</p>
<ul>
<li><a href="http://socket.io">socket.io</a>: A powerful JS framework to enable WebSocket in your projects.</li>
<li><a href="https://github.com/gre/playpainter">Real-time Paint-like with Play</a>: A great tutorial to check Play&#8217;s real time abilities.</li>
<li><a href="http://www.codeschool.com/courses/real-time-web-with-nodejs">Learn real time with node.js</a> If you&#8217;re new to node.js, CodeSchool may help you.</li>
</ul>
<p>Have fun <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Hackathon Open Data Fall 2012, Nantes</title>
		<link>https://www.clever.cloud/blog/company/2012/12/07/open-data-hackathon-nantes/</link>
		
		<dc:creator><![CDATA[Clément Nivolle]]></dc:creator>
		<pubDate>Fri, 07 Dec 2012 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Open Data]]></category>
		<category><![CDATA[User Group]]></category>
		<category><![CDATA[Voucher]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2012/12/07/open-data-hackathon-nantes/</guid>

					<description><![CDATA[Want to try the brand new Open Data materials from Pays-de-la-Loire and Loire-Atlantique? Come to the Open Data Hackathon, occuring the 15th &#38; 16th of December, from 10:00am to 6:00pm. Subscribe here! This Hackathon has been organized by LiberTIC in order to present new Open Data sources of region Pays-de-la-Loire and Département de Loire-Atlantique: data.nantes.fr [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="pull-right">
  <img decoding="async" alt="" class="span3" src="https://www2.cleverapps.io/app/uploads/2021/08/hackathon.jpeg"/>
</div>
<p>Want to try the brand new Open Data materials from Pays-de-la-Loire and Loire-Atlantique? Come to the Open Data Hackathon, occuring the 15th &amp; 16th of December, from 10:00am to 6:00pm.</p>
<p><a href="http://opendatahack3.eventbrite.fr">Subscribe here!</a></p>
<p><span id="more-2708"></span></p>
<p>This Hackathon has been organized by LiberTIC in order to present new Open Data sources of region Pays-de-la-Loire and Département de Loire-Atlantique:</p>
<ul>
<li><a href="http://data.nantes.fr">data.nantes.fr</a></li>
<li><a href="http://data.loire-atlantique.fr">data.loire-atlantique.fr</a></li>
</ul>
<p>The new data sets will be unveiled just before the hackathon, on Wednesday 12th of December, at 6:30pm.</p>
<p>We&#39;re also glad to announce we are partners of this Open Data Hackathon. So Clever Cloud will offer for every participant a free hosting for your applications during all the week-end!</p>
<p>See you there!</p>
<p><a href="http://www.stereolux.org/atelier-public/hackaton-open-data-14-12-2012">More infos</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Clever Cloud gives you the https way to social apps</title>
		<link>https://www.clever.cloud/blog/company/2012/11/12/secure-apps/</link>
					<comments>https://www.clever.cloud/blog/company/2012/11/12/secure-apps/#respond</comments>
		
		<dc:creator><![CDATA[Quentin Adam]]></dc:creator>
		<pubDate>Mon, 12 Nov 2012 00:00:00 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Social]]></category>
		<guid isPermaLink="false">https://www2.cleverapps.io/wp/blog/technology/2012/11/12/secure-apps/</guid>

					<description><![CDATA[Clever Cloud is designed to let you code and create wonderful applications able to enable a cool and interactive social life. You want to create a Facebook app? To interact with the Foursquare API? Or just to manage some critical users data? Today, all of those services require the use of SSL (https) to interact [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="pull-right">
  <img decoding="async" alt="Comodo logo" class="span2" src="https://www2.cleverapps.io/app/uploads/2021/08/comodo.png"/>
  </div>
<p>Clever Cloud is designed to let you code and create wonderful applications able to enable a cool and interactive social life.</p>
<p>You want to create a Facebook app? To interact with the Foursquare API? Or just to manage some critical users data?</p>
<p><span id="more-2704"></span></p>
<p>Today, all of those services require the use of SSL (https) to interact with their API. This can be sad if you only want a backend service or to make a test. Having a SSL certificate <em>up &amp; running</em> can take a week, and it&#39;s complicated to buy.</p>
<p>Clever Cloud is a <a href="http://www.comodo.com/" rel="noopener noreferrer" target="_blank">Comodo</a> Reseller and decided to offer you a simple way to use security: every application on the Clever Cloud platform is able to claim a <strong>*.cleverapps.io</strong> domain name and to use SSL immediately!</p>
<p>Hope this feature let you test and run code from various API and services! We hope it will help many hackathons and Startup Weekend fellows!</p>
<p><center><object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/nh5z8l7FoFA?version=3&amp;hl=fr_FR"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/nh5z8l7FoFA?version=3&amp;hl=fr_FR" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object></center></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.clever.cloud/blog/company/2012/11/12/secure-apps/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
