<?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: Yehor Herasymchuk</title>
    <description>The latest articles on Forem by Yehor Herasymchuk (@yehorherasymchuk).</description>
    <link>https://forem.com/yehorherasymchuk</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%2F1015617%2F1eabbcc1-9f21-473f-afaf-83ea07dca227.jpeg</url>
      <title>Forem: Yehor Herasymchuk</title>
      <link>https://forem.com/yehorherasymchuk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yehorherasymchuk"/>
    <language>en</language>
    <item>
      <title>Dots Platform will process millions of orders without servers and cloud hosting.</title>
      <dc:creator>Yehor Herasymchuk</dc:creator>
      <pubDate>Fri, 27 Jan 2023 18:49:36 +0000</pubDate>
      <link>https://forem.com/dotsplatform/dots-platform-will-process-millions-of-orders-without-servers-and-cloud-hosting-1lj1</link>
      <guid>https://forem.com/dotsplatform/dots-platform-will-process-millions-of-orders-without-servers-and-cloud-hosting-1lj1</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yc-MKizO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y3pketzjtngh4maqbayc.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yc-MKizO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y3pketzjtngh4maqbayc.jpeg" alt="Millions of orders without servers" width="800" height="666"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We started to develop tech for the restaurant and retail industry more than nine years ago. First - for our businesses, then - as a SaaS for hyperlocal commerce, Dots Platform. Year by year, we are iteratively improving our product using cutting-edge technologies. &lt;/p&gt;

&lt;p&gt;And today, we brought the Platform to one more new level. Happy to share that we've transferred all our server infrastructure to a serverless one. We no longer use servers, leveraging an inventive tech stack + Amazon Web Services (AWS) Lambda. &lt;/p&gt;

&lt;p&gt;Please feel free to follow our co-founder and CTO, Yehor Herasymchuk. He regularly posts many exciting things about tech and can share our experience building a serverless infrastructure.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>laravel</category>
      <category>saas</category>
    </item>
    <item>
      <title>5 things you should know about Laravel Vapor</title>
      <dc:creator>Yehor Herasymchuk</dc:creator>
      <pubDate>Fri, 27 Jan 2023 16:06:22 +0000</pubDate>
      <link>https://forem.com/yehorherasymchuk/5-things-you-should-know-about-laravel-vapor-386o</link>
      <guid>https://forem.com/yehorherasymchuk/5-things-you-should-know-about-laravel-vapor-386o</guid>
      <description>&lt;p&gt;&lt;em&gt;We've been using Laravel Vapor for almost 3 years now, and it has truly been a game-changer for us. Before discovering Vapor, we struggled with the scaling and management of our web applications. But since switching to this serverless deployment platform, we've been able to focus on building and improving our applications without worrying about the underlying infrastructure.&lt;/em&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Laravel Vapor is an AWS Lambda-based serverless application platform that enables developers to quickly deploy and manage applications on-demand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It offers a streamlined development process, from code deployment to scaling with load requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Vapor uses a powerful serverless paradigm that eliminates the need for servers and provides restful APIs for data streams.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is designed to be highly fault tolerant and secure, and provides a wide range of powerful features such as continuous integration, auto-scaling, logging and monitoring.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Laravel Vapor is easy to use and offers developers a great way to reduce operational costs, improve development speed and maintain consistent quality standards.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;In conclusion, Laravel Vapor has proven to be a game-changer for us as it provides a seamless way to deploy and manage web applications on-demand. Its integration with AWS Lambda, streamlined development process, and serverless paradigm have eliminated the need for servers and allowed us to focus on building and improving our applications. The platform is highly fault tolerant, secure, and provides a wide range of powerful features such as continuous integration, auto-scaling, logging, and monitoring. Overall, Laravel Vapor is an easy-to-use, cost-effective solution that has helped us maintain consistent quality standards and improve development speed.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;You are welcome to ask me any question about serverless&lt;/em&gt;
&lt;/h4&gt;

</description>
      <category>coding</category>
      <category>productivity</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>How we deployed 9 years old project to AWS Lambda</title>
      <dc:creator>Yehor Herasymchuk</dc:creator>
      <pubDate>Fri, 27 Jan 2023 12:03:45 +0000</pubDate>
      <link>https://forem.com/yehorherasymchuk/how-we-deployed-9-years-old-project-to-aws-lambda-38cf</link>
      <guid>https://forem.com/yehorherasymchuk/how-we-deployed-9-years-old-project-to-aws-lambda-38cf</guid>
      <description>&lt;h2&gt;
  
  
  It was the most challenging task for me since we migrated to AWS in 2020. It took more than 3 months  to migrate completely.
&lt;/h2&gt;

&lt;p&gt;And here are 7 parts of my checklist and working plan how to do this without downtime and crashes. &lt;/p&gt;

&lt;h3&gt;
  
  
  1️⃣Part 1. Development and QA
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;(November - December)&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Clean code from large files&lt;/li&gt;
&lt;li&gt;Remove all unnecessary js/images/css&lt;/li&gt;
&lt;li&gt;Optimize page speed &lt;/li&gt;
&lt;li&gt;Configure dockerfile &lt;/li&gt;
&lt;li&gt;Prepare stage environment&lt;/li&gt;
&lt;li&gt;Verify on test data that everything is working &lt;/li&gt;
&lt;li&gt;Fix bugs&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  2️⃣Part 2. Pre-Production:
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;02.01-18.01.2023&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Prepare preproduction (same data but different urls)&lt;/li&gt;
&lt;li&gt;Disable queues/scheduler for pre production (to prevent problems with data - data&lt;/li&gt;
&lt;li&gt;Verify on real data that &lt;/li&gt;
&lt;li&gt;Fix issues&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  3️⃣Part 3. Deploy code
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;17.01.2023&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Deploy New code to old servers&lt;/li&gt;
&lt;li&gt;Verify everything is working &lt;/li&gt;
&lt;li&gt;Monitor full day and fix issues &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  4️⃣Part 4. Deploy Queues Workers and Scheduler the production
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;18.01.2023&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Reconfigure queues to push to SQS (on old servers)&lt;/li&gt;
&lt;li&gt;Deploy only queues workers and scheduler on Vapor &lt;/li&gt;
&lt;li&gt;Stop old Redis queues workers (on old servers)&lt;/li&gt;
&lt;li&gt;Verify everything is working &lt;/li&gt;
&lt;li&gt;Monitor logs : Full day&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  5️⃣Part 5. Deploy http: internal api and accounts management
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;19.01 (Friday 🤯)&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Reconfigure preproduction domains in Vapor to production&lt;/li&gt;
&lt;li&gt;Change DNS Cname on Cloudflare &lt;/li&gt;
&lt;li&gt;Verify everything is working &lt;/li&gt;
&lt;li&gt;Monitor load and logs full day + weekends&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  6️⃣Part 6. Deploy admin (orders monitoring + content management system)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;24.01.2023&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Reconfigure preproduction domains in Vapor to production&lt;/li&gt;
&lt;li&gt;Change DNS Cname on Cloudflare &lt;/li&gt;
&lt;li&gt;Verify everything is working &lt;/li&gt;
&lt;li&gt;Monitor load and logs full day&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  7️⃣Part 7. Monitoring and optimization
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;24.01-01.02&lt;/em&gt;
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Optimize order monitoring pages: reduce html volume(lambda limit - 5mb per page) &lt;/li&gt;
&lt;li&gt;Optimize archive statistics reports - lambda limit - 30 seconds timeout &lt;/li&gt;
&lt;li&gt;Monitor load &lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;It is just a quick overview of what was done, and there were a lot of challenges on each step. 5 and 6 were the easiest one. And 4 was the most stressful for me since it was tremendous change of architecture and there wasn’t chance for mistakes.&lt;/p&gt;

&lt;p&gt;Despite of overwhelming count of challenges it was one of the most valuable contribution in the Dots architecture and future development. Therefore, I can tell a lot of Stories about difficulties and there solutions.&lt;/p&gt;

&lt;p&gt;All in all, good team work helped us to find all issues before they went live. And a good plan ensured to deploy with minimal risks. &lt;/p&gt;

&lt;p&gt;￼&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>aws</category>
      <category>laravel</category>
      <category>php</category>
    </item>
  </channel>
</rss>
