{"id":1736,"date":"2026-08-09T04:18:25","date_gmt":"2026-08-09T04:18:25","guid":{"rendered":"https:\/\/vykhodtsev.dev\/?p=1736"},"modified":"2026-08-09T04:19:24","modified_gmt":"2026-08-09T04:19:24","slug":"%f0%9f%9a%80-ai-sql-agent-is-now-running-in-microsoft-azure","status":"publish","type":"post","link":"https:\/\/vykhodtsev.dev\/?p=1736","title":{"rendered":"\ud83d\ude80 AI SQL Agent is now running in Microsoft Azure"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Aug 8 2026<br>Over the past few weeks, I&#8217;ve been moving my AI SQL Agent from my local laptop to a cloud-based architecture built on Microsoft Azure.<br>The project has reached another important milestone:<br>\u2705 Deployed the application to Azure App Service<br>\u2705 Built a public WordPress website as the front-end<br>\u2705 Integrated the AI SQL Agent directly into the website<br>\u2705 Connected the agent to a MySQL demonstration database<br>\u2705 Added support for both DML and DDL operations with role-based permissions<br>\u2705 Configured GitHub Actions for automated CI\/CD deployments<br>\u2705 Registered a custom domain and enabled HTTPS\/SSL<br>The current architecture includes:<br>\u2601\ufe0f Microsoft Azure App Service<br>\ud83e\udd16 Azure OpenAI<br>\ud83d\uddc4\ufe0f Azure Database for MySQL<br>\ud83c\udf10 WordPress front-end<br>\u2699\ufe0f FastAPI backend<br>\ud83d\udd04 GitHub Actions deployment pipeline<br>The AI agent can already:<br>\u2022 Generate SQL from natural language<br>\u2022 Execute secure SELECT, INSERT, UPDATE, and DELETE statements (depending on user permissions)<br>\u2022 Perform administrative DDL operations such as CREATE TABLE, ALTER TABLE for authorized users<br>\u2022 Explain generated SQL<br>\u2022 Return results as interactive tables<br>\u2022 Generate charts from query results<br>\u2022 Maintain conversation context throughout the session<br>To make the experience more transparent, the website also includes a demonstration database explorer. Visitors can browse the database schema, view tables and columns, and inspect sample records before interacting with the AI. This helps users better understand the available data and ask more meaningful questions using natural language.<br>This is still an early stage of the project, but the long-term vision is much broader than an SQL assistant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Excited to continue building and sharing the journey.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23ai&amp;origin=HASH_TAG_FROM_FEED\"><strong>#AI<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23artificialintelligence&amp;origin=HASH_TAG_FROM_FEED\"><strong>#ArtificialIntelligence<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23azure&amp;origin=HASH_TAG_FROM_FEED\"><strong>#Azure<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23azureopenai&amp;origin=HASH_TAG_FROM_FEED\"><strong>#AzureOpenAI<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23microsoftazure&amp;origin=HASH_TAG_FROM_FEED\"><strong>#MicrosoftAzure<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23wordpress&amp;origin=HASH_TAG_FROM_FEED\"><strong>#WordPress<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23fastapi&amp;origin=HASH_TAG_FROM_FEED\"><strong>#FastAPI<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23python&amp;origin=HASH_TAG_FROM_FEED\"><strong>#Python<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23sql&amp;origin=HASH_TAG_FROM_FEED\"><strong>#SQL<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23dataengineering&amp;origin=HASH_TAG_FROM_FEED\"><strong>#DataEngineering<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23etl&amp;origin=HASH_TAG_FROM_FEED\"><strong>#ETL<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23cloudcomputing&amp;origin=HASH_TAG_FROM_FEED\"><strong>#CloudComputing<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23mysql&amp;origin=HASH_TAG_FROM_FEED\"><strong>#MySQL<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23githubactions&amp;origin=HASH_TAG_FROM_FEED\"><strong>#GitHubActions<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23automation&amp;origin=HASH_TAG_FROM_FEED\"><strong>#Automation<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23openai&amp;origin=HASH_TAG_FROM_FEED\"><strong>#OpenAI<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23enterpriseai&amp;origin=HASH_TAG_FROM_FEED\"><strong>#EnterpriseAI<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23generativeai&amp;origin=HASH_TAG_FROM_FEED\"><strong>#GenerativeAI<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23softwareengineering&amp;origin=HASH_TAG_FROM_FEED\"><strong>#SoftwareEngineering<\/strong><\/a><a href=\"https:\/\/www.linkedin.com\/search\/results\/all\/?keywords=%23aiagents&amp;origin=HASH_TAG_FROM_FEED\"><strong>#AIAgents<\/strong><\/a><\/p>\n\n\n\n<figure data-spectra-id=\"spectra-mslajhv9-d6g1b6\" class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1004\" src=\"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/photo_2026-08-06_11-17-16-1024x1004.jpg\" alt=\"photo 2026 08 06 11 17 16\" class=\"wp-image-1738\" title=\"\ud83d\ude80 AI SQL Agent is now running in Microsoft Azure\" srcset=\"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/photo_2026-08-06_11-17-16-1024x1004.jpg 1024w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/photo_2026-08-06_11-17-16-300x294.jpg 300w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/photo_2026-08-06_11-17-16-768x753.jpg 768w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/photo_2026-08-06_11-17-16.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aug 8 2026Over the past few weeks, I&#8217;ve been moving my AI SQL Agent from my local laptop to a cloud-based architecture built on Microsoft Azure.The project has reached another important milestone:\u2705 Deployed the application to Azure App Service\u2705 Built a public WordPress website as the front-end\u2705 Integrated the AI SQL Agent directly into the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1737,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"spectra_blocks_featured_image_url":{"thumbnail":{"url":"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-150x150.png","width":150,"height":150},"medium":{"url":"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-300x239.png","width":300,"height":239},"medium_large":{"url":"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-768x613.png","width":768,"height":613},"large":{"url":"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-1024x817.png","width":1024,"height":817},"full":{"url":"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038.png","width":1546,"height":1233}},"spectra_blocks_author_info":{"display_name":"Aleksei","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/198b25ea575ebb3cbd0934cb05fd942d0f256a65d3ff388a161c857e00b092bf?s=96&d=mm&r=g","author_link":"https:\/\/vykhodtsev.dev\/?author=1","description":""},"_links":{"self":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/posts\/1736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1736"}],"version-history":[{"count":2,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/posts\/1736\/revisions"}],"predecessor-version":[{"id":1740,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/posts\/1736\/revisions\/1740"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/media\/1737"}],"wp:attachment":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}