<?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: Platform.sh</title>
    <description>The latest articles on DEV Community by Platform.sh (@platformsh).</description>
    <link>https://dev.to/platformsh</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%2Forganization%2Fprofile_image%2F4463%2F82fbfc88-f8c9-44b6-abde-c8ec452f1822.png</url>
      <title>DEV Community: Platform.sh</title>
      <link>https://dev.to/platformsh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/platformsh"/>
    <language>en</language>
    <item>
      <title>Blackfire now supports Java: deeper insights, faster optimization 😎</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Tue, 18 Feb 2025 16:09:55 +0000</pubDate>
      <link>https://dev.to/platformsh/blackfire-now-supports-javadeeper-insights-faster-optimization-4eg5</link>
      <guid>https://dev.to/platformsh/blackfire-now-supports-javadeeper-insights-faster-optimization-4eg5</guid>
      <description>&lt;p&gt;&lt;strong&gt;We're excited to announce: Blackfire continuous profiling now supports Java! 🤯👏&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Java is one of the most widely used runtimes in the enterprise world, but it comes with its own performance challenges, from garbage collection tuning to concurrency bottlenecks.&lt;/p&gt;

&lt;p&gt;Unlock deeper visibility and keep an eye on CPU usage, memory allocations, and more—critical for optimizing Java applications under real-world workloads.&lt;/p&gt;

&lt;p&gt;👉 Already on a Production plan? Start profiling Java immediately. &lt;br&gt;
Head to our documentation to learn &lt;a href="https://docs.blackfire.io/continuous-profiling-cookbooks/java?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=java-contprof" rel="noopener noreferrer"&gt;how to configure your Java application&lt;/a&gt; ⚡️  &lt;/p&gt;

&lt;p&gt;If not, consider upgrading to benefit from Blackfire’s &lt;a href="https://www.blackfire.io/pricing/" rel="noopener noreferrer"&gt;full continuous observability offering&lt;/a&gt; 🔥 &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>tooling</category>
      <category>java</category>
    </item>
    <item>
      <title>The ultimate app observability guide: stop costly outages now and future-proof your performance 🚀🔥</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Wed, 29 Jan 2025 15:39:51 +0000</pubDate>
      <link>https://dev.to/platformsh/the-ultimate-app-observability-guide-stop-costly-outages-now-and-future-proof-your-performance-92e</link>
      <guid>https://dev.to/platformsh/the-ultimate-app-observability-guide-stop-costly-outages-now-and-future-proof-your-performance-92e</guid>
      <description>&lt;p&gt;Craft an observability strategy that balances immediate firefighting with long-term optimization—empowering your team to tackle today’s challenges and build for tomorrow’s growth. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start where you are, and let your strategy evolve with your goals&lt;/strong&gt; 💪&lt;/p&gt;

&lt;p&gt;Explore how you can master your observability strategy and set your application up for both resilience and growth, depending on your unique goals—whether it’s minimizing downtime or fostering a culture of continuous performance improvement. &lt;/p&gt;

&lt;p&gt;Check out our latest guide to get started 👉 &lt;a href="https://blog.blackfire.io/mastering-your-observability-strategy-with-blackfire-from-quick-fixes-to-long-term-optimization.html" rel="noopener noreferrer"&gt;Mastering your Observability Strategy: from quick fixes to long-term optimization&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>tooling</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Compare, pinpoint, and deliver more efficient apps with continuous profiling</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Wed, 30 Oct 2024 09:40:29 +0000</pubDate>
      <link>https://dev.to/platformsh/compare-pinpoint-and-deliver-more-efficient-apps-with-continuous-profiling-4dkk</link>
      <guid>https://dev.to/platformsh/compare-pinpoint-and-deliver-more-efficient-apps-with-continuous-profiling-4dkk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introducing Blackfire time frame comparison—a new addition to our continuous profiling dashboard that helps you monitor and optimize resource usage by comparing two different time frames.&lt;/strong&gt; With intuitive visuals and detailed insights, you can easily detect changes, troubleshoot issues, and make data-driven decisions.&lt;/p&gt;

&lt;p&gt;Monitoring and continuous-profiling dashboards identify opportunities for improvement. You might pinpoint bottlenecks or underperforming function calls. &lt;/p&gt;

&lt;p&gt;When you analyze observability data, context is paramount. Are your findings only relevant to the observed timeframe or apply more broadly? Do your application dynamics differ under specific circumstances? The new upgrade to Blackfire continuous profiling enables you to compare two time frames, so you can better understand your application dynamics in various contexts. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3duzktja7rqq3k30ehmv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3duzktja7rqq3k30ehmv.png" alt="Blackfire time frame comparison for continuous profiling" width="800" height="166"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.blackfire.io/spot-the-difference-timeframe-comparison-with-blackfire-continuous-profiler.html" rel="noopener noreferrer"&gt;Find out how the new timeframe comparison feature works&lt;/a&gt;, Then get started on delivering faster, more efficient applications.  &lt;/p&gt;

&lt;p&gt;To better observability and beyond! 🚀&lt;/p&gt;

</description>
      <category>devops</category>
      <category>productivity</category>
      <category>performance</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Observability hacks to unlock peak app performance l Part 1</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Wed, 09 Oct 2024 09:37:11 +0000</pubDate>
      <link>https://dev.to/platformsh/observability-hacks-to-unlock-peak-app-performance-l-part-1-1fic</link>
      <guid>https://dev.to/platformsh/observability-hacks-to-unlock-peak-app-performance-l-part-1-1fic</guid>
      <description>&lt;p&gt;The year is 2042, and the planet is about to be demolished by some alien constructor. Or is it 2029, and a cyborg is sent back in time to perform an assassination? Or is some AI takeover about to happen?&lt;/p&gt;

&lt;p&gt;A cataclysmic event plays a pivotal role in the life of the main character forced to become an involuntary hero to save their life and the world. While many of us might love those stories, not many wish to experience such an ordeal.&lt;/p&gt;

&lt;p&gt;Having your application crash at the worst possible moment might seem like the least story-worthy event. Yet, while less epic, it’s the most likely for us developers. Raise your hand if you have already been in such a situation. 🙌 You are not alone; that club is growing by the minute.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Observability: the disaster remedy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Observability might be your most vital asset in your quest to prevent your application from crashing and bringing you on a harrowing journey with it. Blackfire helps you monitor your apps in real-time, spotting problems and potential issues before they happen.&lt;/p&gt;

&lt;p&gt;This quick problem-solving solution and the long-term performance improvements it allows mean you can manage your apps better, even during tough times. Blackfire allows you to build and improve your apps with confidence.&lt;/p&gt;

&lt;p&gt;There is one caveat, though. Observability is helpful only if you use it. The more embedded it gets into your development and deployment workflow, the more powerful it becomes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Small steps for a giant leap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Therefore, your journey toward improved and secured application performance starts by building a habit. That gym membership card sitting in the back of a drawer or those rarely opened healthy cookbooks are hints that this is easier said than done. What if you could hack your way?&lt;/p&gt;

&lt;p&gt;Let’s explore what 5-minute observability-related tasks you could consider to get started. These tasks could easily be squeezed into any schedule and ultimately significantly impact your journey.&lt;/p&gt;

&lt;p&gt;This is a dev application of &lt;a href="https://en.wikipedia.org/wiki/Compound_interest" rel="noopener noreferrer"&gt;compound interest logic&lt;/a&gt;, in which investment gains keep accumulating, and money grows faster over time. In other words, cumulating small steps might be more beneficial than one single giant leap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1/ Ensure Blackfire is installed on all environments&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make a gift to the future-you by enabling Blackfire on all environments: local, dev, staging, production. You may still need to find out what the future will bring. But you will be grateful if past-you has paved the way for a faster recovery.&lt;/p&gt;

&lt;p&gt;We provide guides on installing and configuring Blackfire in most environments. We also document setting up Blackfire on Docker, DDEV, and many PaaS, such as &lt;a href="https://docs.blackfire.io/integrations/paas/upsun?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;Upsun&lt;/a&gt;, &lt;a href="https://docs.blackfire.io/integrations/paas/platformsh?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;Platform.sh&lt;/a&gt;, and &lt;a href="https://docs.blackfire.io/integrations/paas/adobe-commerce-cloud?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;Adobe Commerce Cloud&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Every install should take you about 5 minutes to complete and could constitute your first baby steps toward performance optimization. &lt;a href="https://docs.blackfire.io/onboarding/profiling/triggering-profiles?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;Trigger your first profile&lt;/a&gt; to validate the configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2/ Activate Blackfire Monitoring and Continuous Profiling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.blackfire.io/monitoring/?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;Blackfire Monitoring&lt;/a&gt; and &lt;a href="https://www.blackfire.io/continuous-profiler/?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;Continuous Profiling&lt;/a&gt; are ways to monitor your applications in real-time and continuously collect information. This &lt;a href="https://blog.blackfire.io/understanding-continuous-profiling-part-1.html?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;blog post series&lt;/a&gt; might help you understand the differences and complementarities between the two.&lt;/p&gt;

&lt;p&gt;In other words, those two observability techniques can be your allies by constantly being in action while you go about your day. While we need data and the ability to turn it into information, you don’t have to be always on duty to collect it. Let’s automate this, and carry on with our lives.&lt;/p&gt;

&lt;p&gt;Once Blackfire is installed, Blackfire Monitoring (PHP, Python) is &lt;a href="https://docs.blackfire.io/monitoring-cookbooks/configuration?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;enabled by default&lt;/a&gt;. Blackfire Continuous Profiler (PHP, Python, Node.js, Go, Ruby, Rust) requires a &lt;a href="https://docs.blackfire.io/continuous-profiling-cookbooks/index?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;specific configuration&lt;/a&gt;. Those configurations also require around 5 to 10 minutes each.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3/ Prioritize the most impactful transactions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Checking the monitoring data for the first time can be overwhelming and dizzying. There is a lot of information to consider. You might want to take a couple of minutes to read that &lt;a href="https://blog.blackfire.io/launching-into-continuous-observability-with-blackfire-monitoring-empowering-developers-with-live-actionable-insights.html?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability" rel="noopener noreferrer"&gt;blog post showing you the ropes&lt;/a&gt; of the monitoring dashboard.Then, why don’t you consider the “&lt;a href="https://docs.blackfire.io/monitoring-cookbooks/filtering-transactions?utm_source=blackfire&amp;amp;utm_medium=blog&amp;amp;utm_campaign=the_hitchhikers_guide_to_observability#top-transactions" rel="noopener noreferrer"&gt;Top Transactions&lt;/a&gt;” section of the dashboard? From a Monitoring perspective, a transaction is a group of server-side requests traced by Blackfire, and for which a name has been defined.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45aeu7ztxdu6kl3gt73v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F45aeu7ztxdu6kl3gt73v.png" alt="hitchhicker-guide_top-transaction" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The transactions are sorted by impact, which represents the percentage of time spent processing one transaction compared to all the others. A good practice is always to prfioritize optimizing and enforcing the parts of your application affecting your end-users the most. This is one key to a smooth user experience. Take a couple of more minutes to identify the transactions to prfioritize.&lt;/p&gt;

&lt;p&gt;In the next and last instalment, we will continue our hitchhiking journey in observability. By cumulating simple and actionable 5-minutes tasks, we will try to build an healthy habit and answer the great question of life, the universe and everything observability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To better observability and beyond!🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>devops</category>
      <category>performance</category>
      <category>webperf</category>
    </item>
    <item>
      <title>A Year-Round Plan for Mastering Holiday and Peak Web Performance Hurdles 🎯</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Thu, 25 Jul 2024 16:58:49 +0000</pubDate>
      <link>https://dev.to/platformsh/a-year-round-plan-for-mastering-holiday-and-peak-web-performance-hurdles-4cf2</link>
      <guid>https://dev.to/platformsh/a-year-round-plan-for-mastering-holiday-and-peak-web-performance-hurdles-4cf2</guid>
      <description>&lt;p&gt;While there is no denying the surge of traffic that the holiday shopping peak — especially Black Friday — generates for retailers, some shopper behavior patterns may be worth noting for other major spikes in online shopping throughout the year, such as Valentine's Day, Mother's Day, Father's Day and more. One growing trend that has picked up speed over the past couple years is an expanded shopping timeframe for consumers in advance of the holiday season, perhaps driven by supply issues and shipping delays, among other factors. In 2022, for example, retailers were launching Black Friday holiday sales as early as October, according to the &lt;a href="https://nrf.com/blog/6-things-know-about-2022-holiday-shopping-season" rel="noopener noreferrer"&gt;National Retail Federation&lt;/a&gt; (NRF).&lt;/p&gt;

&lt;p&gt;The challenge for brands lies in creating a web strategy that can scale website performance and manage the surges and spikes throughout the year appropriately, with the fluctuating and, at times, earlier than expected demand. Many organizations find a push and pull between marketing and technology departments as they strive to roll out promotions in an organized fashion and meet the demands for last minute adjustments. To prepare for these peaks throughout the year, retail brands find themselves accelerating their plans to handle the anticipated spikes in web traffic before each holiday.&lt;/p&gt;

&lt;p&gt;Sharp spikes in web traffic and associated transactions place a heavy burden on retailers' web development teams. This burden that is felt by technology teams highlights the need for a well-planned and coordinated marketing and website management strategy that is efficient in both time and resources then becomes a year-round journey, not something saved for year-end or when fire drills occur. Here are three ways companies can master each holiday and other peak performance hurdles:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. Look for opportunities to optimize code performance and reduce energy use&lt;/strong&gt; 👀
&lt;/h2&gt;

&lt;p&gt;With every campaign, and even on regular shopping days throughout the year, retailers aim to deliver a shopping experience that leads to higher conversions and sales. A direct factor that impacts the shopping experience is website performance, including loading time of both the website and apps. Nothing is more frustrating for an online shopper than to wait for a page to load, with glitchy, slow loading pages, which sometimes result in cart abandonment. Therefore, it is critical to evaluate ways to handle extreme loads.&lt;/p&gt;

&lt;p&gt;Luckily, there have been advancements in technology that allow developers to optimize the performance of their websites and apps by showing where specific code can be altered to improve load times and SEO results. Optimizing performance also can save energy, as the more data transferred also results in higher energy consumption. More and more companies are also investigating static site generation as a way to publish easy to scale static content for part or all their websites.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2. Only pay for the capacity you need by scaling seasonally or on-demand&lt;/strong&gt; ✨
&lt;/h2&gt;

&lt;p&gt;One challenge that retailers face is the need to pay for large server capacity when they need it, but they often then end up paying for that same level throughout the year when they don't need those same server capacities. During high traffic shopping events their websites must be able to handle extremely large visits per second.&lt;/p&gt;

&lt;p&gt;As mentioned previously, page load times are directly connected to the customer experience a brand is delivering to shoppers. Companies must ensure their environments are properly sized prior to peak times. While companies hosting their own servers can keep capacity on hand for peak times of demand, some smaller brands that don't have this luxury face economic risks by not having enough capacity at the crucial moment, leading to servers that collapse under the load.&lt;/p&gt;

&lt;p&gt;The fallout of being over prepared year-round is that 60% to 80% of the capacity is not used in off peak times. This large investment in hardware and resources for operation and maintenance, as well as energy costs, are becoming increasingly significant. One option to avoid the high costs incurred for capacity that isn't always required is to partner with platform providers. Retailers can then scale as needed, collaborating on development, scaling and management of apps, usage, and utilization can be even better managed and optimized.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. Find harmony across your organization and consolidate web applications and programs&lt;/strong&gt; 🫶
&lt;/h2&gt;

&lt;p&gt;Retailers' marketing promotions often need to be revised mid-campaign due to unforeseen circumstances. This might come in the form of competitive factors or product inventory issues, for example, if a product is no longer in stock. At the same time, website and web app administrators feel responsible for flawless performance during peak traffic events to eliminate the potential for interruptions or bottlenecks. One common tactic retailers deploy is a "code freeze" strategy to enforce a cut off time on website updates; however, this makes last minute adjustments, including new campaign roll-outs, almost impossible. Using platforms to develop and scale websites enables faster response times, ensuring that web managers can react to modifications without much effort — even at the last minute.&lt;/p&gt;

&lt;p&gt;Web platforms also support the consolidation and the development and management of websites and apps on a central platform for increased transparency. And provide additional benefits for monitoring and automating routine processes, which in turn also brings valuable insights. For example, functions based on artificial intelligence (AI) can support managers and administrators in monitoring the applications, identifying performance problems, and even implementing immediate fixes. Streamlining often time-consuming processes means retailers can focus on the front end, including delivering an engaging shopping experience to their customers instead of the infrastructure.&lt;/p&gt;

&lt;p&gt;Retailers would be prudent to put in the time and energy into creating a plan now that will improve customer shopping experiences while also creating operational efficiencies with real business benefits. The effort to create harmony between marketing and infrastructure goals should be a year-round journey, one in which the lens is on a wide picture of what is needed to create an optimal shopping experience but also in order to leverage key shopping periods throughout the year.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>webperf</category>
      <category>devops</category>
      <category>programming</category>
    </item>
    <item>
      <title>Supercharge your PHP: The ultimate guide to OPcache optimization 🚀</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Thu, 18 Jul 2024 15:31:05 +0000</pubDate>
      <link>https://dev.to/platformsh/supercharge-your-php-the-ultimate-guide-to-opcache-optimization-47ed</link>
      <guid>https://dev.to/platformsh/supercharge-your-php-the-ultimate-guide-to-opcache-optimization-47ed</guid>
      <description>&lt;p&gt;We're excited to share some game-changing insights from our latest blog post on PHP performance optimization. If you're looking to take your PHP apps to the next level, this is for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔍 Deep Dive into PHP Compilation&lt;/strong&gt;&lt;br&gt;
Ever wondered how PHP turns your code into something the server can execute? We break down the process from tokenization to opcode compilation, giving you a solid foundation for understanding performance bottlenecks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💾 OPcache: Your Secret Weapon&lt;/strong&gt;&lt;br&gt;
OPcache is like a turbo boost for your PHP apps. By storing precompiled bytecode in memory, it eliminates repetitive parsing on each request. The result? Dramatically faster response times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ Optimal OPcache Configuration&lt;/strong&gt;&lt;br&gt;
We've got the inside scoop on fine-tuning OPcache:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enable it for both HTTP and CLI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allocate sufficient memory (at least 128MB)&lt;/li&gt;
&lt;li&gt;Set the right number of max accelerated files&lt;/li&gt;
&lt;li&gt;Optimize your interned strings buffer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These tweaks can make a world of difference in your app's performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔄 Smart Caching Strategies&lt;/strong&gt;&lt;br&gt;
Learn about timestamp validation and revalidation frequency to keep your opcode cache fresh and efficient. It's all about finding the right balance between performance and up-to-date code execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏎️ Preloading for Framework Enthusiasts&lt;/strong&gt;&lt;br&gt;
Using Symfony, Laravel, or Drupal? The opcache.preload setting is your new best friend. We show you how to compile and execute specific scripts at server start-up for an extra speed boost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📊 &lt;a href="https://www.blackfire.io/" rel="noopener noreferrer"&gt;Blackfire&lt;/a&gt;: Your Performance Ally&lt;/strong&gt;&lt;br&gt;
Discover how Blackfire integrates with OPcache to provide deep insights into your app's performance. Track memory consumption, accelerated files, and more to make data-driven optimization decisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔬 Continuous Monitoring&lt;/strong&gt;&lt;br&gt;
With Blackfire Monitoring, you can keep an eye on your OPcache performance over time. Spot trends, identify issues before they become problems, and continuously refine your optimization strategy.&lt;/p&gt;

&lt;p&gt;By mastering these techniques, you're not just improving performance – you're elevating your skills as a PHP developer. Stay ahead of the curve and deliver lightning-fast applications that users will love.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://blog.blackfire.io/boosting-php-performance-mastering-opcache-optimization-with-blackfire.html?utm_source=devto&amp;amp;utm_medium=organic_social&amp;amp;utm_campaign=blog-post" rel="noopener noreferrer"&gt;Check out the full blog post here&lt;/a&gt; for all the nitty-gritty details.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>devops</category>
    </item>
    <item>
      <title>Supercharge Your Website Relaunch: The Power of Performance Optimization</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Thu, 04 Jul 2024 15:37:48 +0000</pubDate>
      <link>https://dev.to/platformsh/supercharge-your-website-relaunch-the-power-of-performance-optimization-h74</link>
      <guid>https://dev.to/platformsh/supercharge-your-website-relaunch-the-power-of-performance-optimization-h74</guid>
      <description>&lt;p&gt;&lt;strong&gt;Are you planning a website relaunch? 👀&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Don't overlook the game-changing &lt;strong&gt;impact of performance optimization&lt;/strong&gt;. Let's dive into why speed matters and how you can &lt;strong&gt;make your site lightning-fast&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Performance Optimization is Crucial 🔑&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enhanced User Experience: Fast sites = happy users&lt;/li&gt;
&lt;li&gt;Improved Search Engine Visibility: Speed is a ranking factor&lt;/li&gt;
&lt;li&gt;Increased Conversion Rates: Faster sites convert better&lt;/li&gt;
&lt;li&gt;Reduced Operational Costs: Efficient sites are cheaper to run&lt;/li&gt;
&lt;li&gt;Competitive Advantage: Outpace your rivals with a speedy site&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Key Areas to Focus On 🎯&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1️⃣ Frontend Performance&lt;br&gt;
Optimize for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Largest Contentful Paint (LCP)&lt;/li&gt;
&lt;li&gt;Cumulative Layout Shift (CLS)&lt;/li&gt;
&lt;li&gt;First Contentful Paint (FCP)&lt;/li&gt;
&lt;li&gt;Interaction to Next Paint (INP)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2️⃣ Server-Side Responsiveness&lt;br&gt;
Reduce:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time to First Byte (TTFB)&lt;/li&gt;
&lt;li&gt;Total Blocking Time (TBT)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3️⃣ Caching&lt;br&gt;
Implement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browser caching&lt;/li&gt;
&lt;li&gt;Server-side caching&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;4️⃣ Asset Optimization&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimize and compress CSS and JavaScript&lt;/li&gt;
&lt;li&gt;Implement asset bundling&lt;/li&gt;
&lt;li&gt;Reduce HTTP requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;5️⃣ Image Optimization&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compress images&lt;/li&gt;
&lt;li&gt;Implement lazy loading&lt;/li&gt;
&lt;li&gt;Use modern image formats&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;6️⃣ Monitoring&lt;br&gt;
Establish comprehensive systems to track performance metrics&lt;br&gt;
Taking Action 💪&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set clear performance targets&lt;/li&gt;
&lt;li&gt;Prioritize performance in design and development&lt;/li&gt;
&lt;li&gt;Optimize content for speed&lt;/li&gt;
&lt;li&gt;Implement efficient hosting and infrastructure&lt;/li&gt;
&lt;li&gt;Adopt lightweight frameworks&lt;/li&gt;
&lt;li&gt;Conduct thorough testing&lt;/li&gt;
&lt;li&gt;Implement continuous monitoring and optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Overcoming Roadblocks 🚧&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Be aware of common challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Industry norms&lt;/li&gt;
&lt;li&gt;Lack of awareness or expertise&lt;/li&gt;
&lt;li&gt;Misaligned priorities&lt;/li&gt;
&lt;li&gt;Budget and time constraints&lt;/li&gt;
&lt;li&gt;Limited accountability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;✨ Pro tip: Explicitly request performance optimization to keep it a priority throughout development. ✨&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Bottom Line 📊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Performance optimization isn't just a nice-to-have – it's a must-have for successful website relaunches. By focusing on speed and efficiency, you'll create a better user experience, improve your search rankings, and gain a competitive edge in your industry.&lt;/p&gt;

&lt;p&gt;Ready to dive deeper into performance optimization for your website relaunch? 🤔 Check out the &lt;strong&gt;&lt;a href="https://platform.sh/blog/website-relaunch-performance/?utm_source=devto&amp;amp;utm_medium=organic_social&amp;amp;utm_campaign=blog-post" rel="noopener noreferrer"&gt;full blog post&lt;/a&gt;&lt;/strong&gt; on the for more insights and strategies.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>productivity</category>
      <category>frontend</category>
      <category>testing</category>
    </item>
    <item>
      <title>3 Part Journey to Understanding the Key Benefits of Continuous Profiling 🔥</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Wed, 19 Jun 2024 13:26:30 +0000</pubDate>
      <link>https://dev.to/platformsh/3-part-journey-to-understanding-the-key-benefits-of-continuous-profiling-2inn</link>
      <guid>https://dev.to/platformsh/3-part-journey-to-understanding-the-key-benefits-of-continuous-profiling-2inn</guid>
      <description>&lt;h2&gt;
  
  
  Your ultimate guide to understanding continuous profiling and how it combines profiling and monitoring with minimal overhead 😎✨
&lt;/h2&gt;

&lt;p&gt;Discover our latest three part series where we take you behind the scenes to explore the different ways of collecting observability data and converting it into actionable information. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In this series you will discover 💡:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;How to trigger a profile and explore the information provided in a way that shines a light on the inherent nature of deterministic profiling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How far you can push deterministic observability’s logic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The key element to every observability initiative: the ratio between the information available and the overhead caused by the data collection.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;💪 Get ready to start your observability journey, let's go ⬇️&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://blog.blackfire.io/understanding-continuous-profiling-part-1.html" rel="noopener noreferrer"&gt;&lt;strong&gt;Understanding continuous profiling part&lt;/strong&gt;&lt;/a&gt; 1️⃣ &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.blackfire.io/understanding-continuous-profiling-part-2.html" rel="noopener noreferrer"&gt;&lt;strong&gt;Understanding continuous profiling part&lt;/strong&gt;&lt;/a&gt; 2️⃣&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.blackfire.io/understanding-continuous-profiling-part-3.html" rel="noopener noreferrer"&gt;&lt;strong&gt;Understanding continuous profiling part&lt;/strong&gt;&lt;/a&gt; 3️⃣&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have burning questions about observability or do you want know how to include it in your optimization strategy? Let's have a conversation, leave us a comment below with your questions to kick it off. 🤓&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To better observability and beyond!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tooling</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
    <item>
      <title>Change mode podcast: Episode 1: Write That Funky Manual with Ryan Weaver 🎧</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Mon, 29 Apr 2024 13:19:59 +0000</pubDate>
      <link>https://dev.to/platformsh/change-mode-podcast-episode-1-write-that-funky-manual-with-ryan-weaver-5eng</link>
      <guid>https://dev.to/platformsh/change-mode-podcast-episode-1-write-that-funky-manual-with-ryan-weaver-5eng</guid>
      <description>&lt;p&gt;Our first-ever episode of the &lt;a href="https://www.podcastics.com/podcast/the-changemode-podcast/" rel="noopener noreferrer"&gt;Change mode podcast&lt;/a&gt; is kicking things off nicely with a wonderful guest from the Symfony core team, Ryan Weaver. The Symfony docs lead and &lt;a href="https://twitter.com/SymfonyCasts" rel="noopener noreferrer"&gt;SymfonyCasts&lt;/a&gt; writer keeping us all in check when it comes to &lt;a href="https://twitter.com/symfony" rel="noopener noreferrer"&gt;Symfony&lt;/a&gt; development. &lt;/p&gt;

&lt;p&gt;Join us for this episode as Ryan shares how to get started in open source, his methods for creating and managing great documentation and screencasts (including those dreaded translations), and how to balance open source and family life.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Listen to episode 1 with &lt;a class="mentioned-user" href="https://dev.to/mupsi"&gt;@mupsi&lt;/a&gt; and Ryan Weaver 👉 &lt;a href="https://www.podcastics.com/podcast/episode/chmod-101-wtfm-write-that-funky-manual-with-ryan-weaver-290587/" rel="noopener noreferrer"&gt;chmod 101: WTFM: Write That Funky Manual with Ryan Weaver&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Thank you again to Ryan for joining us, and to all our listeners please join us in supporting Ryan in his toughest challenge yet.&lt;/p&gt;

&lt;p&gt;For more information about how you can show your support head to Ryan Weaver's account or follow this link to his &lt;a href="https://www.gofundme.com/f/support-ryans-brain-cancer-battle?utm_source=linkedin&amp;amp;utm_medium=Upsun&amp;amp;utm_content=765c5b8505c8414db97974dd8cd381a3-91556687&amp;amp;utm_keyword=podcast&amp;amp;social=linkedin" rel="noopener noreferrer"&gt;GoFundMe Donations Page&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>php</category>
      <category>tutorial</category>
      <category>podcast</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Simplified observability: Turn complex data into clear, actionable insights with Blackfire 🔥</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Mon, 29 Apr 2024 12:00:43 +0000</pubDate>
      <link>https://dev.to/platformsh/simplified-observability-turn-complex-data-into-clear-actionable-insights-with-blackfire-6j8</link>
      <guid>https://dev.to/platformsh/simplified-observability-turn-complex-data-into-clear-actionable-insights-with-blackfire-6j8</guid>
      <description>&lt;p&gt;Monitor, profile, and test your application even before it is released in production. With Blackfire in your tool stack you can simplify observability and turn complex data into clear, actionable insights without breaking a sweat.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdhy6jpjhrxu6y3te3hnc.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdhy6jpjhrxu6y3te3hnc.jpeg" alt="Simplified observability: Turn complex data into clear, actionable insights with Blackfire" width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out how in our latest article 👉 &lt;strong&gt;&lt;a href="https://blog.blackfire.io/blackfire-the-opinionated-do-it-for-me-observability-solution.html?utm_source=devto&amp;amp;utm_medium=organic_social&amp;amp;utm_campaign=blackfireblog2024&amp;amp;utm_id=observability" rel="noopener noreferrer"&gt;Blackfire, the opinionated do-it-for-me observability solution&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Witty Works scales their AI-augmented DEI solution with a new PaaS 💚</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Wed, 24 Apr 2024 10:49:54 +0000</pubDate>
      <link>https://dev.to/platformsh/witty-works-scales-their-ai-augmented-dei-solution-with-a-new-paas-1ahn</link>
      <guid>https://dev.to/platformsh/witty-works-scales-their-ai-augmented-dei-solution-with-a-new-paas-1ahn</guid>
      <description>&lt;p&gt;⚒️ &lt;strong&gt;Challenge&lt;/strong&gt;&lt;br&gt;
To find a platform that would provide the flexibility to scale project resources and better control costs for an innovative, AI-augmented, DEI digital language assistant&lt;/p&gt;

&lt;p&gt;💪 &lt;strong&gt;Solution&lt;/strong&gt;&lt;br&gt;
Migrating a natural language processing API project (Python, with Java Server) to the Upsun PaaS&lt;/p&gt;

&lt;p&gt;🥞 &lt;strong&gt;Stack&lt;/strong&gt;&lt;br&gt;
AngularJS, Django, Java, PHP, Python, ReactJS&lt;/p&gt;

&lt;p&gt;🎯 &lt;strong&gt;Results&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More time to focus on code/innovation, without the need to hire dedicated DevOps staff&lt;/li&gt;
&lt;li&gt;Highly flexible resource allocation to handle heavier workloads&lt;/li&gt;
&lt;li&gt;Better able to optimize application performance through continuous profiling&lt;/li&gt;
&lt;li&gt;Greater efficiencies through fully automated deployments for all 4 applications based on GitOps via GitHub&lt;/li&gt;
&lt;li&gt;~ 60 production deployments/month&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 &lt;strong&gt;Read the full &lt;a href="https://upsun.com/blog/witty-works-case-study/" rel="noopener noreferrer"&gt;case study here&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>devops</category>
      <category>python</category>
    </item>
    <item>
      <title>[Tutorial 🧹] Limit deployments to Platform.sh only when Git tagged</title>
      <dc:creator>Celeste van der Watt</dc:creator>
      <pubDate>Mon, 08 Apr 2024 15:14:41 +0000</pubDate>
      <link>https://dev.to/platformsh/tutorial-limit-deployments-to-platformsh-only-when-git-tagged-2m4j</link>
      <guid>https://dev.to/platformsh/tutorial-limit-deployments-to-platformsh-only-when-git-tagged-2m4j</guid>
      <description>&lt;p&gt;Is it possible to only deploy to Platform.sh when a tag is pushed using a source code integration? 🤔&lt;/p&gt;

&lt;p&gt;The answer is: with our current source integrations, it's not, but it's also not impossible - and we'll show you how.&lt;/p&gt;

&lt;p&gt;Take advantage of your source code management system’s CI/CD platforms. Let's walk you through the steps of creating a GitHub workflow that only pushes your codebase to Platform.sh to deploy changes when a particular tag is pushed. &lt;/p&gt;

&lt;p&gt;Follow along with our tutorial: &lt;em&gt;'limit deployments to Platform.sh only when Git tagged'&lt;/em&gt; by reading the articles below 👇&lt;/p&gt;

&lt;p&gt;1️⃣ Start with &lt;strong&gt;&lt;a href="https://platform.sh/blog/guide-to-limit-deployments-to-platformsh-only-with-tags-part-one/?utm_source=devto&amp;amp;utm_medium=organic_social&amp;amp;utm_campaign=Platformshblog2024" rel="noopener noreferrer"&gt;part one here&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
2️⃣ Next check out &lt;strong&gt;&lt;a href="https://platform.sh/blog/guide-to-limit-deployments-to-platformsh-only-with-tags-part-two/?utm_source=devto&amp;amp;utm_medium=organic_social&amp;amp;utm_campaign=Platformshblog2024" rel="noopener noreferrer"&gt;part two here&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
3️⃣ End off with the final installment &lt;strong&gt;&lt;a href="https://platform.sh/blog/guide-to-limit-deployments-to-platformsh-only-with-tags-part-three/?utm_source=devto&amp;amp;utm_medium=organic_social&amp;amp;utm_campaign=Platformshblog2024" rel="noopener noreferrer"&gt;part three here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>git</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
