热门标签 | 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(转载)



推荐阅读
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 如果程序使用Go语言编写并涉及单向或双向TLS认证,可能会遭受CPU拒绝服务攻击(DoS)。本文深入分析了CVE-2018-16875漏洞,探讨其成因、影响及防范措施,为开发者提供全面的安全指导。 ... [详细]
  • 全新发布的自我修复与自我更新的Linux版本,专为云计算环境设计! ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文探讨了使用Python进行微服务架构设计的合理性和适用性。首先,介绍了微服务的基本概念及其在现代软件开发中的重要性。接着,通过具体的业务场景,详细分析了Python在微服务架构设计中的优势和挑战。文章还讨论了在实际应用中可能遇到的问题,并提出了相应的解决方案。希望本文能够为从事Python微服务开发的技术人员提供有价值的参考和指导。 ... [详细]
  • 为了评估精心优化的模型与策略在实际环境中的表现,Google对其实验框架进行了全面升级,旨在实现更高效、更精准和更快速的在线测试。新的框架支持更多的实验场景,提供更好的数据洞察,并显著缩短了实验周期,从而加速产品迭代和优化过程。 ... [详细]
  • Hired网站最新发布的开发者调查显示,Python 语言继续受到开发者的广泛欢迎,而 PHP 则被评为最不受欢迎的语言。该报告基于 Hired 数据科学团队对 13 个城市中 9800 名开发者的调查数据,深入分析了当前编程语言的使用趋势和开发者偏好。此外,报告还探讨了其他热门语言如 JavaScript 和 Java 的表现,并提供了对技术招聘市场的洞见。 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 本文深入探讨了Spring Cloud Eureka在企业级应用中的高级使用场景及优化策略。首先,介绍了Eureka的安全配置,确保服务注册与发现过程的安全性。接着,分析了Eureka的健康检查机制,提高系统的稳定性和可靠性。随后,详细讨论了Eureka的各项参数调优技巧,以提升性能和响应速度。最后,阐述了如何实现Eureka的高可用性部署,保障服务的连续性和可用性。通过这些内容,开发者可以更好地理解和运用Eureka,提升微服务架构的整体效能。 ... [详细]
  • 如何正确配置与使用日志组件:Log4j、SLF4J及Logback的连接与整合方法
    在当前的软件开发实践中,无论是开源项目还是日常工作中,日志框架都是不可或缺的工具之一。本文详细探讨了如何正确配置与使用Log4j、SLF4J及Logback这三个流行的日志组件,并深入解析了它们之间的连接与整合方法,旨在帮助开发者高效地管理和优化日志记录流程。 ... [详细]
  • 2018年热门趋势:轻松几步构建高效智能聊天机器人
    2018年,构建高效智能聊天机器人的简易步骤成为行业焦点。作为AI领域的关键应用,聊天机器人不仅被视为企业市场智能化转型的重要工具,也是技术变现的主要途径之一。随着自然语言处理技术的不断进步,越来越多的企业开始重视并投资于这一领域,以期通过聊天机器人提升客户服务体验和运营效率。 ... [详细]
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社区 版权所有