<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ryan's Online Notes]]></title><description><![CDATA[all about DevOps]]></description><link>https://blog.ryanrizky.com</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 12:08:23 GMT</lastBuildDate><atom:link href="https://blog.ryanrizky.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[AWS: Well-Architected Framework]]></title><description><![CDATA[What is
The AWS Well-Architected Framework helps us to understand the pros and cons of decisions we make while building systems on AWS.AWS has created the AWS Well-Architected Framework, which provide]]></description><link>https://blog.ryanrizky.com/aws-well-architected-framework</link><guid isPermaLink="true">https://blog.ryanrizky.com/aws-well-architected-framework</guid><category><![CDATA[Site Reliability Engineering]]></category><category><![CDATA[Devops]]></category><category><![CDATA[AWS]]></category><dc:creator><![CDATA[Ryan Rizky Diantoro]]></dc:creator><pubDate>Sun, 08 Mar 2026 09:48:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/68bdbc7ca63530b0e5be26df/99e41567-9166-4ffc-9954-039caa23082f.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>What is</h2>
<p>The AWS Well-Architected Framework helps us to understand the pros and cons of decisions we make while building systems on AWS.<br />AWS has created the AWS Well-Architected Framework, which provides a consistent set of best practices for us to evaluate architecture and provides a set of questions we can use to evaluate how well an architecture is aligned to AWS best practices.</p>
<p>The AWS Well-Architected Framework is based on six pillars.</p>
<ul>
<li><p><strong>Operational excellence</strong>: The ability to support development and run workloads effectively.</p>
</li>
<li><p><strong>Security</strong>: Describe how to take advantage of cloud technologies to protect data, systems, and assets in a way that can improve security posture.</p>
</li>
<li><p><strong>Reliability</strong>: The ability of a workload to perform its intended function correctly and consistently when it's expected to. This includes the ability to operate and test the workload through its total lifecycle.</p>
</li>
<li><p><strong>Performance efficiency</strong>: The ability to use computing resources to meet system requirements and to maintain that efficiency as demand and technology evolve.</p>
</li>
<li><p><strong>Cost optimization</strong>: The ability to run systems to deliver business value at the lowest price point.</p>
</li>
<li><p><strong>Sustainability</strong>: The ability to continually improve sustainability impact by reducing energy consumption and increasing efficiency across all components of a workload by maximizing the benefits from the provisioned resources and minimizing the total resources required.</p>
</li>
</ul>
<p>General Design Principles The Well-Architecture Framework identifies a set of general design principles to facilitate a good design in the cloud:</p>
<ul>
<li><p><strong>Stop guessing capacity needs</strong>: Poor capacity design when deploying a workload might end up on expensive idle resources or deal with the performance implications of limited capacity.</p>
</li>
<li><p><strong>Test systems at production scale</strong>: In the cloud, we can create a production-scale test environment on demand, complete our testing, and then decommission the resources.</p>
</li>
<li><p><strong>Automate with architectural experimentation in mind</strong>: Automation permits us to create and replicate our workload at low cost and avoid the expense of manual effort. We can track changes to our automation, audit the impact, and revert to previous parameters when necessary.</p>
</li>
<li><p><strong>Consider evolutionary architectures</strong>: In a traditional environment, architectural decisions are often implemented as static, onetime events, with a few major versions of a system during its lifetime. As a business and its context continue to evolve, these initial decisions might hinder the system's ability to deliver change by changing business requirements. In the cloud, the capability to automate and test on demand lowers the risk of impact design changes. This permits systems to evolve over time so that businesses can take advantage of innovations as a standard practice.</p>
</li>
<li><p><strong>Drive architecture using data</strong>: In the cloud, we can collect data on how your architectural choices affect the behavior of our workload. This lets us make fact-based decisions on how to improve our workload.</p>
</li>
<li><p><strong>Improve through game days</strong>: Test how our architecture and process perform by regularly scheduling game days to simulate events in production. This will help us understand where improvements can be made and can help develop organizational experience in dealing with events.</p>
</li>
</ul>
<h2>The Pillars of the framework</h2>
<p>Creating a software system is a lot like constructing a building. If the foundation is not solid, structural problems can undermine the integrity and functions of the building.</p>
<p>Incorporating these pillars into our architecture will help us to produce stable and efficient systems.</p>
<p>Pillars:</p>
<ul>
<li><p>Operational excellence</p>
</li>
<li><p>Security</p>
</li>
<li><p>Reliability</p>
</li>
<li><p>Performance efficiency</p>
</li>
<li><p>Cost optimization</p>
</li>
<li><p>Sustainability</p>
</li>
</ul>
<h3>Operational Excellence</h3>
<p>This contains best practice for organizing team, designing workload, operating it at scale, and evolving it over time</p>
<p><strong>Design principles</strong></p>
<ul>
<li><p>Organizing teams around business outcomes</p>
</li>
<li><p>Implement observability for actionable insight</p>
</li>
<li><p>Safely automate where possible</p>
</li>
<li><p>Make frequent, small, reversible changes</p>
</li>
<li><p>Refine operations procedures frequently</p>
</li>
<li><p>Anticipate failure</p>
</li>
<li><p>Learn from all operational events and metrics</p>
</li>
<li><p>Use managed services  </p>
<p><a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/oe-design-principles.html">Learn more</a></p>
</li>
</ul>
<h3>Security</h3>
<p>This pillar encompasses the ability to protect data, systems, and assets to take advantage of cloud technologies to improve our security.</p>
<p><strong>Design principles</strong></p>
<ul>
<li><p>Implement a strong identity foundation</p>
</li>
<li><p>Maintain traceability</p>
</li>
<li><p>Apply security at all layers</p>
</li>
<li><p>Automate security best practice</p>
</li>
<li><p>Protect data in transit and at rest</p>
</li>
<li><p>Keep people away from data</p>
</li>
<li><p>Prepare for security events</p>
<p><a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/sec-design.html">Learn more</a></p>
</li>
</ul>
<h3>Reliability</h3>
<p>This pillar encompasses the ability of a workload to perform its intended function correctly and consistently when it's expected to. This includes the ability to operate and test the workload through its total lifecycle.</p>
<p><strong>Design principles</strong></p>
<ul>
<li><p>Automatically recover from failure</p>
</li>
<li><p>Test recovery procedures</p>
</li>
<li><p>Scale horizontally to increase aggregate workload availability</p>
</li>
<li><p>Stop guessing capacity</p>
</li>
<li><p>Manage change through automation</p>
<p><a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/rel-dp.html">Learn more</a></p>
</li>
</ul>
<h3>Performance Efficiency</h3>
<p>This pillar includes the ability to use cloud resources efficiently to meet performance requirements and to maintain the efficiency as demand changes and technology evolves.</p>
<p><strong>Design principles</strong></p>
<ul>
<li><p>Democratize advance technologies</p>
</li>
<li><p>Go global in minutes</p>
</li>
<li><p>Use serverless architecture</p>
</li>
<li><p>Experiment more often</p>
</li>
<li><p>Consider mechanical sympathy</p>
<p><a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/perf-dp.html">Learn more</a></p>
</li>
</ul>
<h3>Cost Optimization</h3>
<p>This pillar includes the ability to run systems to deliver business value at the lowest price point.</p>
<p><strong>Design principles</strong></p>
<ul>
<li><p>Implement Cloud Financial Management</p>
</li>
<li><p>Adopt a consumption model</p>
</li>
<li><p>Measure overall efficiency</p>
</li>
<li><p>Stop spending money on undifferentiated heavy lifting</p>
</li>
<li><p>Analyze and attribute expenditure</p>
<p><a href="http://docs.aws.amazon.com/wellarchitected/latest/framework/cost-dp.html">Learn more</a></p>
</li>
</ul>
<h3>Sustainability</h3>
<p>This pillar focuses on environmental impacts, especially energy consumption and efficiency, since they are important levers for architects to inform direct action to reduce resource usage</p>
<p><strong>Design principles</strong></p>
<ul>
<li><p>Understand your impact</p>
</li>
<li><p>Establish sustainability goals</p>
</li>
<li><p>Maximize utilization</p>
</li>
<li><p>Anticipate and adopt new, more efficient hardware and software offerings</p>
</li>
<li><p>Use managed services</p>
</li>
<li><p>Reduce the downstream impact of your cloud workloads</p>
<p><a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/sus-design-principles.html">Learn more</a></p>
</li>
</ul>
<h2>Conclusion</h2>
<p>This framework provides architectural best practices across the six pillars for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems in the cloud.</p>
]]></content:encoded></item><item><title><![CDATA[Jogja DevDay 2025]]></title><description><![CDATA[Karena sudah lama tidak menulis, jadi kali ini saya mau berbagi pengalaman mengikut acara Jogja DevDay 2025.
Disclaimer, saya bukanlah seorang software developer. Saya mengikut acara ini karena tertar]]></description><link>https://blog.ryanrizky.com/pengalaman-mengikuti-jogja-devday-2025</link><guid isPermaLink="true">https://blog.ryanrizky.com/pengalaman-mengikuti-jogja-devday-2025</guid><category><![CDATA[software development]]></category><category><![CDATA[Software Engineering]]></category><dc:creator><![CDATA[Ryan Rizky Diantoro]]></dc:creator><pubDate>Wed, 05 Nov 2025 14:37:55 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/QFEhwobJeIc/upload/b17242fbb8401bdb3a11e83122bdcd35.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Karena sudah lama tidak menulis, jadi kali ini saya mau berbagi pengalaman mengikut acara Jogja DevDay 2025.</p>
<p>Disclaimer, saya bukanlah seorang software developer. Saya mengikut acara ini karena tertarik, ingin menambah wawasan terkait software development, pengen mengerti sudut pandang seorang software developer, dan pengen mendengarkan speaker-speaker hebat yang ada di acara tersebut.</p>
<h2>Berangkat</h2>
<p>Acara dimulai pada pukul 10:00 WIB, dan registrasi dimulai pukul 8:00 WIB. Untuk menghindari antrean panjang saat registrasi, saya berangkat lebih awal. Dan saya tiba di lokasi pada pukul kurang lebih 8:15.</p>
<p>Boom, ternyata saya terlalu cepat. Memang sudah banyak yang datang dan saya tidak perlu mengantre untuk registrasi. Tapi ini masih terlalu jauh untuk dari waktu acara dimulai, jadi saya punya cukup waktu untuk bengong yang lama 😂.</p>
<p>Saya agak bingung, karena saya sendirian. Jadi saya gunakan waktu untuk membuka laptop, membaca buku, sambil sesekali berjalan melihat-lihat lokasi kalau punggung sudah terasa capek.</p>
<p>Dan akhirnya acaranya dimulai.</p>
<h2>Acara Mulai</h2>
<p>Ada 2 event agenda. Main Forum dan Community Forum.</p>
<p>Saya tidak akan menceritakan semua yang saya dengar disini. Tapi saya akan menceritakan hal yang menarik bagi saya saja.</p>
<h3>Bikin AI Sendiri: from zero to hero</h3>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762353254482/3dc8a1bc-c0ba-4f66-8d43-f1c81fc4260f.jpeg" alt="" style="display:block;margin:0 auto" />

<p>Topik ini diisi oleh Pak Onno W. Purbo. Ya, Pak Onno. Semua orang IT pasti tahu tentang beliau.</p>
<p>Mirip seperti materi-materi di youtube, beliau menjelaskan mengenai AI, beliau juga berbagi mengenai buku-buku terkait AI untuk SMP, SMA &amp; SMK.</p>
<p>Kurang lebih penjelasanya hanya terkait apa yang sudah beliau praktekan untuk mengajar mengenai AI. Tidak banyak hal yang bisa saya share mengenai topik ini.</p>
<h3>Vibe Coding</h3>
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1762353347600/cfbf3d02-1a26-4e45-906b-7295fab2a2e4.jpeg" alt="" style="display:block;margin:0 auto" />

<p>Topik ini diisi oleh Rizqinofa Putra Muliawan.</p>
<p>Topik ini yang paling menarik perhatian saya. Selama penjelasan saya menulis poin-poin yang menurut saya penting dan bisa saya pelajari.</p>
<p>Topik ini memberikan sudut pandang baru mengenai cara coding menggunakan AI. Beberapa kali saya membuat program ataupun sekedar scripting dengan bantuan AI tapi tidak pernah memanfaatkan AI secara maksimal, saya hanya bertanya ke LLM. Misal: buat function untuk fitur A. Kemudian saya hanya copas, dan menyesuaikan beberapa hal yang kurang pas. Tapi Vibe Coding benar-benar memanfaatkan AI secara maksimal. Mulai dari planing sampai dengan coding-nya.</p>
<h2>Acara Selesai</h2>
<p>Selain 2 topik diatas, saya juga mengikut beberapa topik lain, tapi tidak saya tulis karena tidak begitu menarik buat saya.</p>
<p>Acaranya sampai sore, tapi saya tidak mengikutinya sampai selesai walaupun ada doorprize di akhir acara. Saya putuskan untuk pulang lebih awal.</p>
<h2>Apa yang saya dapatkan?</h2>
<p>Merchandise.</p>
<p>Tentu saja bukan cuma itu, saya mendapatkan banyak wawasan terutama terkait AI. Serta mengingatkan saya kembali betapa cepatnya perkembangan dunia IT. Ini menjadi bahan bakar saya untuk terus belajar jika ingin survive di bidang ini.</p>
]]></content:encoded></item><item><title><![CDATA[Automate Versioning and CHANGELOG Generation]]></title><description><![CDATA[Overview
Assume we have a service/app repository. We want to automate the versioning and CHANGELOG generation. How to achieve this? In this article, I will explain how to automate versioning and CHANG]]></description><link>https://blog.ryanrizky.com/automate-versioning-and-changelog-generation</link><guid isPermaLink="true">https://blog.ryanrizky.com/automate-versioning-and-changelog-generation</guid><category><![CDATA[Devops]]></category><category><![CDATA[SRE]]></category><dc:creator><![CDATA[Ryan Rizky Diantoro]]></dc:creator><pubDate>Sat, 11 Oct 2025 16:12:36 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/OHOU-5UVIYQ/upload/7b41ef7f5727571291d3e2fece936fa5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>Overview</h1>
<p>Assume we have a service/app repository. We want to automate the versioning and CHANGELOG generation. How to achieve this? In this article, I will explain how to automate versioning and CHANGELOG generation using <code>commit-and-tag-version</code>.</p>
<h1>Prerequisites</h1>
<ul>
<li><p>commit-and-tag-version</p>
</li>
<li><p>Git Repository</p>
</li>
</ul>
<h1>How to</h1>
<h2>Installing <code>commit-and-tag-version</code></h2>
<pre><code class="language-bash">npm i -g commit-and-tag-version
</code></pre>
<h2>Preparing Configuration files</h2>
<p>assume you already have git repository</p>
<ol>
<li><p>Create configuration file <code>.versionrc</code></p>
</li>
<li><p>Create <code>version.json</code> file.</p>
</li>
<li><p>Run first release</p>
</li>
<li><p>Test create commit</p>
</li>
<li><p>Run release</p>
</li>
</ol>
<p>example file <code>.versionrc</code> and <code>version.json</code></p>
<pre><code class="language-json">// .versionrc
{
  "packageFiles": [
    {
      "filename": "version.json",
      "type": "json"
    }
  ],
  "bumpFiles": [
    {
      "filename": "version.json",
      "type": "json"
    }
  ]
}
</code></pre>
<pre><code class="language-json">// version.json
{
    "version": "1.0.0"
}
</code></pre>
<h2>Run First Release</h2>
<pre><code class="language-bash">commit-and-tag-version --first-release
</code></pre>
<h2>Test Create Commit</h2>
<p>You can add a new file and then commit or create an empty commit. To create empty commit, you can follow this example command</p>
<pre><code class="language-bash">git commit --allow-empty -m "feat: add feature A"
</code></pre>
<h2>Run Release</h2>
<pre><code class="language-bash">commit-and-tag-version
</code></pre>
<p>After you run first release, you can see <code>CHANGELOG.md</code> file is created and <code>version.json</code> file is update.</p>
<p>If you want to read more about <code>commit-and-tag-version</code>, you can check the <a href="https://github.com/absolute-version/commit-and-tag-version">github repository</a>.</p>
]]></content:encoded></item></channel></rss>