在 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…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...