41554 blogs · [ { "id": "01a087a6-727d-72c5-93a0-57aca47fe1cf", "title": "Inside Claude Code Skills: Structure, prompts, invocation", "url": "https://mikhail.io/2025/10/claude-code-skills/", "published_at": "2025-10-28T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b7fd3df48f", "title": "Inside Claude Code's Web Tools: WebFetch vs WebSearch", "url": "https://mikhail.io/2025/10/claude-code-web-tools/", "published_at": "2025-10-06T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b7fde9a6cb", "title": "Claude Code 2.0 System Prompt Changes", "url": "https://mikhail.io/2025/09/sonnet-4-5-system-prompt-changes/", "published_at": "2025-10-01T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b7fe2f40be", "title": "AI-Assisted Infrastructure as Code with Pulumi's Model Context Protocol Server", "url": "https://mikhail.io/2025/04/mcp-server-ai-assistants/", "published_at": "2025-04-08T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b7fe665c85", "title": "Introducing Customizable Resource Auto-naming in Pulumi", "url": "https://mikhail.io/2025/01/autonaming-configuration/", "published_at": "2025-01-16T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b7fefef263", "title": "Pulumi + Azure Deployment Environments: Better Together for Enterprise Developers", "url": "https://mikhail.io/2024/05/azure-deployment-environments/", "published_at": "2024-05-21T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b7ff846864", "title": "Infrastructure as Code with Java and Pulumi", "url": "https://mikhail.io/2022/05/infrastructure-as-code-with-java-and-pulumi/", "published_at": "2022-05-04T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8003cbcd2", "title": "Get Up and Running with Azure Synapse and Pulumi", "url": "https://mikhail.io/2021/12/get-up-and-running-with-azure-synapse-and-pulumi/", "published_at": "2021-12-04T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b800ce223f", "title": "How To Deploy Temporal to Azure Kubernetes Service (AKS)", "url": "https://mikhail.io/2021/11/how-to-deploy-temporal-to-azure-kubernetes-aks/", "published_at": "2021-11-11T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b801325a24", "title": "Deploying new Azure Container Apps with familiar languages", "url": "https://mikhail.io/2021/11/azure-container-apps/", "published_at": "2021-11-02T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b80170ff68", "title": "How To Deploy Temporal to Azure Container Instances", "url": "https://mikhail.io/2021/10/how-to-deploy-temporal-to-azure-container-instances/", "published_at": "2021-10-28T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8018e1bdf", "title": "Eliminate Cold Starts by Predicting Invocations of Serverless Functions", "url": "https://mikhail.io/2021/06/eliminate-cold-starts-by-predicting-invocations-of-serverless-functions/", "published_at": "2021-06-18T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b802185312", "title": "Choosing the Number of Shards in Temporal History Service", "url": "https://mikhail.io/2021/05/choose-the-number-of-shards-in-temporal-history-service/", "published_at": "2021-05-25T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8028ea95d", "title": "Maru: Load Testing Tool for Temporal Workflows", "url": "https://mikhail.io/2021/03/maru-load-testing-tool-for-temporal-workflows/", "published_at": "2021-03-18T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b802f58498", "title": "Farmer or Pulumi? Why not both!", "url": "https://mikhail.io/2020/12/farmer-or-pulumi-why-not-both/", "published_at": "2020-12-16T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8032d208f", "title": "Get Up and Running with Azure Synapse and Pulumi", "url": "https://mikhail.io/2020/12/get-up-and-running-with-azure-synapse-and-pulumi/", "published_at": "2020-12-04T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b803c9160e", "title": "Running Container Images in AWS Lambda", "url": "https://mikhail.io/2020/12/aws-lambda-container-support/", "published_at": "2020-12-01T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8049111c8", "title": "How to Monitor Your Business with BAM Tools?", "url": "https://mikhail.io/2020/11/how-to-monitor-your-business-with-bam-tools/", "published_at": "2020-11-18T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8053882d1", "title": "How To Deploy Temporal to Azure Kubernetes Service (AKS)", "url": "https://mikhail.io/2020/11/how-to-deploy-temporal-to-azure-kubernetes-aks/", "published_at": "2020-11-11T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b80626390d", "title": "How To Deploy Temporal to Azure Container Instances", "url": "https://mikhail.io/2020/10/how-to-deploy-temporal-to-azure-container-instances/", "published_at": "2020-10-28T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b806493b1b", "title": "A Practical Approach to Temporal Architecture", "url": "https://mikhail.io/2020/10/practical-approach-to-temporal-architecture/", "published_at": "2020-10-22T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b806b4f737", "title": "Temporal: Open Source Workflows as Code", "url": "https://mikhail.io/2020/10/temporal-open-source-workflows-as-code/", "published_at": "2020-10-15T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8073ec0d5", "title": "Announcing Next Generation Pulumi Azure Provider", "url": "https://mikhail.io/2020/09/announcing-nextgen-azure-provider/", "published_at": "2020-09-21T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b8080ff5cb", "title": "How to Drain a List of .NET Tasks to Completion", "url": "https://mikhail.io/2020/09/how-to-drain-dotnet-tasks-to-completion/", "published_at": "2020-09-03T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b808cd2a23", "title": "The Emerging Landscape of Edge-Computing", "url": "https://mikhail.io/2020/07/emerging-landscape-of-edge-computing/", "published_at": "2020-07-14T00:00:00+00:00" }, { "id": "01a087a6-727f-7081-ba8d-53b80933474e", "title": "The Best Interview is No Interview: How I Get Jobs Without Applying", "url": "https://mikhail.io/2020/07/best-interview-is-no-interview-get-jobs-without-applying/", "published_at": "2020-07-01T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e382fe600", "title": "Eliminate Cold Starts by Predicting Invocations of Serverless Functions", "url": "https://mikhail.io/2020/06/eliminate-cold-starts-by-predicting-invocations-of-serverless-functions/", "published_at": "2020-06-18T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e390b75de", "title": "Unit Testing Cloud Deployments with Pulumi in C#", "url": "https://mikhail.io/2020/05/unit-testing-cloud-deployments-with-pulumi-in-csharp/", "published_at": "2020-05-21T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e39572c36", "title": "Unit Testing Cloud Deployments with Pulumi in F#", "url": "https://mikhail.io/2020/05/unit-testing-cloud-deployments-with-pulumi-in-fsharp/", "published_at": "2020-05-21T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3999cc0a", "title": "Serverless in the Wild: Azure Functions Production Usage Statistics", "url": "https://mikhail.io/2020/05/serverless-in-the-wild-azure-functions-usage-stats/", "published_at": "2020-05-05T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3a1ac6bc", "title": "InfiniCache: Distributed Cache on Top of AWS Lambda (paper review)", "url": "https://mikhail.io/2020/03/infinicache-distributed-cache-on-aws-lambda/", "published_at": "2020-03-10T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3abaf256", "title": "Hosting Azure Functions in Google Cloud Run", "url": "https://mikhail.io/2020/02/azure-functions-in-google-cloud-run/", "published_at": "2020-02-14T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3b6c56ce", "title": "Serverless Containers with Google Cloud Run", "url": "https://mikhail.io/2020/02/serverless-containers-with-google-cloud-run/", "published_at": "2020-02-04T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3bc4980c", "title": "Provisioned Concurrency: Avoiding Cold Starts in AWS Lambda", "url": "https://mikhail.io/2019/12/aws-lambda-provisioned-concurrency-no-cold-starts/", "published_at": "2019-12-19T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3c0fcf3f", "title": "Santa Brings Cloud to Every Developer", "url": "https://mikhail.io/2019/12/santa-brings-cloud-to-every-developer/", "published_at": "2019-12-01T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3ca689f2", "title": "Choosing the Best Deployment Tool for Your Serverless Applications", "url": "https://mikhail.io/2019/11/choosing-the-best-deployment-tool-for-serverless-applications/", "published_at": "2019-11-12T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3d2c9631", "title": "AWS Lambda vs. Azure Functions: 10 Major Differences", "url": "https://mikhail.io/2019/10/aws-lambda-vs-azure-functions-ten-major-differences/", "published_at": "2019-10-20T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3dd620b1", "title": "How To Deploy a Function App with KEDA (Kubernetes-based Event-Driven Autoscaling)", "url": "https://mikhail.io/2019/10/how-to-deploy-a-function-app-with-keda/", "published_at": "2019-10-10T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3e48364e", "title": "How To Build Globally Distributed Applications with Azure Cosmos DB and Pulumi", "url": "https://mikhail.io/2019/09/how-to-build-globally-distributed-applications-with-azure-cosmos-db-and-pulumi/", "published_at": "2019-09-24T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3f105b8c", "title": "How to Avoid Cost Pitfalls by Monitoring APIs in AWS Lambda", "url": "https://mikhail.io/2019/08/how-to-avoid-cost-pitfalls-by-monitoring-apis-in-aws-lambda/", "published_at": "2019-08-23T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3f919f26", "title": "Ten Pearls With Azure Functions in Pulumi", "url": "https://mikhail.io/2019/08/ten-pearls-with-azure-functions-in-pulumi/", "published_at": "2019-08-21T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e3ffaf4ab", "title": "AWS Lambda Cold Starts After 10 Minutes", "url": "https://mikhail.io/2019/08/aws-lambda-cold-starts-after-10-minutes/", "published_at": "2019-08-20T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e401d0534", "title": "How to Measure the Cost of Azure Functions", "url": "https://mikhail.io/2019/08/how-to-measure-the-cost-of-azure-functions/", "published_at": "2019-08-07T00:00:00+00:00" }, { "id": "01a087a6-7280-700c-bfa8-8a3e40408445", "title": "7 Ways to Deal with Application Secrets in Azure", "url": "https://mikhail.io/2019/07/7-ways-to-deal-with-application-secrets-in-azure/", "published_at": "2019-07-26T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-584096a66dbd", "title": "Load-Testing Azure Functions with Loader.io", "url": "https://mikhail.io/2019/07/load-testing-azure-functions-with-loaderio/", "published_at": "2019-07-04T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-584097694d40", "title": "How Azure CLI Manages Your Access Tokens", "url": "https://mikhail.io/2019/07/how-azure-cli-manages-access-tokens/", "published_at": "2019-07-03T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-584097a0a42e", "title": "Globally-distributed Serverless Application in 100 Lines of Code. Infrastructure Included!", "url": "https://mikhail.io/2019/07/globally-distributed-serverless-application-in-100-lines-of-code/", "published_at": "2019-07-02T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-5840988f4594", "title": "Hosting a Static Website on Azure with Pulumi", "url": "https://mikhail.io/2019/06/hosting-a-static-website-on-azure-with-pulumi/", "published_at": "2019-06-27T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-584099093d71", "title": "Serverless as Simple Callbacks with Pulumi and Azure Functions", "url": "https://mikhail.io/2019/05/serverless-as-simple-callbacks-with-pulumi-and-azure-functions/", "published_at": "2019-05-07T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-584099608312", "title": "Level up your Azure Platform as a Service applications with Pulumi", "url": "https://mikhail.io/2019/05/level-up-your-azure-platform-as-a-service-applications-with-pulumi/", "published_at": "2019-05-06T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-5840997738f8", "title": "Less Frequent Cold Starts in Google Cloud Functions", "url": "https://mikhail.io/2019/04/less-frequent-cold-starts-in-google-cloud-functions/", "published_at": "2019-04-27T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-58409a3e05a6", "title": "Visualizing (Absence Of) Cold Starts in Binaris", "url": "https://mikhail.io/2019/04/visualizing-absence-of-cold-starts-binaris/", "published_at": "2019-04-03T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-58409ac6553d", "title": "Reducing Cold Start Duration in Azure Functions", "url": "https://mikhail.io/2019/03/reducing-azure-functions-cold-start-time/", "published_at": "2019-03-27T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-58409b4068cc", "title": "Concurrency and Isolation in Serverless Functions", "url": "https://mikhail.io/2019/03/concurrency-and-isolation-in-serverless-functions/", "published_at": "2019-03-24T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-58409ba2b3fb", "title": "Visualizing Cold Starts", "url": "https://mikhail.io/2019/03/visualizing-cold-starts/", "published_at": "2019-03-14T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-58409c6f2f4f", "title": "Evergreen Serverless Performance Reviews", "url": "https://mikhail.io/2019/02/evergreen-serverless-performance-reviews/", "published_at": "2019-02-24T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-58409cad1f6a", "title": "From YAML to TypeScript: Developer's View on Cloud Automation", "url": "https://mikhail.io/2019/02/from-yaml-to-typescript-developers-view-on-cloud-automation/", "published_at": "2019-02-14T00:00:00+00:00" }, { "id": "01a087a6-7281-723a-8da5-58409cdb61e2", "title": "Serverless at Scale: Serving StackOverflow-like Traffic", "url": "https://mikhail.io/2019/serverless-at-scale-serving-stackoverflow-like-traffic/", "published_at": "2019-01-21T00:00:00+00:00" } ] posts Claim your blog
Back to mikhail.io
Blog · corpus.blog/blogs/mikhail.io/posts

mikhail.io

mikhail.io

2025

2024

2022

2021

2020

2019