<?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>Jean-Daniel Bonnetot, Author at OVHcloud Blog</title>
	<atom:link href="https://blog.ovhcloud.com/author/jean-daniel-bonnetot/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.ovhcloud.com/author/jean-daniel-bonnetot/</link>
	<description>Innovation for Freedom</description>
	<lastBuildDate>Mon, 03 Jul 2023 08:11:24 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.ovhcloud.com/wp-content/uploads/2019/07/cropped-cropped-nouveau-logo-ovh-rebranding-32x32.gif</url>
	<title>Jean-Daniel Bonnetot, Author at OVHcloud Blog</title>
	<link>https://blog.ovhcloud.com/author/jean-daniel-bonnetot/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>What is the real performance of the new High Performance Object Storage?</title>
		<link>https://blog.ovhcloud.com/what-is-the-real-performance-of-the-new-high-performance-object-storage/</link>
		
		<dc:creator><![CDATA[Jean-Daniel Bonnetot]]></dc:creator>
		<pubDate>Mon, 28 Feb 2022 08:31:16 +0000</pubDate>
				<category><![CDATA[OVHcloud Engineering]]></category>
		<category><![CDATA[Benchmarks]]></category>
		<category><![CDATA[HPC]]></category>
		<category><![CDATA[Object Storage]]></category>
		<guid isPermaLink="false">https://blog.ovhcloud.com/?p=22297</guid>

					<description><![CDATA[The need to share data across different workloads is a constant in IT, but the preferred way of sharing this data has evolved during the last few years. Where most developers would have used file systems (NFS, Samba&#8230;) ten years ago, the choice has switched naturally to Object Storage as its features and abstractions were [&#8230;]<img src="//blog.ovhcloud.com/wp-content/plugins/matomo/app/matomo.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fblog.ovhcloud.com%2Fwhat-is-the-real-performance-of-the-new-high-performance-object-storage%2F&amp;action_name=What%20is%20the%20real%20performance%20of%20the%20new%20High%20Performance%20Object%20Storage%3F&amp;urlref=https%3A%2F%2Fblog.ovhcloud.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>The need to share data across different workloads is a constant in IT, but the preferred way of sharing this data has evolved during the last few years. Where most developers would have used file systems (NFS, Samba&#8230;) ten years ago,  the choice has switched naturally to Object Storage as its features and abstractions were added.</p>



<p>In parallel with this evolution, more and more uses cases involving publicly sharing data have arisen. The amount of data has exploded, in almost all applications, and IT people don&#8217;t want to manage storage anymore (maintenance, failure, scalling&#8230;).</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0826-1024x537.jpeg" alt="What is the real performance of the new High Performance Object Storage?" class="wp-image-22531" width="512" height="269" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0826-1024x537.jpeg 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0826-300x157.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0826-768x403.jpeg 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0826.jpeg 1200w" sizes="(max-width: 512px) 100vw, 512px" /></figure></div>



<p>As now, all the major languages have their object storage libraries (at least for S3 APIs), and tones of applications integrate by default the connectors to those services. And as many IT people, I switched my reflexes to think Object Storage first, and handle some exceptions where network file systems are a better solution.</p>



<h1 class="wp-block-heading" id="BlogBenchHighPerfObjectStorage-Whenapplicationsneedstorageperformances...">When applications need storage performances&#8230;</h1>



<p>During many years, performances were not the main focus. The goal was to take advantage of unlimited space and public access to store images, documents, code&#8230;</p>



<p>Nowadays, part of the applications need more speed because the objects are bigger and plentiful. That&#8217;s the case for Big Data use cases and IA scenarios but also for the majority of modern applications.</p>



<ul class="wp-block-list"><li>Those who work on big data analysis know that you can wait hours before getting your result in many cases. Working on data to analyze users behavior, system deviation, cost optimization requires powered compute resources but also high performance storage. Big Data clusters needs to access the date quickly to provide a result in time.</li><li>Training IA models and fine tuning the predictions requires a lot of data analysis also that takes hours and slow down your progress if your storage solution is the bottleneck.</li><li>Serving media that are bigger and bigger (4K video, HD pictures on smartphones, &#8230;) on high speed network (fiber, 5G) challenge the previous solutions.</li></ul>



<p><em>OVHcloud Standard Object Storage</em> hosts petabytes of data across the world on a strong and resilient infrastructure but our classical offer was not design to address those use cases. The performances of our classical object storage where not enough in those situations.</p>



<h1 class="wp-block-heading" id="BlogBenchHighPerfObjectStorage-AnewObjectStorageservicefordemandingapplications">A new Object Storage service for demanding applications</h1>



<p>So what is high performances for an object storage service? What are we speaking about?</p>



<p>There are mainly two things to consider when you need speed on your objects. The first one is the API. This is the first component that answers the requests you&#8217;ll send to the cluster, so the simplest API call should react as a flash. That&#8217;s the assurance that all the engine and automation tools on the cluster are optimized and not consuming precious milliseconds. The second one is the bandwidth. You&#8217;ll expect that now your object is identified, it should be delivered to you as soon as possible using the maximum capacity of disks and network.</p>



<p>So we are excited to provide <em>OVHcloud High Performance Object Storage</em> that fit those requirements in the upcoming weeks. The general availability should be the 21rst February at first in Strasbourg, then mid-March in Gravelines.</p>



<h1 class="wp-block-heading" id="BlogBenchHighPerfObjectStorage-Somenumbers">Some numbers</h1>



<p>We&#8217;ll make some tests and compare that new service with the existing service at OVHcloud and the market leader on Object Storage, AWS S3. We&#8217;ll do those tests from OVHcloud network on a Public Cloud instance B2-120 which have a 10G public interface. This instance is located in Gravelines (north of France). The three tested services are located in central Europe, Strasbourg (France) for OVHcloud ones and Frankfurt (Germany, closed to Strasbourg) for AWS. The distance between the instance and the cluster are almost the same.</p>



<h2 class="wp-block-heading" id="BlogBenchHighPerfObjectStorage-Time-to-First-Bytetest">Time-to-First-Byte test</h2>



<p>So what is the API efficiency on that new service? Here we want to compare the Time-to-First-Byte which give us an idea how the cluster manage to process the request, identify the object, check the right to access it and return it. So we&#8217;ll send tones of 1 Byte objects and measure the time needed to access it.</p>



<p>To be fare in that test, we need to take in consideration that we&#8217;ll get out to the OVHcloud network to reach the AWS cluster. Here are the ping we got :</p>



<p id="ovhcloud-instance-to-ovhcloud-object-storage"><strong>OVHcloud instance to OVHcloud Object Storage</strong></p>



<pre class="wp-block-code"><code class="">$ ping s3.sbg.perf.cloud.ovh.net
PING s3.sbg.perf.cloud.ovh.net (141.95.161.68) 56(84) bytes of data.
64 bytes from 141.95.161.68 (141.95.161.68): icmp_seq=1 ttl=53 time=10.2 ms</code></pre>



<p><strong>OVHcloud instance to AWS Object Storage</strong></p>



<pre class="wp-block-code"><code class="">$ ping s3.eu-central-1.amazonaws.com
PING s3.eu-central-1.amazonaws.com (52.219.169.77) 56(84) bytes of data.
64 bytes from s3.eu-central-1.amazonaws.com (52.219.169.77): icmp_seq=1 ttl=45 time=11.0 ms</code></pre>



<p>So we have almost the same latency,  let&#8217;s go for the Time-to-First-Byte for each services.</p>



<figure class="wp-block-image alignwide size-large"><img decoding="async" width="1024" height="254" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-1-1024x254.png" alt="" class="wp-image-22299" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-1-1024x254.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-1-300x75.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-1-768x191.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-1-1536x382.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-1-2048x509.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>OVHcloud High Perf looks a little bit better, not so far away but there is a small advantage for OVHcloud.</p>



<h2 class="wp-block-heading" id="BlogBenchHighPerfObjectStorage-Smallandmediumfilestest">Small and medium files test</h2>



<p>Now we&#8217;ll test not only the API but a normal object usage looking on files from 10KB to 10MB which represent plenty of usages, especially when it comes to serve statics on the web. That could represent code, images, sound&#8230;</p>



<figure class="wp-block-image alignwide size-large"><img decoding="async" width="1024" height="465" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-2-1024x465.png" alt="" class="wp-image-22301" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-2-1024x465.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-2-300x136.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-2-768x349.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-2-1536x697.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-2-2048x930.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>As you can see, we leaved the field where the latency advantage where on OVHcloud side and we enter in the real performances using the whole chain including writing and reading on disks. Here, OVHcloud High Perf takes clearly the lead on 1MB files with around 55% faster than AWS S3 on download tests.</p>



<h2 class="wp-block-heading" id="BlogBenchHighPerfObjectStorage-Largefilestest">Large files test</h2>



<p>When we move to 100MB files and more, we enter in a different space where the bandwidth is the main part which impact the global result. Here the data could be of course videos but also specific application files or large datasets.</p>



<figure class="wp-block-image alignwide size-large"><img loading="lazy" decoding="async" width="1024" height="462" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-3-1024x462.png" alt="" class="wp-image-22302" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-3-1024x462.png 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-3-300x135.png 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-3-768x346.png 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-3-1536x692.png 1536w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/Picture-3-2048x923.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Here, the upload performances are almost the same for AWS and OVHcloud but we still have a real difference on the download test with around 30% advantage in favor of OVHcloud High Perf.</p>



<h1 class="wp-block-heading" id="BlogBenchHighPerfObjectStorage-Sometakeawayaboutthisnewoffer">Some take away about this new offer</h1>



<p>Regarding the pure performances, OVHcloud High Perf Object Storage is a great challenger for AWS S3. The API is as fast as our competitor. We can notice a real advantage for OVHcloud on medium files (1MB to 100MB) where we go over 50% (1MB) faster than AWS on download and around 40% on upload (1MB).</p>
<img loading="lazy" decoding="async" src="//blog.ovhcloud.com/wp-content/plugins/matomo/app/matomo.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fblog.ovhcloud.com%2Fwhat-is-the-real-performance-of-the-new-high-performance-object-storage%2F&amp;action_name=What%20is%20the%20real%20performance%20of%20the%20new%20High%20Performance%20Object%20Storage%3F&amp;urlref=https%3A%2F%2Fblog.ovhcloud.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Modernize your application deployment &#8211; Part 1</title>
		<link>https://blog.ovhcloud.com/modernize-your-application-deployment-part-1/</link>
		
		<dc:creator><![CDATA[Jean-Daniel Bonnetot]]></dc:creator>
		<pubDate>Wed, 16 Feb 2022 16:47:45 +0000</pubDate>
				<category><![CDATA[OVHcloud Engineering]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[pets vs cattle]]></category>
		<category><![CDATA[sysadmin]]></category>
		<guid isPermaLink="false">https://blog.ovhcloud.com/?p=21581</guid>

					<description><![CDATA[The good old time Many years ago I was a SysAdmin. Do you remember this old job? Let me remind you of a few recurring scenarios: Sure, it was a bit more complicated than a few command lines, but I think you know what I mean. Oh, and does this one sound familiar to many [&#8230;]<img src="//blog.ovhcloud.com/wp-content/plugins/matomo/app/matomo.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fblog.ovhcloud.com%2Fmodernize-your-application-deployment-part-1%2F&amp;action_name=Modernize%20your%20application%20deployment%20%26%238211%3B%20Part%201&amp;urlref=https%3A%2F%2Fblog.ovhcloud.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0803-1024x537.jpeg" alt="Modernize your application deployment - Part 1" class="wp-image-22450" width="512" height="269" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0803-1024x537.jpeg 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0803-300x157.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0803-768x403.jpeg 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0803.jpeg 1200w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure></div>



<h2 class="wp-block-heading" id="the-good-old-time">The good old time</h2>



<p>Many years ago I was a SysAdmin. Do you remember this old job? Let me remind you of a few recurring scenarios:</p>



<pre class="wp-block-code"><code class="">ssh someone@somewhere
apt-get install something
vi /etc/something
/etc/init.d/something restart</code></pre>



<pre class="wp-block-code"><code class="">ssh someone@somewhere
fdisk /dev/sdb
mkfs.ext4 /dev/sdb1
vi /etc/festab
mount /mountpoint</code></pre>



<pre class="wp-block-code"><code class="">ssh someone@somewhere
modeprobe ipt_MASQUERADE
echo 1 &gt; /proc/sys/net/ipv4/ip_forwarding
iptables -t nat ...</code></pre>



<p>Sure, it was a bit more complicated than a few command lines, but I think you know what I mean. Oh, and does this one sound familiar to many of you?</p>



<pre class="wp-block-code"><code class="">ssh someone@somewhere
apt-get install pacemaker
#do many complicated stuffs
vi /etc/corosync/corosync.conf
#do other complicated requirements
crm configure property stonith...
crm configure property quorum...</code></pre>



<p>I spent my time deploying and maintaining systems, building resilient architectures, and debugging or fixing failing servers. It was the good old days!</p>



<p>A few years ago I switched to more customer facing jobs, like product marketing management and technical evangelism, where I used my knowledge to promote products with a good technical approach.</p>



<p>But now guess what? Things has changed. No seriously, when I have to put my fingers on a terminal, a lot of things are different. It&#8217;s not that <code>/etc/init.d</code> has been replaced by <code>systemctl</code> and no one is using <code>screen</code> anymore, but the way of thinking about deployments and resilient architectures is totally different.</p>



<p>Of course I&#8217;m not totally out of it, as I used to play around with OpenStack and understand microservices architectures on paper. But it takes a bit more practice to be comfortable speaking with real customers about real applications, deployed with a scalable architecture or in a cloud-native way on Kubernetes.</p>



<h2 class="wp-block-heading" id="sounds-like-a-new-adventure-begins">Sounds like a new adventure begins</h2>



<p>I therefore suggest that you follow me on this journey: moving from a standalone, rock-solid deployment to an scalable architecture using the new primitives. I know the hype is around Kubernetes, but I also know a lot of people are not ready to go in that direction, because the knowledge base is not that easy to manage and the step is high as it is case for me.</p>



<p>I&#8217;m going to share what I&#8217;m going to discover, I&#8217;ll try to make it as simple as possible and keep an educational approach.</p>



<p>On this journey, I will be taking small steps, one step at a time, and this post is the first describing the basics and theory for building a scalable architecture.</p>



<h2 class="wp-block-heading" id="leaving-pets-village">Leaving <em>pets village</em></h2>



<p>For those unfamiliar with the <em><a href="http://cloudscaling.com/blog/cloud-computing/the-history-of-pets-vs-cattle/" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">pets vs cattle</a></em> analogy, let&#8217;s say we&#8217;re in a village. Each villager has a handful of animals, not many of them. And each animal requires a lot of time from its owner to feed it, take care of it, play and educate it. They are pets, almost members of the family. And of course, our villagers invest affect and more into each animal. Therefore, losing a pet is really critical as it is unique and cannot be replaced.</p>



<p>Coming back to IT, in the past we deployed applications and servers with the same idea. We spent time on installation, maintenance. One server had very little in common with the others and for critical services we invest so much time in building HA (high availability) architectures with voting solutions like <a href="https://en.wikipedia.org/wiki/Quorum_(distributed_computing)" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">quorum</a> devices, <a href="https://en.wikipedia.org/wiki/Fencing_(computing)" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">fencing</a> tools like <a href="https://en.wikipedia.org/wiki/STONITH" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">STONITH</a> (Shoot The Other Node In The Head) drivers, or dormant resources with active/passive components.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0809-1024x819.jpeg" alt="Three questions for a pet based infra" class="wp-image-22462" width="512" height="410" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0809-1024x819.jpeg 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0809-300x240.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0809-768x614.jpeg 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0809.jpeg 1212w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure></div>



<p>We had to address at least those three questions:</p>



<ol class="wp-block-list"><li>How can I scale my architecture when I need more power?<br> Usually the answer was &#8220;add more RAM&#8221; or &#8220;change to a better CPU&#8221;. Even if your infrastructure is virtualized, this approach has some limitations.</li><li>What should I do when something goes wrong?<br>Here was the debugging approach with a little urgency depending on your pet&#8217;s notoriety.</li><li>What if&#8230; (no words, it&#8217;s too hard) what if the worst happen?<br>And yes, you know that, like all of us… “shit happens”. This is where we used some <a href="https://en.wikipedia.org/wiki/Corosync_Cluster_Engine" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external">corosync</a> stuff and other cool tools.</li></ol>



<p>Overall, you might have a smirk on Monday morning if you check the event logs and find that a big infrastructure failure popped up on Saturday night. You were in the middle of the 16th episode of the 5th season of Lost (yes we&#8217;re back in 2009), Locke just asked Ben to kill Jacob, and you completely missed the alert email asking you leave your sofa to fix the infra. But this Monday morning, you discovered with joy and happiness that your fantastic distributed system had worked as intended and put the system in degraded mode. And you were going to celebrate it with a double coffee because now you will have to go from degraded mode to normal mode and debug the failure.</p>



<p>That&#8217;s the pet village, the one many of us know pretty well. But like I said, the time has changed and we are leaving this place.</p>



<p>This is the pet village, the one that many of us know quite well. But as I said, times have changed and we are leaving this place.</p>



<h2 class="wp-block-heading" id="destination-the-cattle-land">Destination: the <em>cattle land</em></h2>



<p>The country we are going to is full of &#8220;collections of fabrics&#8221; or &#8220;groups of things&#8221;. There&#8217;s a big shed, a huge pasture, and you feed your cattle with tools like trucks and grain silos. In a sense, you are managing the cattle, not each head of cattle. I don&#8217;t want to sound like someone who doesn&#8217;t care about animal welfare, but in a cattle, a cow is much like another cow (sorry vegetarians). If a cow is missing, you can easily replace it, you see what I mean?</p>



<p>It&#8217;s the same for us, IT people. In this country, each component is not unique and shares a common configuration with the other in its group. The configuration has been industrialized, like a one-click deployment, and any component can be replaced by a command line, bringing us to a situation where losing a component is not a problem anymore.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0807-1024x695.jpeg" alt="Three questions for a cattle based infra" class="wp-image-22460" width="512" height="348" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0807-1024x695.jpeg 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0807-300x204.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0807-768x521.jpeg 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0807.jpeg 1502w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure></div>



<p>And if we need to answer the precedent questions, it would look like:</p>



<ol class="wp-block-list"><li>How can I scale my architecture when I need more power?<br>Easy, friend, you just need to add another component in the group.</li><li>What should I do when something goes wrong?<br>You could call the vet… but here I know an easier solution. You will say that I am cruel and I will say that I am talking about machines and software, not animals. What did you have in mind…?</li><li>What if the worst happen?<br>Here again, we&#8217;ll have everything to replace it easily.</li></ol>



<h2 class="wp-block-heading" id="on-the-road-to-cattle-land">On the road to <em>cattle land</em></h2>



<p>So the question is: how to do it? How do you move from a standalone deployment to a scalable architecture?</p>



<p>You might think you&#8217;ll have to rewrite everything and drop your app to rewrite a new one, but we&#8217;ve said we will be doing things step by step&#8230; So I would identify three main actions for our first step. These actions need to be addressed to move into <em>cattle land</em>:</p>



<ol class="wp-block-list"><li>Identify the stateless and stateful components</li><li>Move stateful component to managed services</li><li>Industrialize stateless components</li></ol>



<p>At this point, we may need some clarification on what a stateless component is: it&#8217;s a component that doesn&#8217;t store any <em>data</em> or <em>status</em> locally and <em>share-nothing</em>. All data that needs to be <em>persisted</em> should be stored in a <em>stateful storage service</em>, usually a database. In other words, you can lose/kill/remove/destroy (strike the unnecessary ones) any of the stateless components without impacting the application, because you won&#8217;t lose any data.</p>



<p>And the stateful components will be delegated to your cloud provider, like OVHcloud. They will be responsible for managing the high availability elements for you, usually the service offers this option.</p>



<p>Let&#8217;s try to explain it with some drawings.  Let&#8217;s start with an application deployed in the <em>pets village</em>, a basic blog:</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0811.jpeg" alt="An application deployed in the pets village" class="wp-image-22466" width="509" height="317" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0811.jpeg 1017w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0811-300x187.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0811-768x478.jpeg 768w" sizes="auto, (max-width: 509px) 100vw, 509px" /></figure></div>



<p>The large box represents our standalone server. Highlighted in yellow are the stateful components which are the database and the files (images). This is our data that we don&#8217;t want to lose a single byte. The rest of the application are stateless components.</p>



<p>Now see the target we are speaking about:</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0813-1024x949.jpeg" alt="Product innovation enthusiastic. At OVHcloud, focusing on Bare Metal Cloud and Cloud Storage solutions as a Product Marketing Manager" class="wp-image-22474" width="512" height="475" srcset="https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0813-1024x949.jpeg 1024w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0813-300x278.jpeg 300w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0813-768x711.jpeg 768w, https://blog.ovhcloud.com/wp-content/uploads/2022/02/IMG_0813.jpeg 1275w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure></div>



<p>We&#8217;ll move our stateful component to managed services at OVHcloud. The MongoDB database will be hosted by <a href="https://www.ovhcloud.com/en/public-cloud/mongodb/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer">Managed Databases for MongoDB</a> service and the images will be pushed to <a href="https://www.ovhcloud.com/en/public-cloud/object-storage/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer">Object Storage</a> service which provide an S3 API.</p>



<p>Now we have dealt with the data, we can work to build our stateless component in a <em>cattle mode</em>. The road to the <em>cattle land</em> is marked out and we can move forward. Let&#8217;s see how to do that in the next post with a practical approach and some real demos.</p>
<img loading="lazy" decoding="async" src="//blog.ovhcloud.com/wp-content/plugins/matomo/app/matomo.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fblog.ovhcloud.com%2Fmodernize-your-application-deployment-part-1%2F&amp;action_name=Modernize%20your%20application%20deployment%20%26%238211%3B%20Part%201&amp;urlref=https%3A%2F%2Fblog.ovhcloud.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
