<?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: Francois Akiki</title>
    <description>The latest articles on Forem by Francois Akiki (@francoisakiki).</description>
    <link>https://forem.com/francoisakiki</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%2F1144828%2Fb6420f79-f74c-4cd2-943d-8cb75cabb9d8.jpeg</url>
      <title>Forem: Francois Akiki</title>
      <link>https://forem.com/francoisakiki</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/francoisakiki"/>
    <language>en</language>
    <item>
      <title>Unlocking Efficiency: Exploring Churn Rate With Harness Software Engineering Insights (SEI)</title>
      <dc:creator>Francois Akiki</dc:creator>
      <pubDate>Fri, 15 Dec 2023 16:32:44 +0000</pubDate>
      <link>https://forem.com/harness/unlocking-efficiency-exploring-churn-rate-with-harness-software-engineering-insights-sei-37al</link>
      <guid>https://forem.com/harness/unlocking-efficiency-exploring-churn-rate-with-harness-software-engineering-insights-sei-37al</guid>
      <description>&lt;p&gt;Improving the effectiveness and productivity of developers is crucial for the success of an engineering team. To achieve this, the team should adopt a metric-driven approach to identify the root causes that scales down the team's productivity. Out of the many metrics that engineering leaders can use to understand an engineering team's productivity is Churn Rate. In this article, you'll learn how high churn rates can impact the team and how Harness SEI can help lower churn rates in your organization.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Churn Rate?
&lt;/h3&gt;

&lt;p&gt;In the context of software development, churn rate refers to the amount of work that is added or removed from a sprint backlog during a sprint. It measures the scope change and provides insights into the volatility of the sprint backlog.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A high churn rate indicates a lot of changes in the sprint backlog, which may result in delays in completing the sprint, and may also indicate that the requirements are not well-defined. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A low churn rate suggests that the sprint backlog is stable and the requirements are well-defined.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why Churn Rate Matters?
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Unveiling Sprint Volatility:
&lt;/h4&gt;

&lt;p&gt;Churn Rate acts as a window into the dynamic nature of your sprint backlog. By understanding the scope changes during a sprint, teams can identify and address volatility, fostering a more stable and predictable development environment.&lt;/p&gt;

&lt;h4&gt;
  
  
  Optimizing Workflows:
&lt;/h4&gt;

&lt;p&gt;SEI's Churn Rate empowers teams to optimize workflows by pinpointing areas of change mid-sprint. This insight allows for targeted strategies, ensuring that the development team can adapt swiftly and stay on course despite evolving project requirements.&lt;/p&gt;

&lt;h4&gt;
  
  
  Enhancing Collaboration:
&lt;/h4&gt;

&lt;p&gt;With Churn Rate, collaboration between product managers and engineers reaches new heights. The metric provides a common ground for discussions, enabling both teams to make informed decisions and align efforts seamlessly.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Formula Unveiled:
&lt;/h3&gt;

&lt;p&gt;Churn Rate = (Points added mid-sprint + Points removed mid-sprint + Positive difference of changes in planned issues) / Points committed at the start of the sprint&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Points added mid-sprint:&lt;/strong&gt; The sum of story points for items added during the sprint.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Points removed mid-sprint:&lt;/strong&gt; Identifies the reduction in story points due to the removal of items during the sprint.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Positive difference in planned issues:&lt;/strong&gt; Reflects the positive changes in story points for planned issues during the sprint.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zhuRwaZG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6577607b880250e437503018_DnbWQ9sCfn8fN87c0bRYMIqCWm3QX3JRt31XplF3U6ePmyj1xE_UGJm2aAd8R_K2iLwAZmQ0ELN01eqdWPfngtmYOcyqWQQHUigYaXyJ7_kANC3ObfAfoalyXtMsLWLFKwt8tmzJtWQNO3wra6yBoBA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zhuRwaZG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6577607b880250e437503018_DnbWQ9sCfn8fN87c0bRYMIqCWm3QX3JRt31XplF3U6ePmyj1xE_UGJm2aAd8R_K2iLwAZmQ0ELN01eqdWPfngtmYOcyqWQQHUigYaXyJ7_kANC3ObfAfoalyXtMsLWLFKwt8tmzJtWQNO3wra6yBoBA.png" alt="Measure scope change in your sprint using SEI's Churn Rate metric.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Measure scope change in your sprint using SEI's Churn Rate metric&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;h3&gt;
  
  
  Incorporating Churn Rate into SEI
&lt;/h3&gt;

&lt;p&gt;SEI seamlessly integrates Churn Rate into its comprehensive suite of metrics, leveraging the power of the Trellis Framework. As part of the 40+ third-party integrations, Churn Rate ensures that your software factory's performance is not just measured but optimized, setting the stage for unparalleled efficiency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unlocking Potential with SEI's Churn Rate
&lt;/h3&gt;

&lt;p&gt;In conclusion, Churn Rate emerges as a catalyst for transformative change in software development. SEI's commitment to providing actionable insights and workflow automation reaches new heights with this innovative metric. By understanding and harnessing Churn Rate, software delivery teams can not only increase productivity but also build a foundation for sustained excellence.&lt;/p&gt;

&lt;p&gt;In a world where adaptability is key, SEI's Churn Rate becomes the compass that guides your software engineering ship through the ever-changing seas of development, ensuring you not only navigate challenges but thrive in the face of change. Experience the power of Churn Rate with Software Engineering Insights – where productivity meets precision. &lt;/p&gt;

&lt;p&gt;Engineering teams can leverage Harness Software Engineering Insights to first baseline the people, processes and tooling bottlenecks and then drive a continuous improvement process. To learn more, schedule a &lt;a href="https://www.harness.io/demo/software-engineering-insights?utm_source=harness_io&amp;amp;utm_medium=cta&amp;amp;utm_campaign=sei&amp;amp;utm_content=blog"&gt;demo&lt;/a&gt; with our experts.&lt;/p&gt;

&lt;p&gt;‍Check out the original blog &lt;a href="https://www.harness.io/blog/harness-sei-churn-rate-insights?utm_source=pmm-adeeb-valiulla&amp;amp;utm_medium=zap&amp;amp;utm_content=blog"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>harness</category>
      <category>softwareengineeringinsights</category>
    </item>
    <item>
      <title>Introducing the Harness SRM Backstage Plugin</title>
      <dc:creator>Francois Akiki</dc:creator>
      <pubDate>Fri, 01 Dec 2023 04:53:28 +0000</pubDate>
      <link>https://forem.com/harness/introducing-the-harness-srm-backstage-plugin-3hg7</link>
      <guid>https://forem.com/harness/introducing-the-harness-srm-backstage-plugin-3hg7</guid>
      <description>&lt;p&gt;We are excited to introduce the latest addition to our suite of Open Source Backstage Plugins  - the &lt;a href="https://github.com/harness/backstage-plugins/tree/main/plugins/harness-srm"&gt;Harness SRM Backstage Plugin&lt;/a&gt;. This plugin is designed to seamlessly integrate with your &lt;a href="https://backstage.io/"&gt;Backstage Instance&lt;/a&gt; as well as with &lt;a href="https://www.harness.io/products/internal-developer-portal"&gt;Harness IDP&lt;/a&gt; to help with development team's workflow, ensuring that Service Level Objectives (SLOs) and error budgets are not just a metric but a part of your daily development practice.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JCE6QYjH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656818cc563e2d8583e323e4_H9ewF4T-RobPjO3l8oIgJqBwMpCq97LTwqUuzS0_0HppEUfdkDYYETkyNwC1tDXwOkoxcVn3NyfxkP7eApFlZF6jLAVVHopqlUIjBIIP6YxkiOH1voaPolRGCKKJIBdqnAvrfA8-CfDfr_UOuD7-B_I.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JCE6QYjH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656818cc563e2d8583e323e4_H9ewF4T-RobPjO3l8oIgJqBwMpCq97LTwqUuzS0_0HppEUfdkDYYETkyNwC1tDXwOkoxcVn3NyfxkP7eApFlZF6jLAVVHopqlUIjBIIP6YxkiOH1voaPolRGCKKJIBdqnAvrfA8-CfDfr_UOuD7-B_I.png" alt="" width="800" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Focus on SLOs?
&lt;/h2&gt;

&lt;p&gt;Good Site Reliability Engineering (SRE) practices hinge on the continuous monitoring and adherence to SLOs. These objectives are pivotal in maintaining the reliability and performance of services. However, in the fast-paced world of software development, it's often challenging for developers to continually engage with separate observability tools. This is where our plugin bridges the gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  Streamlining Observability
&lt;/h2&gt;

&lt;p&gt;The Harness SRM Backstage Plugin is more than just a tool; it's a solution to a common oversight in the development process. By aggregating SLO data from &lt;a href="https://www.harness.io/products/service-reliability-management"&gt;Harness Service Reliability Management&lt;/a&gt; Module, this plugin brings critical insights directly to the developers' dashboard. This integration means that your team no longer needs to switch contexts or platforms to monitor their SLOs.&lt;/p&gt;

&lt;h2&gt;
  
  
  High Availability of Adequate Information
&lt;/h2&gt;

&lt;p&gt;With this plugin, information about SLOs is not tucked away in a separate tool but is readily available in the Developer Portal. This accessibility ensures that your team is always aware of the current status of your services, leading to quicker responses and resolution if SLOs are at risk of being breached.&lt;/p&gt;

&lt;h2&gt;
  
  
  Empowering Developers
&lt;/h2&gt;

&lt;p&gt;By making SLO data readily available within the familiar environment of the Developer Portal, the Harness SRM Backstage Plugin empowers developers to take proactive steps in maintaining and improving service reliability. This approach not only enhances individual productivity but also fosters a culture of accountability and ownership within the team.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In summary, the Harness SRM Backstage Plugin will help with how development teams interact with and respond to SLOs. By integrating critical data into the daily workflow, it ensures that adhering to good SRE practices is not an additional task but a seamless part of the development process. &lt;/p&gt;

&lt;p&gt;‍&lt;a href="https://app.harness.io/auth/#/signup?utm_source=harness_io&amp;amp;utm_medium=cta&amp;amp;utm_campaign=platform&amp;amp;utm_content=main_nav"&gt;Signup&lt;/a&gt; today for SRM Module and start using the Plugin to experience the difference this plugin makes in your team's efficiency and the reliability of your services.&lt;/p&gt;

&lt;p&gt;‍Check out the original blog &lt;a href="https://www.harness.io/blog/announcing-the-harness-srm-backstage-plugin"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>backstage</category>
      <category>platformengineering</category>
      <category>devrel</category>
      <category>idp</category>
    </item>
    <item>
      <title>Harness Chaos Engineering Faults Landscape</title>
      <dc:creator>Francois Akiki</dc:creator>
      <pubDate>Tue, 28 Nov 2023 03:38:11 +0000</pubDate>
      <link>https://forem.com/harness/harness-chaos-engineering-faults-landscape-3h20</link>
      <guid>https://forem.com/harness/harness-chaos-engineering-faults-landscape-3h20</guid>
      <description>&lt;p&gt;Harness Chaos Engineering provides a library of chaos faults using which chaos experiments are constructed and run. It is simple and intuitive to construct the chaos experiments using the given set of chaos faults. Before we delve into the details of the faults, let's look at the anatomy of a chaos experiment and the role of the chaos faults in the chaos experiments.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Quick Review of a Chaos Fault and a Chaos Experiment&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A chaos fault is an actual fault or some distress injected around a system resource like CPU, Memory, Network, Time, IO system, Nodes, etc. A chaos experiment is an attempt to measure the resilience of a system when one or more chaos faults are run on it. In Harness Chaos Engineering, an experiment not only runs chaos faults, but it measures the resilience of the system in the context of the faults that were run. &lt;/p&gt;

&lt;p&gt;When a chaos experiment is completed running, it provides a “Resilience Score,” which indicates the resilience of the target system against the faults that are injected.  The Resilience Score is the % of successful steady state measurements measured during the chaos experiment execution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LPNoIcgq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65647a3e9d3cc9117ded993b_Diagram.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LPNoIcgq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65647a3e9d3cc9117ded993b_Diagram.png" alt="" width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Resilience Score of a Chaos Experiment&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A developer who is designing and implementing the chaos experiment controls the meaning of a Resilience Score. The higher the number of steady state checks or probes passed during the experiment execution, the more it contributes to the resilience score. The steady state measurements in Harness CE are done through the Resilience Probes. Many resilience probes can be attached to a fault. The more probes you add to the faults inside the experiment, the more realistic the resilience score of the experiment will become. &lt;/p&gt;

&lt;p&gt;The Resilience score of a chaos experiment = The percentage of successful resilience probes in the experiment. &lt;/p&gt;

&lt;h5&gt;
  
  
  Construction of a Chaos Experiment
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kFVXcLaY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65647a503b6d0722050208b1_Diagram-1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kFVXcLaY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65647a503b6d0722050208b1_Diagram-1.png" alt="" width="800" height="472"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Chaos Fault Landscape in Harness Chaos Engineering&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pxr19qxS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656461336f3be10641e5776b_k8s100.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pxr19qxS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656461336f3be10641e5776b_k8s100.png" alt="" width="103" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for Kubernetes Resources&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Runs via the Kubernetes Chaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All Pod related faults, Node faults, http faults, IO/database chaos, network faults and load chaos. These faults are certified for the cloud Kubernetes services like EKS, AKE and GKE as well as for the on-prem versions like RedHat OpenShift, SuSE Rancher and VMware Tanzu. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_2WDvzvJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564935b7ada5dccdaef53b0_vmware-logo%25201.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_2WDvzvJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564935b7ada5dccdaef53b0_vmware-logo%25201.png" alt="" width="100" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for VMWare Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the Kubernetes Chaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Chaos faults are either injected through the VCenter APIs or through the VMware Tools directly on the operating system running inside the VM. Some faults such as VM power off, VM disk detach and VM host reboot are performed at the VCenter Level. Most of the common faults related to CPU/Memory/IO/Disk stress, http, DNS and Network faults are performed through the operating system through VMware tools. All the common faults are supported for the VMs running on Linux or Windows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BdJoMhKp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65649397afdf081535406de0_linux%25201.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BdJoMhKp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65649397afdf081535406de0_linux%25201.png" alt="" width="85" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for Linux Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the dedicated LinuxChaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All faults related to resource stress, network and process. DNS error and spoof, Time Chaos and Disk are also supported. With ssh fault, network switches can also be targeted.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dWxOR7Me--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656493eb92bb635c59505b8c_windows%25201.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dWxOR7Me--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656493eb92bb635c59505b8c_windows%25201.png" alt="" width="100" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for Windows Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the Kubernetes Chaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All faults related to resource stress, network and process. Time Chaos and Disk fill are also supported. These are supported for Windows instances that are running on Azure, VMware and AWS.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L0UCuNCg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564941beef870b4d8643870_aws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L0UCuNCg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564941beef870b4d8643870_aws.png" alt="" width="167" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for AWS Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the Kubernetes Chaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Deep coverage in the chaos faults for EBS, EC2, ECS and Lambda. AZ down faults for NLB, ALB and CLB. Some faults for RDS. All Kubernetes faults are supported for EKS on AWS. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--S4JaNFvX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65649477034c7058303af959_Google-Cloud-Emblem%25201.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--S4JaNFvX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/65649477034c7058303af959_Google-Cloud-Emblem%25201.png" alt="" width="178" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for GCP Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the Kubernetes Chaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Faults for GCP VM disk and instance. All Kubernetes faults for GKE. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dchmwwa8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656494a7034c7058303b33ee_azure%25201.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dchmwwa8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656494a7034c7058303b33ee_azure%25201.png" alt="" width="100" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for Azure Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the Kubernetes Chaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Faults for Azure VM disk,  instance and web app. All Kubernetes faults for AKS. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Po9F--y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656495416409d78705c4b45e_pcf%25201.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Po9F--y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656495416409d78705c4b45e_pcf%25201.png" alt="" width="100" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for Cloud FoundryResources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the dedicated LinuxChaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Support is extended for Pivotal Cloud Foundry as well as any other Cloud Foundry versions. Faults for Cloud Found App like Delete App, remove routes to app, stop app, unbind service from app etc are supported.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w5Jl8J7M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656495a62063cb77507e7e60_springboot%25201.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w5Jl8J7M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/656495a62063cb77507e7e60_springboot%25201.png" alt="" width="100" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faults for Spring Boot Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Runs via the Kubernetes Chaos Infrastructure or Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supported Faults:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Chaos faults for Spring Boot Apps. App Kill, CPU Stress, Memory Stress, Latency, Exceptions and any chaos monkey fault as wrapper. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Harness Chaos Engineering supports a wide variety of chaos faults that spans across Operating systems, Cloud platforms and Kubernetes. These faults enable end users to verify the resilience of the code being deployed to the target systems or of the systems serving business critical applications. Check out all the Harness Chaos Faults on the &lt;a href="https://developer.harness.io/docs/chaos-engineering/technical-reference/chaos-faults/"&gt;Harness Developer Hub.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jvy0tcrZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564999d6b66127278d45303_HCE%2520200px.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jvy0tcrZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564999d6b66127278d45303_HCE%2520200px.png" alt="" width="383" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;](&lt;a href="https://app.harness.io/auth/#/signup?module=chaos&amp;amp;utm_source=harness_io&amp;amp;utm_medium=cta&amp;amp;utm_campaign=ce&amp;amp;utm_content=hero"&gt;https://app.harness.io/auth/#/signup?module=chaos&amp;amp;utm_source=harness_io&amp;amp;utm_medium=cta&amp;amp;utm_campaign=ce&amp;amp;utm_content=hero&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;‍&lt;a href="https://app.harness.io/auth/#/signup?module=chaos&amp;amp;utm_source=harness_io&amp;amp;utm_medium=cta&amp;amp;utm_campaign=ce&amp;amp;utm_content=hero"&gt;Sign up FREE&lt;/a&gt; to experience the ease of resilience verification using chaos experiments. Harness provides a free plan that enables you to run a few chaos experiments free of charge for unlimited time.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;‍Check out the original blog &lt;a href="https://www.harness.io/blog/harness-chaos-engineering-landscape"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cicd</category>
      <category>chaosengineering</category>
    </item>
    <item>
      <title>Start or Expand Your DevSecOps Education Journey - Introducing STO Developer Certification</title>
      <dc:creator>Francois Akiki</dc:creator>
      <pubDate>Tue, 28 Nov 2023 01:44:17 +0000</pubDate>
      <link>https://forem.com/harness/start-or-expand-your-devsecops-education-journey-introducing-sto-developer-certification-2b8g</link>
      <guid>https://forem.com/harness/start-or-expand-your-devsecops-education-journey-introducing-sto-developer-certification-2b8g</guid>
      <description>&lt;p&gt;As systems grow more distributed, complex, and critical to our daily lives the fog of development starts to set in; no one person has complete end to end visibility into the entire workings of a system. To combat the fog of development, dissemination of expertise across your pipelines is crucial. Security in an application and infrastructure context is a good model of this with the &lt;a href="https://www.harness.io/blog/devsecops-strategies-secure-applications"&gt;DevSecOps&lt;/a&gt; movement. &lt;/p&gt;

&lt;p&gt;Software development teams are becoming more tasked with shifting left requirements to produce hygienic software. In the real world, software ages like milk and not like wine, so what was hygienic today might not be hygienic tomorrow. Your CI/CD pipelines are conduits of change and are excellent spots to disseminate expertise and ensure compliance and standards to security posture. &lt;/p&gt;

&lt;p&gt;Harness’s &lt;a href="https://www.harness.io/products/security-testing-orchestration"&gt;Security Testing Orchestration or STO module&lt;/a&gt; is purpose built for your pipelines by orchestrating and prioritizing results from a multitude of scanning tools. Most organizations will have more than one scanning tool because tools can be granular or vertical in focus around a few pillars such as intent, language, and distribution. Because of the complexity of modern systems, everyone involved with the development of these systems should take a stake in helping secure these systems. &lt;/p&gt;

&lt;h2&gt;
  
  
  Security, Everyone’s Responsibility
&lt;/h2&gt;

&lt;p&gt;At Harness, we view security as an important skill to have, we are offering our STO Developer Certification for free so everyone can up-level their DevSecOps skills. Taking a &lt;a href="https://developer.harness.io/certifications/sto?lvl=developer"&gt;look at our study guide&lt;/a&gt;, will provide a great foundation around application vulnerability management. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4kFpuZSX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564babd68bf98666efe40d1_AthYlz6X34_eoD04EfwaM13Gu87vo0LT8mgzkH0IeITSoXykwScJFcVlE9xrv1Ra0DBf0_TRpgCM_e5rZfCiCFEgBa49UKcQaBOoMd5mGcAM6mcVMzPzT9ay7Mo9qfYMlRNSfTofoljzvxowYWPssWI.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4kFpuZSX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/6564babd68bf98666efe40d1_AthYlz6X34_eoD04EfwaM13Gu87vo0LT8mgzkH0IeITSoXykwScJFcVlE9xrv1Ra0DBf0_TRpgCM_e5rZfCiCFEgBa49UKcQaBOoMd5mGcAM6mcVMzPzT9ay7Mo9qfYMlRNSfTofoljzvxowYWPssWI.png" alt="STO Dev Cert Study Guide" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;STO Dev Cert Study Guide&lt;/p&gt;

&lt;p&gt;Because so many components are in modern software today, keeping up with the bill of materials / how components age can be tricky. Harness STO can help you identify and prioritize issues that do need to be addressed. Having Harness STO as part of your pipeline is a prudent capability and being certified in Harness STO is a great skill to have.&lt;/p&gt;

&lt;h2&gt;
  
  
  Study and Sign Up Today
&lt;/h2&gt;

&lt;p&gt;Getting certified at the developer level on Harness Security Testing Orchestration is a great milestone in your DevSecOps journey. Register for the exam from the &lt;a href="https://developer.harness.io/certifications/sto?lvl=developer"&gt;Harness Developer Hub&lt;/a&gt; once you feel comfortable taking the exam. &lt;/p&gt;

&lt;p&gt;-Harness Product Education Engineering Team&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;‍Check out the original blog &lt;a href="https://www.harness.io/blog/introducing-sto-developer-certification"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>devsecops</category>
    </item>
    <item>
      <title>Architecting for Cost Savings on BigQuery</title>
      <dc:creator>Francois Akiki</dc:creator>
      <pubDate>Thu, 16 Nov 2023 23:18:22 +0000</pubDate>
      <link>https://forem.com/harness/architecting-for-cost-savings-on-bigquery-2nf2</link>
      <guid>https://forem.com/harness/architecting-for-cost-savings-on-bigquery-2nf2</guid>
      <description>&lt;p&gt;&lt;em&gt;This blog was co-authored by Nikunj Badjatya, Principal Software Engineer and  Abhijeet Sharma, Senior Software Engineer at Harness.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;At Harness, we leverage our own products extensively in our software development lifecycle, as would be expected from a company such as ours. Our engineering team is responsible for our CCM software architecture, and has direct visibility into our production costs by team and by module (among other views), and we review our cloud costs regularly to find areas for optimization for both our product costs and product performance.  &lt;/p&gt;

&lt;p&gt;It was during one of these reviews that we began to see our BigQuery analysis costs rising beyond what we were expecting from our rapidly growing installed base. Our CCM product dashboards and reporting are built on top of BigQuery, so each time our users view dashboards or run reports, it consumes on-demand compute capacity (or compute slots by the new pricing), alongside the monthly charges for storing the cost data itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What led to starting the project?
&lt;/h2&gt;

&lt;p&gt;As the Harness CCM installed base has grown in both quantity and size of customers, we are seeing an increase in customers for whom we are ingesting GBs of cost data daily. As we began ingesting historical data for a major new customer, we were watching both our query and storage costs spike at an alarming rate. As you can see in the Perspective below, our BigQuery costs were up 73% over a 6 month period!&lt;/p&gt;

&lt;p&gt;Customers are getting more mature in their FinOps practices, expanding their reporting among product teams, so we were also seeing an increase in usage of our Perspectives and BI Dashboards. Bigger, longer term dashboard views led to larger and more frequent calls to BigQuery, which was also impacting our costs. For example, one customer wanted to see 2 years of cost data in a single dashboard view. That’s a high volume of data!  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MQdQCowI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/654add1037433594ef900f16_Big%2520Query%2520Historical%2520Costs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MQdQCowI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/654add1037433594ef900f16_Big%2520Query%2520Historical%2520Costs.png" alt="" width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Big Query Historical Costs&lt;/p&gt;

&lt;p&gt;The quantity of data was also beginning to impact the performance of our dashboards, as queries were taking longer and dashboard response times were slower, especially for customers with large datasets. Our customer experience is extremely important to us, so we knew we needed to take a hard look at our BigQuery structure to improve user experience, while also making a positive impact on our product’s bottom line. &lt;/p&gt;

&lt;h2&gt;
  
  
  BigQuery Pricing
&lt;/h2&gt;

&lt;p&gt;As an aside, when we started our project to optimize our database structure, we also needed to assess our transition to the new BQ Editions pricing, and how it would impact us. When we first introduced Harness CCM, on-demand compute pricing was the only available option, but Google introduced BQ Editions earlier this year, and given the growth of our dataset, it made sense to assess making a shift. &lt;/p&gt;

&lt;p&gt;This became an urgent change once Google announced a 25% increase in on-demand pricing, which would directly impact our bottom line. Our queries were growing in size of data retrieved, but we were looking relatively healthy for our slot usage as it’s billed in BQ Editions. So we made the switch, avoiding an immediate 25% cost increase!&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Engineering Team Thought
&lt;/h2&gt;

&lt;p&gt;As we brainstormed several different areas for improvement, we realized that we needed even more granular cost information by customer and use case, so we started by building a new BI dashboard to provide deeper insights into BQ costs by customer. This helped us segment BQ costs by customer size as well as activity levels, which allowed us to better characterize our cost drivers. &lt;/p&gt;

&lt;p&gt;After reviewing the data, the team determined that we would get the best improvements for both cost and performance if we tackled the following challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Flatten out nested labels to reduce UNNEST operations&lt;/li&gt;
&lt;li&gt;  Caching data in Looker with Persistent Data Tables&lt;/li&gt;
&lt;li&gt;  Review data ingestion frequency&lt;/li&gt;
&lt;li&gt;  Improve gatekeeping by license type&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Flattening Out Nested Labels
&lt;/h3&gt;

&lt;p&gt;We ingest customers labels from each of the cloud service providers our customers use, storing them in a BigQuery table as nested labels, as using nesting is a Google best practice to “denormalize data storage and increase query performance” while maintaining hierarchical relationships between labels.&lt;/p&gt;

&lt;p&gt;During our investigations we discovered two things: first, that label queries were the single biggest contributor to our BigQuery costs; and second, that the way we had originally implemented our label storage was causing a high amount of UNNEST calls, increasing both response times and data transfer costs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lS_eBA_Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/654add8467209578d91bcfe7_BigQuery%2520Label%2520Queries.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lS_eBA_Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/654add8467209578d91bcfe7_BigQuery%2520Label%2520Queries.png" alt="" width="800" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BigQuery Label Queries Driving Major Costs&lt;/p&gt;

&lt;p&gt;By flattening out how we store labels into a columnar format, we could eliminate the need for UNNEST calls which would improve both query performance and data transfer costs. This wasn’t a trivial change, but the effort yielded significant returns for us. We not only improved our immediate cost concerns, but ensured that this part of our database architecture was ready to handle the acceleration of customers adopting Harness CCM.&lt;/p&gt;

&lt;h3&gt;
  
  
  Looker Persistent Data Tables
&lt;/h3&gt;

&lt;p&gt;Our customer facing Business Intelligence (BI) dashboards are powered by Looker, so that customers have a powerful BI tool at their fingertips for analyzing cloud costs. When we discovered that label queries were driving so much of our BQ costs, we realized that we could reduce a portion of that workload by caching data within Looker by using their persistent data tables (PDT).&lt;/p&gt;

&lt;p&gt;We started by implementing them manually for our biggest customers in terms of dashboard usage to assess the impact on query costs and performance. It made a material impact on the frequency of BQ retrievals, so the next step is to automate the creation of PDTs when customers reach a certain threshold of dashboard usage within their account. &lt;/p&gt;

&lt;h3&gt;
  
  
  Review Data Ingestion Frequency
&lt;/h3&gt;

&lt;p&gt;We always want to provide the most up to date information for our customers, so we pull cost data from the cloud providers multiple times per day to give our customers the most up to date costs. However, as part of this inquiry, we took a look at exactly how often customers themselves were looking at this data, whether through directly accessing the Harness console, or by sending automated, scheduled reports via email or Slack. &lt;/p&gt;

&lt;p&gt;We realized that we had anticipated a use case that no one actually needed. Reports are generally sent weekly, or at most every day or two. Our own anomaly detection generally runs once per day well. So we were ingesting data (with the associated data transfer fees to BQ), more often than was needed / wanted, running up our own cloud bills unnecessarily. &lt;/p&gt;

&lt;p&gt;We decided that once per day data ingestion from the cloud providers fit the actual use case our customers wanted. Implementing this change contributed a fair amount to our cost reduction efforts. &lt;/p&gt;

&lt;h3&gt;
  
  
  Improve Gatekeeping by License Type
&lt;/h3&gt;

&lt;p&gt;Gatekeeping is easily one of the most impactful, but sometimes neglected, tasks for managing data, and as we reviewed our dashboards by customer usage, we realized that we were retrieving data into BigQuery that didn’t need to be. &lt;/p&gt;

&lt;p&gt;For context, only our Enterprise license customers have access to our BI Dashboards feature for advanced analytics. Anyone using our Free tier, free trial, or engaged in a proof of value (POV) can’t access the BI Dashboards in our console. But we weren’t gatekeeping the data ingestion for our non-paid customers, and were ingesting data that wouldn’t be used.&lt;/p&gt;

&lt;p&gt;Implementing a license check prior to ingesting data into BigQuery for Looker reduced the amount of data we were storing, which in turn also reduced our data ingestion fees for our existing customers. More importantly, it is also cost avoidance for the future, especially as our POV activity continues to grow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Results Speak for Themselves!
&lt;/h2&gt;

&lt;p&gt;After we implemented all of these BigQuery architectural changes, we were very pleased to share with the company that we had &lt;strong&gt;reduced our direct BigQuery costs by nearly 45%&lt;/strong&gt;, while improving dashboard performance for our customers, especially our largest customers with large datasets. And don’t forget that we also had an indirect 25% savings by moving over to BQ Editions pricing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QCRh7YL2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/654ade0d0db28c1f70f7091f_BigQuery%2520image%25202.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QCRh7YL2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/654ade0d0db28c1f70f7091f_BigQuery%2520image%25202.png" alt="" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cost Savings After BigQuery Architecture Changes&lt;/p&gt;

&lt;p&gt;These changes were critical for us as we continue to grow and scale our customer base. We’re now in a better position to keep our BQ costs in control, while giving our customers a better user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;This exercise involved numerous technical discussions within our internal teams, several different POCs to prove our theories and test changes, as well working closely with the Google BigQuery team to drive the correct implementation. Without a concentrated effort on the larger groups part, this change wouldn’t have been as successful as it is. We are very appreciative of the work that everyone involved put into this project. &lt;/p&gt;

&lt;p&gt;This was just one example of BigQuery architecture changes that can be made to reduce cloud costs and improve performance. You can read about more cloud cost savings strategies we implemented a few years ago in &lt;a href="https://www.google.com/url?q=https://www.harness.io/blog/bigquery-wasted-cloud-spend?utm_medium%3Dblog%26utm_source%3Dinternal%26utm_content%3Darchitecting-for-big-query-costs&amp;amp;sa=D&amp;amp;source=docs&amp;amp;ust=1699408423106022&amp;amp;usg=AOvVaw17G53DgHDJr1hE3y7oy9mS"&gt;this blog&lt;/a&gt;. If you want to learn more about Harness Cloud Cost Management, &lt;a href="https://www.harness.io/products/cloud-cost?utm_medium=blog&amp;amp;utm_source=internal&amp;amp;utm_content=architecting-for-big-query-costs"&gt;read about it here&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

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

&lt;p&gt;&lt;em&gt;Editors Note: This is one of a new series of blogs that are focused on how Harness Cloud Cost Management users are “Architecting for Cost Savings”, highlighting their experiences where cloud architectural decisions and changes have positively impacted cloud costs. Other blog posts in the series:&lt;/em&gt; &lt;a href="https://www.harness.io/blog/architecting-for-cost-savings-at-tyler-technologies?utm_medium=blog&amp;amp;utm_source=internal&amp;amp;utm_content=architecting-for-big-query-costs"&gt;&lt;em&gt;Architecting for Cost Savings at Tyler Technologies&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;‍Check out the original blog &lt;a href="https://www.harness.io/blog/architecting-for-cost-savings-on-bigquery?utm_source=pmm-francois-akiki&amp;amp;utm_medium=zap&amp;amp;utm_content=blog"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>harness</category>
      <category>costoptimization</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Adventures at MagnoliaJS</title>
      <dc:creator>Francois Akiki</dc:creator>
      <pubDate>Mon, 06 Nov 2023 18:56:54 +0000</pubDate>
      <link>https://forem.com/harness/adventures-at-magnoliajs-402d</link>
      <guid>https://forem.com/harness/adventures-at-magnoliajs-402d</guid>
      <description>&lt;p&gt;Last week I had the great pleasure to speak at a very intimate developer community event in Jackson, Mississippi. The event I spoke at is called &lt;a href="https://www.magnoliajs.com"&gt;MagnoliaJS&lt;/a&gt;. MagnoliaJS is ran by two great community ambassadors, &lt;a href="https://twitter.com/_KaylaSween"&gt;Kayla&lt;/a&gt; &amp;amp; &lt;a href="https://twitter.com/_RichardSween"&gt;Richard Sween&lt;/a&gt;, as well as a great group of volunteers. This year the event was Halloween themed. There were decorations outside the venue, as well as spooky coffee cups, various Halloween candy scattered about, and even speakers and attendees in costumes.&lt;/p&gt;

&lt;p&gt;This year's event I did not plan accordingly lol. You would think that the horror fan would have had his stuff together…nope. There was a Spirit Halloween nearby but I felt that next year I could plan better and just talk up my idea to the community. Be on the lookout for what Kayla and I have cooking up.&lt;/p&gt;

&lt;h2&gt;
  
  
  ‍&lt;strong&gt;Day One&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Day one of the event was everything you could ask for. The day kicked off with opening remarks by the one and only, &lt;a href="https://twitter.com/KennethLafrance"&gt;Kenneth LaFrance&lt;/a&gt;. When I say the one and only, I mean he is Kenough! IYKYK lol. Following Ken’s opening remarks, &lt;a href="https://twitter.com/tdesseyn"&gt;Taylor Desseyn&lt;/a&gt; from &lt;a href="https://gun.io/"&gt;Gundot.io&lt;/a&gt; opened up with content creation&lt;/p&gt;

&lt;p&gt;The day was filled with great speakers from &lt;a href="https://twitter.com/fimion"&gt;Alex Riviere&lt;/a&gt; with their talk on design systems, to &lt;a href="https://twitter.com/blackgirlbytes"&gt;Rizel Scarlett&lt;/a&gt; with an AMAZING talk on breaking down barriers through the use of emerging tech. Rizel is a Staff Developer Advocate at &lt;a href="https://tbd.com/"&gt;TBD&lt;/a&gt;. Make sure you attend a session of theirs if you ever get a chance.&lt;/p&gt;

&lt;p&gt;Throughout the day we had talks from &lt;a href="https://twitter.com/karlgroves"&gt;Karl Groves&lt;/a&gt;, speaking on accessibility, to &lt;a href="https://twitter.com/devpato"&gt;Pato Vargas&lt;/a&gt; displaying immense knowledge on simplifying your codebase with React monorepos. If you get a chance to watch Karl deliver his accessibility talks, and Pato literally talk about anything, don’t sleep on it. Trust me.&lt;/p&gt;

&lt;p&gt;Taylor closed out the event with another great talk. Taylor is the former Managing Director of Global Solutions at &lt;a href="https://www.vaco.com/"&gt;Vaco&lt;/a&gt;. Now Taylor is at Gun.io as a Talent Advocate. To sum up his talk, the abstract below explains it all.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a checklist that every leader in an organization needs to check out to be successful in scaling their company when it comes to hiring.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  ‍&lt;strong&gt;Day Two&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Day two kicked off like day one with opening remarks from Ken LaFrance. Ken gave yours truly an incredible introduction as I kicked off the conference. I delivered my talk on the relationship between ROI (return on investment) and a11y (accessibility). Of course I opened up with who I was, my role at Harness, and what we do at Harness. I can safely say that 99% of my audience now knows who Harness is and what we are all about. It was eye opening.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/modupedan"&gt;Mo Daniel&lt;/a&gt; gave their VERY FIRST talk ever. Mo is one of the nicest people I have met in my life. Their talk really hit home when it came to learning. They ended their talk with a positive affirmation and we all stood and clapped for an amazing performance.&lt;/p&gt;

&lt;p&gt;I joined in on a talk where I did a voice over as a sea captain along with &lt;a href="https://twitter.com/AbbeyPerini"&gt;Abbey Perini&lt;/a&gt; and &lt;a href="https://twitter.com/nerajno"&gt;Nerando Johnson&lt;/a&gt;. That was a blast to do. My friend &lt;a href="https://twitter.com/marktnoonan"&gt;Mark Noonan&lt;/a&gt;, Senior Software Engineer at &lt;a href="https://www.cypress.io/"&gt;Cypress&lt;/a&gt;, delivered a talk on front end testing. And we all did voices as characters throughout the talk. I even dropped a Jaws reference and luckily most of the audience got it.&lt;/p&gt;

&lt;p&gt;There were a handful of great talks over the two days of the event. I wish I could cover them all here. &lt;a href="https://twitter.com/toddlibby"&gt;Todd Libby&lt;/a&gt; closed it out with his accessibility talk on Deceptive Patterns &amp;amp; FAST. And in his Halloween, East Coast fashion, he came out of the entrance where the kitchen is, dressed in a Lobster costume and uttered the words, “man is it hot in there!”&lt;/p&gt;

&lt;p&gt;If you get a chance to attend or speak at MagnoliaJS, definitely do it. Great people, great talks, great community.&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Social image and cover image from the&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://twitter.com/MagnoliaJSconf"&gt;&lt;strong&gt;&lt;em&gt;MagnoliaJS Twitter&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;em&gt;. All images below are from myself or community members.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PNekqO3m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab3866a9c78cc1686d8a7_x0B0hwEeVc1tVqX5FJhClKoXadS08vtZT1LhER3AFEOmcuIU2-lkmzK0wkgD_VTQLhZvggZkLsP41p8D6Htszfnb7_Cgi3JGTTz2zzSZ7oDFp4z2uD8yU-LKv-5dJ2wkMj77DLnTABCqWvOzpAZjg1E.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PNekqO3m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab3866a9c78cc1686d8a7_x0B0hwEeVc1tVqX5FJhClKoXadS08vtZT1LhER3AFEOmcuIU2-lkmzK0wkgD_VTQLhZvggZkLsP41p8D6Htszfnb7_Cgi3JGTTz2zzSZ7oDFp4z2uD8yU-LKv-5dJ2wkMj77DLnTABCqWvOzpAZjg1E.jpeg" alt="Rizel Scarlett on stage at MagnoliaJS." width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3aglh6_W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab38601e131907daef986_7vhazW2RrDka4pAMIbkW2fcUEu2wjxfrQt9AvdsW2jTryGjcTj1qx8XSC3liG0ECxgJ98_vIwqa8S6-xShNLmxV4iiQaOx3eLCa-PKnvpRO3ya0gkFrI0ICcGYcMQYVzTa72pu69hJIYV-Iac_Hb14w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3aglh6_W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab38601e131907daef986_7vhazW2RrDka4pAMIbkW2fcUEu2wjxfrQt9AvdsW2jTryGjcTj1qx8XSC3liG0ECxgJ98_vIwqa8S6-xShNLmxV4iiQaOx3eLCa-PKnvpRO3ya0gkFrI0ICcGYcMQYVzTa72pu69hJIYV-Iac_Hb14w.jpeg" alt="Ken LaFrance introducing Angie Jones at MagnoliaJS" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D327Bac4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386437c1dad6175abf9_dsf4TucXh_LgS03p1OT6vLtbFI8r_wiENysIHY7N5F8bUEhYD_fBG0XuZ1RCBfDiu4ujbXTJv6iD6hFz6i5wENOozY2X0pfMF2nOY3xkj7NtEmT7y7mVaSo1QyQnRIy9QDGGhu-tR0Zo2vQzP6Ylwbs.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D327Bac4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386437c1dad6175abf9_dsf4TucXh_LgS03p1OT6vLtbFI8r_wiENysIHY7N5F8bUEhYD_fBG0XuZ1RCBfDiu4ujbXTJv6iD6hFz6i5wENOozY2X0pfMF2nOY3xkj7NtEmT7y7mVaSo1QyQnRIy9QDGGhu-tR0Zo2vQzP6Ylwbs.jpeg" alt="Me taking a selfie with the fake skeleton at MagnoliaJS" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zy45UwcX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab38658c622471c5e7463_dIg8wOVE9_F1YJtZ8s_oYdAE5pWmFurf_ekBLKgVDZDay2fLXgb4OMJMDdjcBj0zoydOn-2ZixrJOyKr5ljseqVF_ikj1aG8sGfo6LMSVnMxo62JJAglPaqt5UFFOoYBKPrTrbfvtMwY6IRJnvAy0KQ.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zy45UwcX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab38658c622471c5e7463_dIg8wOVE9_F1YJtZ8s_oYdAE5pWmFurf_ekBLKgVDZDay2fLXgb4OMJMDdjcBj0zoydOn-2ZixrJOyKr5ljseqVF_ikj1aG8sGfo6LMSVnMxo62JJAglPaqt5UFFOoYBKPrTrbfvtMwY6IRJnvAy0KQ.jpeg" alt="Kicking off day two at MagnoliaJS." width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XLtAm57y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab3861600c435e80e3eef_avCm5JsGW4y9sYRm7798e383giJqPlEyTdePYSUdKUTwK0Xuj_j_ls8FRgz5j5VO9ak4aWoE6NNrXE7_8ah_3v3xTp4bbwYAbHY2TjE1P5hI0vsIrtG_r1yIXEfYpkncbtE8dwXnXA1bkiuyYOV_FIs.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XLtAm57y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab3861600c435e80e3eef_avCm5JsGW4y9sYRm7798e383giJqPlEyTdePYSUdKUTwK0Xuj_j_ls8FRgz5j5VO9ak4aWoE6NNrXE7_8ah_3v3xTp4bbwYAbHY2TjE1P5hI0vsIrtG_r1yIXEfYpkncbtE8dwXnXA1bkiuyYOV_FIs.jpeg" alt="Halloween decorations outside the venue at MagnoliaJS" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bDTEaMCN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386e981d1eb0dac8a49_-81xkORE6po_pPzpLsf2PPz74W5stypS_685aBlNpScVgXQs9RyibM30AdTpVc8IuitUV5CeVZZboSrA99fHGKHo0pvW_9S1rF8gSJd6QZhRfk0wvAqlXSZCvyLtnAwW2oLlPeNqLd9euDvxAJVywsk.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bDTEaMCN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386e981d1eb0dac8a49_-81xkORE6po_pPzpLsf2PPz74W5stypS_685aBlNpScVgXQs9RyibM30AdTpVc8IuitUV5CeVZZboSrA99fHGKHo0pvW_9S1rF8gSJd6QZhRfk0wvAqlXSZCvyLtnAwW2oLlPeNqLd9euDvxAJVywsk.jpeg" alt="Picture with Mo Daniel and I at MagnoliaJS" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X2xEBn7p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386e0023ef72d75a306_rtta2VVNjtLRCKeM3Yzv70-0bUQDEy3nAYhIuTReXBKP3XuwV0GGrcIWuK7iKs05REJbV0raohQUwVzOBzhvnQyy2OcDTOGDkDYK3TAGgi9OWwHM7xMMJse-cw5U3p6AFXzFwSoJ9UcAWmRLS0WluwI.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X2xEBn7p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386e0023ef72d75a306_rtta2VVNjtLRCKeM3Yzv70-0bUQDEy3nAYhIuTReXBKP3XuwV0GGrcIWuK7iKs05REJbV0raohQUwVzOBzhvnQyy2OcDTOGDkDYK3TAGgi9OWwHM7xMMJse-cw5U3p6AFXzFwSoJ9UcAWmRLS0WluwI.jpeg" alt="Michael Liendo giving his talk at MagnoliaJS" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--85d0QRm4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab3869c6a6afcab4c216a_4t3rOk5VTJ2p8hsDIZ2OOPJUJHGjdZulH7lB310VM1ZEn6MAudyNBev915B5xlFAnRfdYvXIb578Pkrze8hf6zNyzPzyXvXOR8y3cyQFhNu7oIT37xN-Eo8cMBjtG_7DEwGrGS9MJayFiljkrGKLadk.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--85d0QRm4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab3869c6a6afcab4c216a_4t3rOk5VTJ2p8hsDIZ2OOPJUJHGjdZulH7lB310VM1ZEn6MAudyNBev915B5xlFAnRfdYvXIb578Pkrze8hf6zNyzPzyXvXOR8y3cyQFhNu7oIT37xN-Eo8cMBjtG_7DEwGrGS9MJayFiljkrGKLadk.jpeg" alt="My behind the podium at MagnoliaJS." width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8Cusq2UZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386edabe844481e744f_vM94Q1G6O2E0F_nmvrqnqNbewMKCJgMRZlD75L_f8UyO_1ldkitdTeTy_1K2w2NfWBw0JROUPnfrzfIRgaQAvgvlxpkht7vi12up3smqNnIoB-yaz2fihnEFsML1iSuiwKt-CjTsnevY4d7itzxJwJE.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8Cusq2UZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab386edabe844481e744f_vM94Q1G6O2E0F_nmvrqnqNbewMKCJgMRZlD75L_f8UyO_1ldkitdTeTy_1K2w2NfWBw0JROUPnfrzfIRgaQAvgvlxpkht7vi12up3smqNnIoB-yaz2fihnEFsML1iSuiwKt-CjTsnevY4d7itzxJwJE.jpeg" alt="Todd Libby dressed up as a lobster during his talk at MagnoliaJS" width="800" height="1067"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O88tVFyD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab38698fe2da77d93c9ef_pGBwRDO280i6sExuFTQTobiaQpk6YstTVQObRXz5B-mv7UxMG4ne6-VrykPHqcT-1sWdZsBbYp2WHMGDCTL6cU2JM0g_5b07XsDqKwVLmGqlqqG3Fi5DApCc14GEwDKZz5NqkbSDcVuEmlobJ7spZH8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O88tVFyD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://assets-global.website-files.com/622642781cd7e96ac1f66807/653ab38698fe2da77d93c9ef_pGBwRDO280i6sExuFTQTobiaQpk6YstTVQObRXz5B-mv7UxMG4ne6-VrykPHqcT-1sWdZsBbYp2WHMGDCTL6cU2JM0g_5b07XsDqKwVLmGqlqqG3Fi5DApCc14GEwDKZz5NqkbSDcVuEmlobJ7spZH8.jpeg" alt="Virtual coffee selfie at MagnoliaJS with myself, Mark Noonan, Kayla Sween, Nerando Johnson, Abbey Perini, Todd Libby, and Dan Ott." width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;‍Check out the original blog &lt;a href="https://dev.to/harness/adventures-at-magnoliajs-402d?utm_source=pmm-francois-akiki&amp;amp;utm_medium=devto&amp;amp;utm_content=blog"&gt;here&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;‍&lt;/p&gt;

</description>
      <category>devops</category>
      <category>harness</category>
    </item>
  </channel>
</rss>
