热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

技术人观点:开发人员在处理云应用时该注意什么?

我们与28位分别来自23家企业的高管人员进行了交流,希望了解这些负责立足于云环境进行应用程序开发与部署的技术领导者如何看待相关议题。当被问及“开发人员需要在处理云应用

我们与28位分别来自23家企业的高管人员进行了交流,希望了解这些负责立足于云环境进行应用程序开发与部署的技术领导者如何看待相关议题。

当被问及“开发人员需要在处理云应用时注意什么?”时,各位企业高管人员给出了以下意见与建议:

应用程序性能管理应该分为主动与被动两类,特别是在面对开发与生产等不同场景的情况下。我们需要在开发阶段获取更多测试信息。APM工具将帮助我们在应用直接触及生产环境前对其加以测试,并有效缩短产品进入生产环境并被交付至用户手中的周期。

了解应用程序的十二因素。如何对应用程序中的服务进行远程消费?了解其中的关联性是解决问题的关键所在。

开发人员应当保持云中立性。所有应用程序都需要具备可移植能力。对于高级应用程序,我们需要将云因素排除在设计蓝图之外。在编写应用时,保持其云中立特性、构建通用API并封装特定的云依赖关系。大家不要假定使用某种特定虚拟机。为应用选定运行区域,这对安全性非常重要要。不过VCenter不具备分区特性,因为其主要面向私有云所构建。我们需要在设计之初考虑到这些前提。如果大家打算面向公有云进行应用开发,则需要利用微服务实现规模扩展——即考虑单一服务规模所带来的多重影响。沙箱属于Amazon以及V Container接口的缩影,大家可以借此了解二者之间的冲突点所在。

跳出固有思维,因为老派开发人员采用的方法往往无法适应当前需求。了解业务需求与客户需求,并为问题提供最为简单的解决方案。针对需求进行实现方法定制。保持统一的发展愿景,同时着眼于目标及需要解决的问题进行知识共享(使用JetBrains中的UTrack以及JIRA实现协作,尽可能提高社交水平)。大家需要通过添加简化要素尽可能降低应用复杂度。

积极动手。选定一款简单应用,然后立足于AWS进行构建——这也正是AWS的最大价值所在。API与使用指南都是学习云服务相关知识的绝佳途径。

考虑应用何时需要进行规模扩展,应用中的哪些组件需要进行规模扩展。立足于容器架构实现诸如登录等功能,从而建立共享式应用。必须保证自己具备按需扩展的能力。审视使用模式并考虑不同类型的用户是否应当采用同样的使用模式。了解我们不希望亲手构建的部分——换言之,了解我们可以直接使用哪些后端即服务选项(例如API网关以及数据管理服务)。了解哪些元素可以具备云服务供应商锁定特性在,则哪些能够帮助我们在市场上获取差异性优势。

利用逻辑、数学与艺术手段构建用户界面——同时使用各类更为先进的编程语言。利用自己的技能对应用做出转型。寻找一位导师,在其帮助下打下坚实的专业知识基础,这些都将在未来起到重要作用。另外,在工作中保持激情。

利用黑客马拉松活动实现快速高效的应用开发。认真审视安全性。鼓励开发人员与软件团队参与黑客马拉松,从而快速构建应用程序并提供更出色的用户体验。部署前快速发现问题,而非完全依赖于测试部门。

考虑哪些组件可以发生故障,利用AWS与GCQ启动对应实例,直接查看哪些组件正常起效而哪些遇到了问题。持续测试并了解开发成果的实际执行效果。

不要对应用程序的运行位置进行假设。保证所构建的应用能够运行在任意环境当中。从起步阶段将安全考量纳入开发流程。构建抽象机制,从而保证应用可由一种云环境迁移至另一种当中。不要过度依赖于单一云环境或者技术方案。

安全性——关注最为重要的方面,特别是隔离各租户的数据并保护敏感数据。

可扩展性——必须有能力在特定时间段内处理峰值资源需求。

成本控制——优化应用程序以实现成本效益,由于公有云资源在进行性能与扩展性优化时成本较高,这一点也变得愈发重要。基础设施成本如今主要由软件厂商而非客户承担。

日志记录——最重要的是能够调试问题并捕捉一切与故障相关的信息,从而在尽可能无需客户协助的前提下实现问题修复。

可部署性——SaaS的一大重要优势在于能够随时实现快速部署。我们的架构必须能够处理实时部署,从而轻松应对客户直接可见的零宕机时间效应。

多租户——这一点对于内部环境开发人员而言最难解决,因为此类应用并非面向防火墙后的单一客户所构建。

自动化——底层基础设施必须以自动化方式实现设施部署与扩展性调整,且无需大量人为介入。

了解如何利用特定指南资料实现模式设计。云环境下的设计模式往往缺乏充足的说明素材,从业者对其亦理解不深。我们需要率先考量模式相关问题。对设计模式进行抽象化处理,从而确保我们始终参与其中并由此实现职业生涯积累。在了解到基础模式之后,大家可以逐步体会更为复杂的执行模式。不要重复过去犯过的错误。很多人都从阅读说明文档开始学习。事实上,观察他人的工作成果,掌握他人的工作经验并阅读博文以及在线资源等都是很好的学习方式。很多企业已经开始公开讨论其云架构。大家不妨观察十家不同企业所使用的架构与实现模式。这将帮助大家在构建自己的解决方案时拥有更为开阔的思路。

不要忘记,云环境是一套非常强大的开发平台。充分利用云与其它各类资源。利用云服务实现快速迭代、频繁部署并最终打造出高质量应用。

可扩展性与安全性。开发人员需要从起步阶段认真思考安全性需求。将零宕机时间作为前提性目标。

性能与指令。尽可能在代码中添加指令,从而简化未来的故障排查工作。数小时的服务宕机有可能带来数百万美元损失。了解APM配置并构建修复指令。另外,在性能层面确定哪些状况可以接受,而哪些绝对不能接受。

脱离应用本身从技术层面审视V5原则。服务器架构正是我们的指向目标(例如Amazon Lambda——其中包含一段代码,在被调用时会运行Nano服务)。

目前已经有大量平台开始引入众多业务功能,这意味着我们可以借此创建预测模型,同时定义业务算法并为预测模型提供分析素材。立足于开发领域的知识,并将其与抽象思维结合起来。Google Tensor Flow、Google Now以及微软目前都开始提供开源机器学习服务。大家可以考虑如何利用这些新成果解决问题。

考虑到越来越多的应用遭受黑客攻击,我们需要始终将安全性作为关注重点。安全性与可靠性可谓相互依存。确保应用具备应对流量峰值以及长期发展所需要的扩展能力。尽快帮助客户从应用中获取价值。

了解当前可供使用的各类工具。着眼于规模化及性能水平进行应用设计。预测可能发生的变化。着眼于产品的当前作用,并预测其如何与企业环境下的其它产品进行集成。保证应用具备可扩展能力。将安全性引入其中,否则我们的应用将无法通过合规审查。将用户体验视为设计工作的核心。

自动化与验证机制。如果大家在云应用中使用现代工具方案,但却发现其并不适应当前实际需求,那么请果断将目光转回较为陈旧的实现模式。通过互联网了解其它厂商的实际作法。尽可能利用开源工具实现大规模迁移(例如Netflix)。通过这种方式,大家将获得出色的思维方式与解决方案。

安全性为先,保证应用中不存在可被利用的漏洞。坚持使用多租户环境以实现规模化成本效益。

开发者与DevOps团队需要以云原生角度理解应用程序,而非服务交付方式。很多工具内置有大量功能,但往往并不切合我们的实际需求。因此大家应当进一步学习与性能表现、用户体验以及面向最终用户的应用服务效果相关的知识。了解应用是否可用且是否具备用户友好特性。掌握应用依赖性与可扩展性。与DevOps及运维团队交流,从而了解代码成果的实际运行情况。

大家对于开发人员处理云应用的方式这一议题又有哪些观点?请在评论中与我们分享。


本文转自d1net(转载)



推荐阅读
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文将详细介绍多个流行的 Android 视频处理开源框架,包括 ijkplayer、FFmpeg、Vitamio、ExoPlayer 等。每个框架都有其独特的优势和应用场景,帮助开发者更高效地进行视频处理和播放。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 混合云架构在本地与云服务间寻求平衡的有效性探讨
    随着云计算技术的发展,混合多云架构因其灵活性和高效性而备受关注。本文将深入探讨混合多云(简称混合云)如何通过结合本地基础设施与云端资源,为企业提供一个更为平衡且高效的IT解决方案。 ... [详细]
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • Jira 是由澳大利亚 Atlassian 公司开发的一款高效的问题追踪与项目管理工具,广泛应用于软件测试领域。它不仅能够对各类问题进行精准跟踪,如缺陷管理和任务分配,还能通过灵活的工作流定制和丰富的插件生态系统,显著提升团队协作效率和项目透明度。Jira 在软件测试中的应用,不仅有助于提高测试效率,还能确保产品质量,是现代软件开发团队不可或缺的工具之一。 ... [详细]
  • 本月初,我们为大家推荐了一系列精选书单,助力大家提升技术水平。月底,我们将介绍几位行业大牛,帮助大家找到人生导师。InfoQ一直致力于为用户提供有价值的资源和支持。 ... [详细]
  • 图数据库与传统数仓实现联邦查询使用CYPHER实现从关系数据库过滤时间序列指标一、MySQL得到研报实体在Oracle中的唯一ID二、Oracle中过滤时间序列数据三、CYPHER ... [详细]
  • 本文详细介绍了 com.apollographql.apollo.api.internal.Optional 类中的 orNull() 方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • This feature automatically validates new regions using the AWS SDK, ensuring compatibility and accuracy. ... [详细]
  • 使用参数“includeProcessVariables”:“true”进行RESTAPI调用以查询历史任务时,最多返回2 ... [详细]
author-avatar
菜蕻的薇笑2602929033
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有