<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pages on Digi Hunch</title><link>https://www.digihunch.com/pages/</link><description>Recent content in Pages on Digi Hunch</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><lastBuildDate>Wed, 02 Apr 2025 19:40:39 -0400</lastBuildDate><atom:link href="https://www.digihunch.com/pages/index.xml" rel="self" type="application/rss+xml"/><item><title>Container Platform</title><link>https://www.digihunch.com/container-platform/</link><pubDate>Sun, 22 Oct 2023 14:48:54 -0400</pubDate><guid>https://www.digihunch.com/container-platform/</guid><description>&lt;img src="https://www.digihunch.com/wp-content/uploads/2025/04/menu-container-platform.webp" alt="Featured image of post Container Platform" /&gt;&lt;p class="wp-block-paragraph"&gt;Virtualization enables multi-tenancy, and containerization takes it further. Container allows for running many more service processes. Container introduces another layer of orchestration, calling for a platform of its own, which is capable of managing the lifecycle of thousands of containers. This makes it a bit more work, to releasing and operate containerized applications, due to the container platform layer, sitting between the application and the operating systems.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Kubernetes Cluster&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Kubernetes has emerged as the de-facto standard of container platform. Building a Kubernetes cluster with a cloud service provider requires configuring a number of disjointed services to work together. A functional and scalable cluster is the foundation of a robust container platform. Make sure the design of Kubernetes cluster is solid.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Kubernetes Storage&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Kubernetes was designed around the idea that Pods are ephemeral and so are their attached storage volumes. Now Kubernetes supports persistent storage but there are many nuances to consider before landing on a CSI-based storage solution.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Kubernetes Networking&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Containerization favours microservice architecture. Cluster design needs to decides on a CNI to enable Pod-to-pod communication. Further, a container platform needs to address application networking requirement using network policy, service mesh or similar technologies.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Cloud Native Workload&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;a href="https://www.cncf.io/"&gt;CNCF&lt;/a&gt; promotes its own ecosystem for cloud native workload. Teams who move their applications to Kubernetes platform often have to reconsider the associated toolings. These teams need extensive investigation of available cloud native toolings. &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;More on Container Platform&lt;/h2&gt;&#10;&lt;ul class="display-posts-listing"&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2020/10/host-legacy-application-in-docker-2-of-2/"&gt;Host legacy application in Docker 2 of 2&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;My previous notes include some tricks in hosting legacy application in docker. This is a continuation from that work, after 1.5 months... Use Case I decided to use docker to host application for a good reason, and let me start with what this Java-based application does as a single process.&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2020/09/host-legacy-application-with-docker-compose/"&gt;Host legacy application in Docker 1 of 2&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;This is my notes from containerizing a legacy application with Docker compose. We have to run multiple instances of our application because we're unable to secure additional VMs for this single-VM education environment. The application is target of containerization, because it requires mass reconfiguration (around TCP port) to run multiple&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Contact &lt;a href="https://www.digihunch.com/contact/"&gt;Digi Hunch&lt;/a&gt; for Professional Services.&lt;/p&gt;&#10;</description></item><item><title>Cloud Platform</title><link>https://www.digihunch.com/cloud-platform/</link><pubDate>Sun, 22 Oct 2023 14:48:43 -0400</pubDate><guid>https://www.digihunch.com/cloud-platform/</guid><description>&lt;img src="https://www.digihunch.com/wp-content/uploads/2025/04/menu-cloud-platform.webp" alt="Featured image of post Cloud Platform" /&gt;&lt;p class="wp-block-paragraph"&gt;Cloud is a delivery model of computing services over remote network. This model is enabled by virtualization technology and features a pay-as-you-go pricing plan for computing services. Public cloud providers are equipped with virtually unlimited capacity and are operating a broad suite of managed services. In the design of a cloud platform, we look at the five pillars in the well-architected framework: &lt;strong&gt;operational excellence, security, reliability, performance efficiency, and cost optimization&lt;/strong&gt;. Through these lens, we mainly look at these areas:&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Cloud landing zone&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;A successful cloud platform enables application teams to focus on business requirement. The backbone of a cloud platform is a landing zone, which typically addresses security, networking and compliance requirement of the organization&amp;#8217;s IT footprint in the cloud. Both &lt;a href="https://www.digihunch.com/2023/09/orchestrate-landing-zone-with-landing-zone-accelerator-on-aws/"&gt;AWS&lt;/a&gt; and &lt;a href="https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/"&gt;Azure&lt;/a&gt; have guidelines of multiple options to deploy landing zones.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Storage design&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Enterprise applications often have specific requirements on IOPS and throughput. Selecting a storage service in a cloud platform, must also consider the high availability, disaster recovery and cost efficiency. &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Networking design&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Networking design has profound impact on the security posture and must be well thought out. It sets the foundation of high availability and fault tolerance. Also, how traffic flows in and out the system significantly affect the cost.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Infrastructure as code&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;There have been three categories of infrastructure as code, those based on markup language (ARM, CloudFormation), those based on general-purpose programming language (Pulumi, AWS CDK), and those based on Domain Specific Language (Terraform, Bicep). They have different levels of flexibility and different skill requirement. &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;More on cloud platform&lt;/h2&gt;&#10;&lt;ul class="display-posts-listing"&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2024/07/iam-roles-for-any-workload/"&gt;IAM Roles for any workload&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Background A few month back a client of mine wanted to use GitLab pipeline to deploy infrastructure on AWS with Terraform. The key question is how to authenticate the Terraform process running in the pipeline to AWS with temporary credential. Having worked it out on GitHub, my proposal at time&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2023/10/the-systems-manager-hodgepodge/"&gt;AWS Systems Manager is an Omnipotent Hodgepodge&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Introduction to Systems Manager AWS Systems Manager addresses a lot of SysOps requirements for configuration management, including server automation. In this domain, there is another AWS service called OpsWorks. However, with OpsWorks Stack, OpsWorks Chef and OpsWorks Puppet all coming EOL in 2024, the entire OpsWorks service is mostly deprecated.&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2022/02/istio-external-authorization/"&gt;Istio External Authorization via OIDC&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Istio service mesh allows application developers to offload non-core features to infrastructure layer. We explored authentication and authorization with Istio in a basic lab. In this post we continue to explore its capabilities with OIDC integration. This capability is made available thanks to the CUSTOM action in authorization policy, supported&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2021/12/aks-lessons-learned-2-of-2/"&gt;AKS Lessons Learned 2 of 2&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Even though Azure Kubernetes Service (AKS) is a managed service, building a cluster is not trivial. For help resources, I would start with the webinar "Configure Your AKS cluster with Confidence" from April 2021, which focuses on a set of working best practices (convention over configuration) but obviously not every&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2021/12/aks-troubleshooting-lessons-learned/"&gt;AKS Lessons Learned 1 of 2&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;In general, troubleshooting Kubernetes is tricky. That is because one has to get in and out of pods. I took two days to troubleshoot some networking issues with private AKS cluster. For the amount of of tricks I had to employ, I need to take some notes. The issue After&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Contact &lt;a href="https://www.digihunch.com/contact/"&gt;Digi Hunch&lt;/a&gt; for Professional Services.&lt;/p&gt;&#10;</description></item><item><title>Services</title><link>https://www.digihunch.com/professional-services/</link><pubDate>Sun, 22 Oct 2023 14:48:23 -0400</pubDate><guid>https://www.digihunch.com/professional-services/</guid><description>&lt;img src="https://www.digihunch.com/wp-content/uploads/2025/04/menu-services.webp" alt="Featured image of post Services" /&gt;&lt;p class="wp-block-paragraph"&gt;Hunch Digital Services delivers professional IT services in platform engineering, which focuses on non-feature requirements, typically summarized as the &lt;a href="https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/wat.pillars.wa-pillars.en.html"&gt;five pillars&lt;/a&gt; including security, reliability, performance efficiency, operational excellence and cost optimization. Specifically, we specialize in areas such as &lt;a href="https://www.digihunch.com/cloud-platform/"&gt;cloud platform&lt;/a&gt;, &lt;a href="https://www.digihunch.com/container-platform/"&gt;container platform&lt;/a&gt;, &lt;a href="https://www.digihunch.com/automation-consulting/"&gt;automation&lt;/a&gt; and &lt;a href="https://www.digihunch.com/cloud-security/"&gt;security&lt;/a&gt;. &lt;/p&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Our service categories include:&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Solution Design&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Create a design or blueprint that meets your specific business requirement. The purpose is to ensure that the chosen solution aligns with your organization&amp;#8217;s goals, objectives, and constraints, and that it is cost-effective, efficient, and sustainable.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Architecture Review&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Evaluate a proposed solution design against a set of architectural principles, standards, and best practices to ensure that the system meets its requirements and is scalable, maintainable, and secure. The purpose of architecture review is to ensure that the system design aligns with the organization&amp;#8217;s overall business strategy and objectives, and that it can be easily modified or extended to meet changing needs. &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;System Design Review&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Evaluates the current status of an implemented solution. We examine various aspects of the current system, such as technical infrastructure, logs, operation overheads, and interviews with focused groups to gather feedbacks from system users and other stakeholders. We also make recommendations based on architectural principals and best practices.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Proof of Concept&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Evaluate the design by produce a prototype in order to understand the functionality, performance or interoperability. PoC activity helps stakeholders make informed decision about whether to proceed with the full implementation of the solution or not. &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Implementation&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Put recommendations and solution designs into action to ensure that the deployed technology aligns with the design and meets the specific needs of the client. &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Workshop and Demo&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;A series of meetings to immerse the targeted group in a specific technical topic. Workshops familiarize the audiences with the technical topic through presentations, walk-throughs and labs. In addition to training, workshops also help generate insights and ideas, identify potential solutions or approaches, and develop a shared understanding of the complex problem at hand.&lt;/p&gt;&#10;</description></item><item><title>Projects</title><link>https://www.digihunch.com/projects/</link><pubDate>Sun, 05 Dec 2021 22:53:05 -0400</pubDate><guid>https://www.digihunch.com/projects/</guid><description>&lt;img src="https://www.digihunch.com/wp-content/uploads/2025/04/menu-projects.webp" alt="Featured image of post Projects" /&gt;&lt;p class="wp-block-paragraph"&gt;Digi Hunch contributes to open source community focusing on application deployment. Check out my &lt;a href="https://github.com/digihunch"&gt;GitHub&lt;/a&gt; page. Here are some recent projects:&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading" id="h-orthweb"&gt;Orthweb&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;a href="https://github.com/digihunch/orthweb"&gt;Orthweb&lt;/a&gt; is a cloud-based mini-PACS solution based on Orthanc and AWS. Orthanc is an open-source medical imaging application. Orthweb automates the infrastructure provisioning and configuration management. With the Orthweb artifact, users bring up a fully functional, scalable and secure mini-PACS in 30 minutes.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading" id="h-korthweb"&gt;Korthweb&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;a href="https://github.com/digihunch/korthweb"&gt;Korthweb&lt;/a&gt; is an initiative to run Orthweb on Kubernetes platform. Korthweb brings up Orthanc service using a number of different approaches, making Orthanc a single-command deployment on existing Kubernetes platform.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading" id="h-cloud-kube"&gt;Cloud Kube&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;a href="https://github.com/digihunch/cloudkube"&gt;CloudKube&lt;/a&gt; is Infrastructure as Code project for provisioning production grade Kubernetes clusters in common Cloud platforms (Azure and AWS).&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading" id="h-kubelab"&gt;Kubelab (Archived)&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;a href="https://github.com/digihunch/kubelab"&gt;Kubelab&lt;/a&gt; is an Infrastructure as Code project (in AWS CDK v1, now archived) to deploy a Kubernetes cluster with self-managed nodes. It is also a demonstration of using CDK in Python. Kubelab brings up a number of EC2 instances and automatically configures them as a Kubernetes cluster. &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading" id="h-atlab"&gt;ATlab (Archived)&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;a href="https://github.com/digihunch/atlab"&gt;ATLab&lt;/a&gt; (Ansible Tower Lab) is an infrastructure-as-code project (in AWS CDK v1, now archived) to deploy an AWX (open-source alternative of Ansible Tower). It is also a demonstration of using CDK in TypeScript. AT Lab brings up an AWX server and automatically configures it.&lt;/p&gt;&#10;</description></item><item><title>Security</title><link>https://www.digihunch.com/cloud-security/</link><pubDate>Sun, 05 Dec 2021 22:33:26 -0400</pubDate><guid>https://www.digihunch.com/cloud-security/</guid><description>&lt;img src="https://www.digihunch.com/wp-content/uploads/2025/04/menu-security-fence.webp" alt="Featured image of post Security" /&gt;&lt;p class="wp-block-paragraph"&gt;Security is one of the most important aspects in cloud architecture design and implementation. Security concerns data privacy, an important aspect of platform compliance. &lt;/p&gt;&#10;&lt;p class="wp-block-paragraph"&gt;With regard to security, we perform security review with threat model assessment on the infrastructure stack, mostly looking at the following aspects:&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Identity and Access Management&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Authentication (Identity Management) and Authorization (Access Management) is a foundational design aspects. We need to consider issues such as identity store, integration, SSO, attributes at all layers such as application (business traffic), container platform (e.g. Kubernetes admin traffic), and cloud platform (e.g. cloud admin traffic).&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Encryption and Certificate Management&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;All security standards mandates the encryption of data in transit and at rest. Data in transit are encrypted by standards at different network layers. Transport Layer Security (TLS) is the most important standard in this regard and it operates on X.509 certificates, which is managed by the Public Key Infrastructure (PKI) of the organization.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Compliance&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Most of the enterprise cloud deployment should target certain compliance programs as part of the security initiative. Common compliance frameworks and programs include:&lt;/p&gt;&#10;&lt;ul class="wp-block-list"&gt;&#10;&lt;li&gt;DoD SRG (Department of Defense Cloud Computing Security Requirements Guide)&lt;/li&gt;&#10;&lt;li&gt;FedRAMP (Federal Risk and Authorization Management Program)&lt;/li&gt;&#10;&lt;li&gt;HIPPA (Health Insurance Portability and Accountability Act)&lt;/li&gt;&#10;&lt;li&gt;GDPR (General Data Protection Regulation)&lt;/li&gt;&#10;&lt;li&gt;PCI-DSS (Payment Card Industry Data Security Standard)&lt;/li&gt;&#10;&lt;li&gt;CIS (&lt;a href="https://www.cisecurity.org/cis-benchmarks"&gt;Center for Internet Security&lt;/a&gt;) Benchmarks&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p class="wp-block-paragraph"&gt;The main cloud service providers provides tools to help client assess the compliance status of their cloud deployment.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;More on security&lt;/h2&gt;&#10;&lt;ul class="display-posts-listing"&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2024/07/iam-roles-for-any-workload/"&gt;IAM Roles for any workload&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Background A few month back a client of mine wanted to use GitLab pipeline to deploy infrastructure on AWS with Terraform. The key question is how to authenticate the Terraform process running in the pipeline to AWS with temporary credential. Having worked it out on GitHub, my proposal at time&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2024/05/managing-ec2-instances-across-aws-accounts-ssm/"&gt;Managing EC2 instances across accounts with Ansible&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;I regard AWS Systems Manager as omnipotent. Nonetheless, there are a few reasons that makes Ansible still a prevalent VM (EC2) management tool over Systems Manager (SSM). First, organizations already vested in their custom Ansible roles and playbooks want to reuse, and expand their assets in Ansible. The benefit is&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2023/11/wordpress-security/"&gt;WordPress Security Basics&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Background In 2019, I moved this site to WordPress hosted on an Amazon Lightsail instance. There were few visits at that time so I lived with the single-server architecture. The website traffic has since been in steady growth but I have been too busy to catch up with the WordPress&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2022/12/eks-impression/"&gt;EKS impression&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;I've worked on a few AKS projects previously. Since I joined AWS I wanted to put aside some time to check out EKS (Elastic Kubernetes Service). Here in this post, I put down my first impression on EKS, and also share my Terraform template in cloudkube project to create an&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2022/03/istio-operation-gotchas/"&gt;Istio Operation Gotchas&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;In this post I discuss a few aspects when putting istio in operation. Installation Istio installation can be confusing, due to architectural and guideline changes as well as renaming of operator CRDs since its release, and especially since 2020. This left lots of information outdated on the web, adding to&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;meta charset="utf-8"&gt;Contact &lt;a href="https://www.digihunch.com/contact/"&gt;Digi Hunch&lt;/a&gt; for Professional Services.&lt;/p&gt;&#10;</description></item><item><title>Contact</title><link>https://www.digihunch.com/contact/</link><pubDate>Sun, 05 Dec 2021 22:19:07 -0400</pubDate><guid>https://www.digihunch.com/contact/</guid><description>&lt;img src="https://www.digihunch.com/wp-content/uploads/2025/04/menu-contact.webp" alt="Featured image of post Contact" /&gt;&lt;h2 class="wp-block-heading" id="professional-it-service"&gt;Professional IT Service&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Hunch Digital Services Inc (Digi Hunch) delivers professional IT &lt;a href="https://www.digihunch.com/professional-services/"&gt;services&lt;/a&gt;. We have more than a decade&amp;#8217;s experience in different aspects of enterprise IT, including application development, customer support, infrastructure, solution architecture and implementation.&lt;/p&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Review the service &lt;a href="https://www.digihunch.com/professional-services/"&gt;categories&lt;/a&gt; and contact for a free estimate.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading" id="contact"&gt;Contact&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;The best way to contact Hunch Digital Services for professional service is by &lt;a href="mailto:ylu@digihunch.com"&gt;email&lt;/a&gt;, or via &lt;a href="https://www.linkedin.com/in/digihunch/"&gt;LinkedIn&lt;/a&gt; message.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading" id="contact"&gt;Certifications&lt;/h2&gt;&#10;&lt;p&gt;&lt;/p&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="83f4a02f-6596-40a8-a7d1-b7fdfb37d20b" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="ee071cac-e0a4-43eb-a502-663197cf86fd" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="6e01d8e3-7a20-41e4-8047-dc3a58bf2afb" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="d9ae1fdb-f8f8-4a2e-8b93-5f0ab189723e" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;br&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="d0c9a6c5-f131-4239-9a9f-1748b84c3cf1" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="f610e0d3-f3f2-4c6d-ba61-5629225b4bb7" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="da4dbdf5-8832-495c-ab18-768300ab94db" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;div data-iframe-width="150" data-iframe-height="270" data-share-badge-id="3a5786d9-e494-4e5e-a039-c11b0e6dbd98" data-share-badge-host="https://www.credly.com"&gt;&lt;/div&gt;&#10;&lt;script type="text/javascript" async="" src="//cdn.credly.com/assets/utilities/embed.js"&gt;&lt;/script&gt;&#10;&lt;p&gt;&lt;/p&gt;&#10;</description></item><item><title>Automation</title><link>https://www.digihunch.com/automation-consulting/</link><pubDate>Sun, 05 Dec 2021 22:11:18 -0400</pubDate><guid>https://www.digihunch.com/automation-consulting/</guid><description>&lt;img src="https://www.digihunch.com/wp-content/uploads/2025/04/menu-devops-automation.webp" alt="Featured image of post Automation" /&gt;&lt;p class="wp-block-paragraph"&gt;In the 60s, automobiles manufactured in Japan consistently beats their competitors in American market. Many refers to the lean manufacturing methodology in the automation as the secret sauce. The software industries borrowed a lot of similar methodologies from TPS (Toyota Production System) into software development industry, which brought about agile software development.&lt;/p&gt;&#10;&lt;p class="wp-block-paragraph"&gt;For software to deliver value, it is not just about developing software in agile methodologies. A full SDLC (software development life cycle) includes build, release and upgrades too, some of which are managed in a different department in the organization. DevOps extends agile methodology across departments. DevOps has now become a buzzword. Some even refers to it as a culture but none of these are possible without automation.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Automation Pipelines&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;The power horse of the DevOps tooling is automation pipeline (e.g. Jenkins, Azure DevOps, GitHub). These pipelines expedites iterations with frequent feedback about software quality, whether it is common conventional SDLC workflow or more recent infrastructure as code worklfow. For SDLC, the goal is to establish continuous integration (CI) and ultimately continuous deployment (CD). &lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Serverless Deployment&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;With serverless deployment, the operation of managing computing resources is abstracted away. Serverless deployment models further simplifies SDLCs and are ideal for some common use cases such as API services, IoT, scheduled and event-driven tasks.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;DataOps&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Another creative use of automation pipelines is the data pipelines. Data engineering tasks includes ingestion, ETL, integration, and storage and automation pipelines are ideal automation tools for these tasks.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Observability&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Observability setup enables instant feedback, an important construct of DevOps. An observability stack consists of metrics collection, log shipping, performance monitoring, request tracing and visualization etc.&lt;/p&gt;&#10;&lt;h2 class="wp-block-heading"&gt;More on automation&lt;/h2&gt;&#10;&lt;ul class="display-posts-listing"&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2025/02/the-most-cost-effective-web-and-email-hosting/"&gt;The Leanest Web and Email Hosting&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;This site has been quiet for a while. During this time, I migrated the hosting platform again, and refactored email solution. This post, is another note about how I finally came to the most cost-effective web and email solution for a small business, with a solid security posture, and at&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2024/08/debating-between-count-and-for_each-in-terraform/"&gt;Debating between count and for_each in Terraform&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;In Terraform, we often have to create an array of resources of the same type but similar attribute values. For code reusability, manageability and for DRY principle, it's better to use loop. Terraform HCL supports loop via the use of meta-argument. Currently, there are two options to drive a loop:&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2024/08/test-open-id-connect-flows-locally/"&gt;Test Open ID Connect Flows Locally&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Earlier this year, I had to integrate an application with an identity provider. Both claim to be compliant with Open ID Connect. But when they don't get along, I must find out where it breaks to determine which party isn't compliant. Therefore, I had to really get to the transaction-level&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2024/07/iam-roles-for-any-workload/"&gt;IAM Roles for any workload&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;Background A few month back a client of mine wanted to use GitLab pipeline to deploy infrastructure on AWS with Terraform. The key question is how to authenticate the Terraform process running in the pipeline to AWS with temporary credential. Having worked it out on GitHub, my proposal at time&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="listing-item"&gt;&lt;a class="title" href="https://www.digihunch.com/2024/05/managing-ec2-instances-across-aws-accounts-ssm/"&gt;Managing EC2 instances across accounts with Ansible&lt;/a&gt; &lt;span class="excerpt-dash"&gt;-&lt;/span&gt; &lt;span class="excerpt"&gt;I regard AWS Systems Manager as omnipotent. Nonetheless, there are a few reasons that makes Ansible still a prevalent VM (EC2) management tool over Systems Manager (SSM). First, organizations already vested in their custom Ansible roles and playbooks want to reuse, and expand their assets in Ansible. The benefit is&amp;hellip; &lt;span class="excerpt-more"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Contact &lt;a href="https://www.digihunch.com/contact/"&gt;Digi Hunch&lt;/a&gt; for Professional Services.&lt;/p&gt;&#10;</description></item><item><title>About</title><link>https://www.digihunch.com/about-digi-hunch/</link><pubDate>Sat, 13 Nov 2010 03:29:50 +0000</pubDate><guid>https://www.digihunch.com/about-digi-hunch/</guid><description>&lt;div class="wp-block-media-text is-stacked-on-mobile" style="grid-template-columns:47% auto"&gt;&lt;figure class="wp-block-media-text__media"&gt;&lt;img decoding="async" src="https://www.digihunch.com/wp-content/uploads/2025/04/cropped-DigiHunch.webp" alt="" class="wp-image-10081 size-full"/&gt;&lt;/figure&gt;&lt;div class="wp-block-media-text__content"&gt;&#10;&lt;p class="wp-block-paragraph"&gt;On the &lt;strong&gt;Journey of an IT Architect&lt;/strong&gt;, we share the expertise by:&lt;/p&gt;&#10;&lt;ul class="wp-block-list"&gt;&#10;&lt;li&gt;Blogs on this &lt;a href="https://www.digihunch.com/"&gt;website&lt;/a&gt; and &lt;a href="https://digihunch.medium.com/"&gt;medium&lt;/a&gt;;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.digihunch.com/projects/"&gt;Open source&lt;/a&gt; projects on GitHub;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.digihunch.com/professional-services/"&gt;Professional IT consulting service&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p class="wp-block-paragraph"&gt;History of this website:&lt;/p&gt;&#10;&lt;ul class="wp-block-list"&gt;&#10;&lt;li&gt;May 2019: Moved to self-hosted WordPress&lt;/li&gt;&#10;&lt;li&gt;May 2020: Moved to current domain name&lt;/li&gt;&#10;&lt;li&gt;Dec 2022: Migration for PHP 8 upgrade&lt;/li&gt;&#10;&lt;li&gt;Jul 2023: Security Enhancements&lt;/li&gt;&#10;&lt;li&gt;Apr 2025: Performance Enhancement&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;hr class="wp-block-separator has-alpha-channel-opacity"/&gt;&#10;&lt;h2 class="wp-block-heading"&gt;Privacy&lt;/h2&gt;&#10;&lt;p class="wp-block-paragraph"&gt;Thank you for choosing Hunch Digital Services (&lt;a href="https://www.digihunch.com/"&gt;Digi Hunch&lt;/a&gt;). At Hunch Digital Services, we value your privacy and are committed to protecting your personal information. We collect the following information:&lt;/p&gt;&#10;&lt;ul class="wp-block-list"&gt;&#10;&lt;li&gt;&lt;strong&gt;Personal Information:&lt;/strong&gt; We may collect personal information such as your name, email address, phone number, and other contact details when you create an account or contact us.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Log Data:&lt;/strong&gt; When you use our services, we may collect information that your browser or device sends to us, including your IP address, browser type, and the pages you visit.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cookies:&lt;/strong&gt; We may use cookies and similar tracking technologies to enhance your experience on our website. You can manage cookie preferences through your browser settings.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p class="wp-block-paragraph"&gt;We take reasonable measures to protect your information from unauthorized access, disclosure, alteration, or destruction. However, no method of data transmission over the internet or electronic storage is completely secure, and we cannot guarantee its absolute security.&lt;/p&gt;&#10;&lt;p class="wp-block-paragraph"&gt;You have the right to access, correct, or delete your personal information, subject to legal requirements. You may also unsubscribe from our promotional communications at any time. To exercise these rights or for any other privacy-related inquiries, please contact us at privacy@digihunch.com&lt;/p&gt;&#10;</description></item></channel></rss>