在 Azure 中开发云原生应用程序:工具和技巧
Azure 中的云原生开发工具
Azure 包含一系列用于云原生应用程序开发的内置工具和服务。这里介绍的服务和工具是很好的入门选择。
发展
Azure 包括两个用于开发和构建云原生应用程序的主要工具:Visual Studio (VS) 和Azure应用服务。
VS 是一个集成开发环境(IDE),可用于任何平台或环境。它使您能够在云或本地开发、调试、部署和监控应用程序。
VS 与平台无关,但可以直接与 Azure 服务集成,并使您能够直接部署到 Azure。
Azure 应用服务是基于订阅的平台即服务 (PaaS),使你能够为 Web 和移动客户端构建应用程序。它提供了完全托管的云基础设施,使您能够将应用程序部署在容器中或直接作为代码部署。
应用服务包括可用作应用创建基础的预构建应用。它支持流行的框架和语言,包括.NET、Java、Python、PHP、Node.js 和 Ruby。
贮存
在 Azure 中开发云原生应用程序时,有许多存储选项可供您将应用程序绑定到。您可以从任何标准存储服务(包括磁盘、文件、队列、表或 blob)存储和检索数据。您还可以将应用程序连接到数据库服务。
Azure 包括针对结构化、半结构化和关系数据的按使用付费数据库服务。数据库服务均通过内置安全性和性能调整功能进行全面管理。这些服务还包括自动地理数据复制。
数据库选项包括:
- CosmosDB——适用于非结构化和半结构化数据。提供低延迟、高可用性和可扩展性。
- MariaDB——用于关系数据。为移动和 Web 应用程序提供高可用性和弹性扩展。
- PostgreSQL——用于关系数据。提供地理空间支持和丰富索引的可扩展性和功能。
- MySQL——用于关系数据。为移动和 Web 应用程序提供高可用性和弹性扩展。
SAP HANA 是一个面向列的关系数据库管理系统。它用于存储和检索应用程序请求的数据。
您可以使用 SAP 执行各种分析,包括预测分析、空间数据处理、文本搜索、图形数据处理和流分析。您还可以使用 SAP 作为应用程序服务器来创建和运行应用程序。
部署
在 Azure 中部署云原生应用程序通常在容器或无服务器应用程序中完成。
AKS 是一项免费、完全托管的服务,用于使用 Kubernetes 部署和管理容器。该服务在虚拟机 (VM) 上运行,您负责配置、管理和付费。它包括集成的持续集成/持续交付 (CI/CD) 管道。
ACI 是一种用于托管容器的服务。它使您能够运行容器,而无需配置虚拟机或管理基础设施。此服务的成本取决于容器运行的时间以及使用的计算资源。ACI 通常用于弹性管理来自 AKS 的流量、运行事件驱动的应用程序或数据处理作业。
Azure Functions允许您编写代码片段或整个应用程序并运行它们,而无需专用实例或资源。您的程序根据来自 HTTP 请求、Azure 服务事件或预定义计划的触发器运行。在 Functions 中,您的应用程序可以通过 API 与 Azure 和第三方服务进行通信。您可以使用 .NET、JavaScript 和 Java 编写函数。
在 Azure 中进行开发的技巧
有许多使用特定服务和工具的技巧和最佳实践。要找到这些,最好检查每个服务的文档。不过,无论您使用什么服务,以下提示对于任何应用程序开发过程都非常有用。
使用自动缩放
自动缩放功能可实现动态资源分配,仅在需要时使用您需要的资源。这可以帮助最大限度地降低运行应用程序的成本。为了获得最大的性能和成本优势,请将您的应用程序设计为可水平扩展。应用程序通常不需要更强大的处理器,只是一种分配工作负载的方法。
开发应用程序时,尽量不要将代码绑定到特定实例。这样做会限制可用性和可扩展性。如果您预计特定时间的流量较高,您可以创建计划的自动扩展策略。此策略可以在您的需求增加之前启动实例。
关注安全
由于使用隔离服务,云原生应用程序比传统应用程序更安全然而,这并不意味着它们在默认情况下更安全。进行渗透测试以确定您的应用程序和环境容易受到攻击的地方非常重要。确保记录您的应用程序活动并监控应用程序流量。这些数据可以帮助您识别威胁,并在您的应用程序不可用时向您发出警报。
如果您需要对应用程序进行故障排除,请注意完成后不要让远程调试功能处于活动状态。远程调试功能可以为攻击者提供修改应用程序代码的方法。进出应用程序的任何流量都应通过 HTTPS 传递。HTTPS 可以帮助确保传输的数据在传输过程中不会被重新路由或修改。
利用 Azure 资源
Microsoft Learn 为 Azure 和其他 Microsoft 产品举办实践实验室、视频课程和虚拟课程。开发人员内容包括构建和部署应用程序、构建自动化工作流程以及 Python 中的机器学习。您还可以通过该平台获得 Microsoft 认证。
Azure DevOps Labs 是另一种选择,其中包括带有教程和练习的迷你课程。DevOps 实验室专注于帮助您学习如何使用和集成 Azure 以及选择第三方服务。该平台包含的主题包括如何为 PHP 应用程序设置 CI/CD 管道以及如何在 VS Code 中处理拉取请求。
相关文章:
在 Azure 中开发云原生应用程序:工具和技巧
Azure 中的云原生开发工具 Azure 包含一系列用于云原生应用程序开发的内置工具和服务。这里介绍的服务和工具是很好的入门选择。 发展 Azure 包括两个用于开发和构建云原生应用程序的主要工具:Visual Studio (VS) 和Azure应用服务。 VS 是一个集成开发环境&#…...

【Redis】基础数据结构-字典
Redis 字典 基本语法 字典是Redis中的一种数据结构,底层使用哈希表实现,一个哈希表中可以存储多个键值对,它的语法如下,其中KEY为键,field和value为值(也是一个键值对): HSET key…...

平板第三方电容笔怎么样?便宜的ipad触控笔推荐
苹果原装的电容笔与国产的平替电容笔最大的区别在于,平替电容笔只有一个斜面压力感应,而苹果电容笔既有斜面压力感应,又有重力压力感应。但是,如果你不经常使用它来进行绘画的话,你也不必买选择这款苹果电容笔…...

pytorch_神经网络构建3
文章目录 卷积神经网络实现卷积层,池化层池化层:数据标准化AlexNet卷积网络深层网络结构vgggoogleNet网络结构ResNet网络结构DensNet网络结构训练卷积神经网络会遇到的一些问题学习率衰减 卷积神经网络 前面讲述了逻辑回归分类,模拟函数回归问题,单层,深层网络,它们以点和向量…...
遗传算法入门笔记
目录 一、大体实现过程 二、开始我们的进化(具体实现细节) 2.1 先从编码说起 2.1.1 二进制编码法 2.1.2 浮点编码法 2.1.3 符号编码法 2.2 为我们的袋鼠染色体编码 2.3 评价个体的适应度 2.4 射杀一些袋鼠 2.5 遗传--染色体交叉(crossover) 2.6 变异--基…...
【golang】go 返回参数 以及go中 裸返
一、Go 返回参数命名 在Golang中,命名返回参数通常称为命名参数。 Golang允许在函数签名或定义中为函数的返回或结果参数指定名称。或者可以说这是函数定义中返回变量的显式命名。基本上,它解决了在return语句中提及变量名称的要求。 通过使用命名返回参…...

elasticsearch深度分页问题
一、深度分页方式from size es 默认采用的分页方式是 from size 的形式,在深度分页的情况下,这种使用方式效率是非常低的,比如我们执行如下查询 1 GET /student/student/_search 2 { 3 "query":{ 4 "match_all":…...

32、Flink table api和SQL 之用户自定义 Sources Sinks实现及详细示例
Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...

Java练习题-用冒泡排序法实现数组排序
✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:Java练习题 💬个人格言:不断的翻越一座又…...

【SV中的多线程fork...join/join_any/join_none】
SV中fork_join/fork_join_any/fork_join_none 1 一目了然1.1 fork...join1.2 fork...join_any1.3 fork...join_none 2 总结 SV中fork_join和fork_join_any和fork_join_none; Note: fork_join在Verilog中也有,只有其他的两个是SV中独有的; 1 一目了然 1.…...

翻译:网站整站翻译 / 网站国际化 / 极简实现
一、本文目标 以极简单的方法实现整站翻译,轻松实现国际化。 二、js 文件 https://res.zvo.cn/translate/translate.js 三、代码 代码放在浏览器控制台即可实现 var head document.getElementsByTagName(head)[0];var script document.createElement(script);sc…...

深度森林(deep-forest)安装
深度森林(deep-forest)安装 1、打开https://pypi.org/,搜索deep-forest,下载wheel文件 在下载好之后,打开文件下载的位置 首先对下载好的wheel文件进行改名,原名是: deep_forest-0.1.7-cp39-c…...
ping.pe ping 检测IP全球延迟
可以把结果保存为照片 https://ping.pe/全球ping ping ip端口检测 IP:PORT路由追踪 mtr IP 参考 ping.pe...

nodejs 16版本
Index of /download/release/latest-v16.x/...

NSSCTF做题(7)
[第五空间 2021]pklovecloud 反序列化 <?php include flag.php; class pkshow { function echo_name() { return "Pk very safe^.^"; } } class acp { protected $cinder; public $neutron; …...
【GIT版本控制】--高级分支策略
一、分支合并策略 在Git中,高级分支策略是为了有效地管理和整合分支而设计的。其中一个关键方面是分支合并策略,它定义了如何将一个分支的更改合并到另一个分支。以下是几种常见的分支合并策略: 合并提交策略(Merge Commit Stra…...
【Qt控件之QDialog】使用及技巧
简介 QDialog是Qt中的一个类,继承自QWidget类,用于创建对话框窗口,可以显示模态(阻塞当前窗口)或非模态的对话框。对话框可以包含各种控件,如按钮、文本框等,用于与用户进行交互。 主要函数说…...

Transformer预测 | Python实现基于Transformer的股票价格预测(tensorflow)
文章目录 效果一览文章概述程序设计参考资料效果一览 文章概述 Transformer预测 | Python实现基于Transformer的股票价格预测(tensorflow) 程序设计 import numpy as np import matplotlib.pyplot...
spark sql如何行转列
在数据仓库中,行转列通常称为”变形”(Pivoting) 或 “透视”(Pivoting),可使用Spark SQL的pivot语句实现。下面是一个简单的示例: 假设我们有如下表格: -------------------- | name | brand | year | -------------------- |…...

Prompt-Tuning(一)
一、预训练语言模型的发展过程 第一阶段的模型主要是基于自监督学习的训练目标,其中常见的目标包括掩码语言模型(MLM)和下一句预测(NSP)。这些模型采用了Transformer架构,并遵循了Pre-training和Fine-tuni…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...