<?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>Forem: Pavel from TurboCloud</title>
    <description>The latest articles on Forem by Pavel from TurboCloud (@pavel_turbocloud).</description>
    <link>https://forem.com/pavel_turbocloud</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%2F1541089%2F0d2cda50-0411-4aa4-9034-b26e2bd47a25.jpg</url>
      <title>Forem: Pavel from TurboCloud</title>
      <link>https://forem.com/pavel_turbocloud</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/pavel_turbocloud"/>
    <language>en</language>
    <item>
      <title>The Hidden Costs of Cloud Provider "Free" Credits</title>
      <dc:creator>Pavel from TurboCloud</dc:creator>
      <pubDate>Fri, 08 Nov 2024 09:35:41 +0000</pubDate>
      <link>https://forem.com/pavel_turbocloud/the-hidden-costs-of-cloud-provider-free-credits-31oe</link>
      <guid>https://forem.com/pavel_turbocloud/the-hidden-costs-of-cloud-provider-free-credits-31oe</guid>
      <description>&lt;p&gt;When I see posts like &lt;a href="https://x.com/harishkgarg/status/1853444590407491748" rel="noopener noreferrer"&gt;this one&lt;/a&gt;, I don't understand why people still believe in this tale about "free" credits. They say "We got $100K in free credits from AWS" or "We just got $500K in free credits from Google Cloud," and spend the whole year locking their project into a single cloud provider. After 12 months of free credits, the first bill arrives, and suddenly it's thousands of dollars for a project with just 100 unpaid users. By then, you can't easily migrate to another cloud or dedicated server that would cost just $10-80 per month, because you're not just locked into services like Lambda, Route 53, and Google Cloud Run—you also have already active users and can't pause everything for a month-long migration. This is how big cloud providers hook new customers. Sure, $250K in free credits sounds much better than $100 in DigitalOcean credits, even if your project only needs two 8 vCPU servers that cost around $20 each.&lt;/p&gt;

&lt;p&gt;Nothing is truly free when it comes to hyperscalers (&lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;, &lt;a href="https://cloud.google.com/" rel="noopener noreferrer"&gt;Google&lt;/a&gt;, &lt;a href="https://azure.microsoft.com/" rel="noopener noreferrer"&gt;Azure&lt;/a&gt;). Someone who has already used their "free" credits pays for your "free" credits. After your credits expire, you'll pay 3-10 times more (somebody should pay for "free" credits of new customers) than what you'd pay using cloud computing from providers like Hetzner, Scaleway, DigitalOcean, or Vultr.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Real-World Example
&lt;/h2&gt;

&lt;p&gt;A few years ago, while working on a streaming service, we received free credits and startup support from AWS. It felt amazing that AWS would give us credits for development. We paid nothing during that year of free credits, but in the 13th month, we got a $6K bill for a project with just a handful of users. Why so much? Simple: users were streaming content, and bandwidth costs were high. We also paid for managed DBs, WAF, Route53, containers, and Lambda functions.&lt;/p&gt;

&lt;p&gt;The management board said, "That's fine, we have a grant, so we're ready to pay for AWS because many enterprises use it, and VCs recommend it." The entire infrastructure (or "chaos-structure") could have been replaced by a few open-source services deployed on a dedicated server with 8 CPUs and 32GB of memory, but nobody listened to us that time. As a result, we paid around $100K for the first year after our "free" credits expired and spent more time fixing Terraform files than doing productive work.&lt;/p&gt;

&lt;p&gt;Most engineers accept spending 10, 20, or even 30 minutes waiting for deployments because they work regular hours from 9 to 17 and receive a salary. But as a founder, you should optimize every moment during development and avoid overengineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Struggle to Scale Down
&lt;/h2&gt;

&lt;p&gt;Let's return to our story. When we had just a few months left on our grant, the management board started asking us to stop and remove everything we weren't using on AWS to reduce costs. With one month remaining, we began migrating everything to Hetzner and Scaleway to eliminate AWS costs because even after three months of optimization, we still had $4.5K monthly bills. The end of the story? I believe the founder of that project still pays AWS because we couldn't stop all resources. AWS is like registering an LLC in the EU—easy to start but incredibly difficult and expensive to close.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recommendations
&lt;/h2&gt;

&lt;p&gt;Instead of applying for free credits, create accounts with providers that focus on dedicated and cloud servers/VPS like &lt;a href="https://www.hetzner.com/" rel="noopener noreferrer"&gt;Hetzner&lt;/a&gt;, &lt;a href="https://digitalocean.com/" rel="noopener noreferrer"&gt;DigitalOcean&lt;/a&gt;, &lt;a href="https://www.vultr.com/" rel="noopener noreferrer"&gt;Vultr&lt;/a&gt;, and &lt;a href="https://www.scaleway.com/en/" rel="noopener noreferrer"&gt;Scaleway&lt;/a&gt;. Check out our guide, &lt;a href="https://turbocloud.dev/book/choose-cloud-provider/" rel="noopener noreferrer"&gt;&lt;em&gt;"Choosing the Right Cloud Provider"&lt;/em&gt;&lt;/a&gt; for ideas on which cloud provider to use. Most SaaS, IoT, or web projects need just one or a few cloud servers. There are many guides on deploying runtimes, databases, and other tools on basic cloud servers with IP addresses and SSH access. For example, a server with 8-16 vCPUs can easily handle thousands of active monthly users. When you need more capacity, you can add more vCPUs or servers.&lt;/p&gt;

&lt;p&gt;If you don't want to read guides, try our &lt;a href="https://turbocloud.dev/" rel="noopener noreferrer"&gt;TurboCloud&lt;/a&gt; deployment toolkit. It can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy almost any project with Dockerfile&lt;/li&gt;
&lt;li&gt;Provide native support for different runtimes&lt;/li&gt;
&lt;li&gt;Work with most cloud providers&lt;/li&gt;
&lt;li&gt;Create a virtual private cloud between all servers and local machines located in different locations&lt;/li&gt;
&lt;li&gt;Set up WAF with predefined rules and rate limiting&lt;/li&gt;
&lt;li&gt;Provide server statistics monitoring out of the box&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this can be done with a single command on your server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://turbocloud.dev/deploy | sh &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; server_ip

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For more details about TurboCloud, check our &lt;a href="https://turbocloud.dev/docs" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;. Feel free to contact us at &lt;a href="mailto:hey@turbocloud.dev"&gt;hey@turbocloud.dev&lt;/a&gt; with your feedback and questions.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>webdev</category>
      <category>googlecloud</category>
    </item>
    <item>
      <title>Deploy static websites and web apps anywhere in minutes with TurboCloud</title>
      <dc:creator>Pavel from TurboCloud</dc:creator>
      <pubDate>Tue, 28 May 2024 21:05:41 +0000</pubDate>
      <link>https://forem.com/pavel_turbocloud/deploy-static-websites-and-web-apps-everywhere-in-minutes-with-turbocloud-32k3</link>
      <guid>https://forem.com/pavel_turbocloud/deploy-static-websites-and-web-apps-everywhere-in-minutes-with-turbocloud-32k3</guid>
      <description>&lt;p&gt;Big cloud providers want you to think that the cloud is super complicated so they can sell their services. But that's not true at all - the cloud is just remote machines connected together. We at LocalCloud want to simplify deployments and show that the cloud industry is overengineered nowadays.&lt;/p&gt;

&lt;p&gt;That's why we developed what's probably the lightest and simplest way to deploy web projects anywhere - VPS, cloud server, dedicated server, or even on-premise. No configuration, no Git required, not even CLI setup - just go to the project's root folder and run one command. Meet TurboCloud - &lt;a href="https://github.com/localcloud-dev/turbo-cloud" rel="noopener noreferrer"&gt;https://github.com/localcloud-dev/turbo-cloud&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Main Advantages
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Zero dependencies - your project will be available as long as your cloud provider is live&lt;/li&gt;
&lt;li&gt;Daemonless&lt;/li&gt;
&lt;li&gt;Unbelievably lightweight - one script, less than 10KB&lt;/li&gt;
&lt;li&gt;HTTPS for custom domains&lt;/li&gt;
&lt;li&gt;Works with WebSocket services (ws:// and wss://)&lt;/li&gt;
&lt;li&gt;TurboCloud itself uses very few resources&lt;/li&gt;
&lt;li&gt;Fully predictable cloud costs (with cloud providers from "Recommended Cloud Providers" below)&lt;/li&gt;
&lt;li&gt;Zero DevOps knowledge required&lt;/li&gt;
&lt;li&gt;Only one command to deploy from your local machine&lt;/li&gt;
&lt;li&gt;Works with virtually any cloud provider&lt;/li&gt;
&lt;li&gt;No Docker registry required&lt;/li&gt;
&lt;li&gt;Zero downtime deployments&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  A few examples how it works
&lt;/h1&gt;

&lt;h2&gt;
  
  
  How to Deploy Static Websites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Order a VPS, cloud server, or dedicated server with a public IP address, fresh Ubuntu 22.04, and SSH access from any cloud provider (see Recommended Cloud Providers section below).&lt;/li&gt;
&lt;li&gt;Add an A record with the IP address of your new server to your custom domain (DNS A record: your_domain.com or subdomain.your_domain.com -&amp;gt; IP address of the server created in step 1)&lt;/li&gt;
&lt;li&gt;In the root folder of your static website project, run the following command (replace ip_address_of_server, expose_port_from_dockerfile, and your_domain_without_http_https with the real values):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl https://raw.githubusercontent.com/localcloud-dev/turbo-cloud/main/turbocloud | sh -s -- -i ip_address_of_server -d your_domain_without_http_https -t static -p expose_port_from_dockerfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Open the URL you set with the -d flag in step 3 in your browser&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Deploy projects with Dockerfile
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Order a VPS, cloud server, or dedicated server with a public IP address, fresh Ubuntu 22.04, and SSH access from any cloud provider (see Recommended Cloud Providers section below).&lt;/li&gt;
&lt;li&gt;Add an A record with the IP address of your new server to your custom domain (DNS A record: your_domain.com or subdomain.your_domain.com -&amp;gt; IP address of the server created in step 1)&lt;/li&gt;
&lt;li&gt;In the root folder of your project with Dockerfile (Dockerfile should be in the project's root folder), run the following command (replace ip_address_of_server and your_domain_without_http_https with the real values):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl https://raw.githubusercontent.com/localcloud-dev/turbo-cloud/main/turbocloud | sh -s -- -i ip_address_of_server -d your_domain_without_http_https -t dockerfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Open the URL you set with the -d flag in step 3 in your browser&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Full documentation can be found at &lt;a href="https://turbocloud.dev" rel="noopener noreferrer"&gt;turbocloud.dev&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
