<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vladislav Supalov</title>
    <description>The latest articles on DEV Community by Vladislav Supalov (@vsupalov).</description>
    <link>https://dev.to/vsupalov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F33370%2Fcca6707c-439d-4042-80d2-202538ce6b09.jpg</url>
      <title>DEV Community: Vladislav Supalov</title>
      <link>https://dev.to/vsupalov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vsupalov"/>
    <language>en</language>
    <item>
      <title>Production Doesn't Have to Be a Big Deal</title>
      <dc:creator>Vladislav Supalov</dc:creator>
      <pubDate>Wed, 26 Jun 2019 08:50:02 +0000</pubDate>
      <link>https://dev.to/vsupalov/production-doesn-t-have-to-be-a-big-deal-3a4m</link>
      <guid>https://dev.to/vsupalov/production-doesn-t-have-to-be-a-big-deal-3a4m</guid>
      <description>&lt;p&gt;Deploying to production for the first time can feel completely overwhelming.&lt;/p&gt;

&lt;p&gt;You're leaving behind the cozy comfort of your development environment, and are sending your little web app off into the unknown. And then there's that nagging feeling that you're missing something very important.&lt;/p&gt;

&lt;p&gt;After all, production is that special place, where everything needs to be perfect. You have to do everything &lt;strong&gt;the right way&lt;/strong&gt; or else.&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;I don't think that production has to be a big deal. Let's see if it looks less scary once we shine a bright light on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Production isn't magical
&lt;/h2&gt;

&lt;p&gt;Production is where your app is used by users for the purpose it was built for. That's really it.&lt;/p&gt;

&lt;p&gt;Does your app contribute to getting business done? Congratulations, you're in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where is the mystery?
&lt;/h2&gt;

&lt;p&gt;"Production" as a term is completely stuffed with unspoken assumptions and poorly defined requirements.&lt;/p&gt;

&lt;p&gt;There is no one-size fits all.&lt;/p&gt;

&lt;p&gt;Production is slightly different for everybody. Some people need their app to scale, other need it to be highly available. Their requirements are not necessarily yours.&lt;/p&gt;

&lt;p&gt;Production is about serving your users well and helping them get their work done. It's also about making life easier for the people who develop the app and those who keep it running.&lt;/p&gt;

&lt;p&gt;You have to work out &lt;strong&gt;your own&lt;/strong&gt; goals, based on what you really need.&lt;/p&gt;

&lt;h2&gt;
  
  
  What DO you need?
&lt;/h2&gt;

&lt;p&gt;There's a huge difference between doing the bare minimum and doing a great job. Once your users can use your app at all, you are in production. Now it's time to see how you can make everybody's life better, step by step.&lt;/p&gt;

&lt;p&gt;The definition of "a great job" is entirely up to you, and not up to what other people think "production" should mean.&lt;/p&gt;

&lt;p&gt;What risks can you live with, and what requirements are really important? What can you do to make sure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your app is secure&lt;/li&gt;
&lt;li&gt;Your users can reach your app when they need it&lt;/li&gt;
&lt;li&gt;Your users can rely on your app&lt;/li&gt;
&lt;li&gt;Your users' data is safe&lt;/li&gt;
&lt;li&gt;You can deploy updates&lt;/li&gt;
&lt;li&gt;You can investigate issues&lt;/li&gt;
&lt;li&gt;You can perform routine maintenance&lt;/li&gt;
&lt;li&gt;You can have peace of mind&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of those requirements aren't fixed. There are different answers for different people and projects. It's about your users and you.&lt;/p&gt;

&lt;p&gt;Decide on what's important for you right now. See what you can do to make your current setup better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Production doesn't need to be a big deal
&lt;/h2&gt;

&lt;p&gt;It's there to serve your users. It should not feel like an endlessly tedious chore for you. Start with the bare minimum, and improve the parts which you actually need. That's really all there is to it.&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;p&gt;Originally published on &lt;a href="https://vsupalov.com/production-no-big-deal/"&gt;vsupalov.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>django</category>
    </item>
    <item>
      <title>Get Docker Right and Get on with Life</title>
      <dc:creator>Vladislav Supalov</dc:creator>
      <pubDate>Sat, 23 Mar 2019 20:38:36 +0000</pubDate>
      <link>https://dev.to/vsupalov/get-docker-right-and-get-on-with-life-5gdo</link>
      <guid>https://dev.to/vsupalov/get-docker-right-and-get-on-with-life-5gdo</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Building cool apps &amp;gt;&amp;gt; deploying them in a fancy way.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When starting work on a new Django project, I don't use Docker.&lt;/p&gt;

&lt;p&gt;Why would it be otherwise? Nothing has to be deployed. Reproducibility is not a crucial topic. Everybody is on the same page. It will get fancier in time, but only when there are real issues which&lt;br&gt;
require more work.&lt;/p&gt;

&lt;p&gt;My development environment is as simple as possible when starting out.&lt;br&gt;
Because there's no real problem it can help me with at that point.&lt;/p&gt;

&lt;p&gt;I want as few distractions between me and the main focus of my work as possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Yeah, Docker is Cool, But...
&lt;/h2&gt;

&lt;p&gt;That does not mean it's a must have.&lt;/p&gt;

&lt;p&gt;Don't get me wrong. When there's a clear job for it, Docker is a tool I cherish very much.&lt;/p&gt;

&lt;p&gt;After all, there's so much cool stuff you can get done with it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easily reproducible builds&lt;/li&gt;
&lt;li&gt;Less complex deployment setups&lt;/li&gt;
&lt;li&gt;Automated development environments&lt;/li&gt;
&lt;li&gt;Hassle-free testing environments&lt;/li&gt;
&lt;li&gt;Easy-to-orchestrate workloads (Sometimes. Most people don't really need k8s &amp;amp; co)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But for each of those points, you should have stumbled over the pain you they address &lt;strong&gt;first&lt;/strong&gt;, or should be anticipating it with high certainty. You don't go and build them "just because" when you're working on something which matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Just Enough Docker
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;"It's awesome! Way faster than Vagrant when working locally, and soo cool for deployments."&lt;br&gt;
  -- me, ~2014&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Docker had me hooked from the first time I heard about it. But it's just one more tool. There's a "playing around for fun and learning" phase in the beginning, but then it calms down and you only use it if there's something you want to achieve with it.&lt;/p&gt;

&lt;p&gt;Once everything behaves as expected, I call it a day and &lt;strong&gt;move on to more important topics&lt;/strong&gt;. Stuff that matters. Stuff which created a compelling context to reach for Docker in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Your Goal?
&lt;/h2&gt;

&lt;p&gt;When you are a solo developer, or member of a small team, you want to focus on what's important -- making progress on the actual project you're working on.&lt;/p&gt;

&lt;p&gt;If you're the ops-y person in a larger team, your job is to make sure that your teammates are set up for success. You take care of infra stuff, so they don't have to.&lt;/p&gt;

&lt;p&gt;Building ever-fancier setups it not that exciting. &lt;strong&gt;Enabling people to get stuff done which matters is.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker can help you to stop wasting time on distracting issues, and focus on user-facing features.&lt;/p&gt;

&lt;p&gt;Every hour you invest into Docker is an hour you could have&lt;br&gt;
used to make your app better. If Docker isn't saving that hour for you or anybody else, you might as well have done something else. Without the upside of saving time &amp;amp; effort in the future, reaching for Docker would not make any sense.&lt;/p&gt;

&lt;p&gt;Personally, I will always aim at getting all the infrastructure/development setup issues out of the way and &lt;strong&gt;get on with life&lt;/strong&gt;. To work on stuff that matters.&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;p&gt;Originally published on &lt;a href="https://vsupalov.com/get-docker-right-get-on-with-life/"&gt;vsupalov.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>django</category>
      <category>webdev</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
