If you understand the cloud correctly

Source: Internet
Author: User
Keywords cloud computing
Tags application applications based behavior clear click cloud cloud application

Cloud-based applications typically draw the user's creative mindset into the so-called "declarative programming" of those vendors: clear, point-and-click behavior, and others, as well as some configuration and setup , Rules and formulas and other things. Because there are many reasons for ease of use, many multitasking workloads and some easy to test are our options. Of course, if you have a large number of cloud application users and a lot of user usage under the same circumstances, there is very little help with a declarative development approach: you will be content with The presentation layer and business logic are used to write some code. In some cloud-related environments, you even deal directly with transactional layers and metadata.

Of course, if you're using a cloud-based open or deployment environment, you start with all three layers of Model, View, and Controller Patterns (MVC). For IT professionals, this is nothing new.

However, cloud development does bring some new challenges, as cloud development is still in its early stages. For example:

• No central mechanism: not only are users scattered, but developers may be located anywhere and services are distributed in several places. There is no central repository for application models, code, test databases, or application artifacts, unless you create a central repository with your favorite version control system and wikis. Just create one.

• You usually have to deal with several languages ​​at once: Even if you're dealing with just one application, you still have to use a lot of cross-language references. For example, your code might call a Java library, an internal application function, or a script. Your user interface may call jquery, JavaScript, JavaScript frameworks, native file system utilities, AJAX, Flex, and other languages. The code written in this way is very powerful and efficient, but it can be very difficult to exclude and debug the code. Try to keep the total number of languages ​​in use to no more than five. May wish to give it a try.

• Different development tools affect the code structure: From code analysis and design through to code testing and deployment, some: Some tools allow (or even encourage) the use of extremely sophisticated and scalable code structures. Some of the more fanciful tools appear only on the Windows platform, so developers using both Mac and Linux have a different experience with the systems you write, including development time and deployment time. This is even more true for code debugging; the same is true of the user interface.

Cloud code evaluation criteria

Assuming cloud code can be up and running, but also to meet user needs, but also to assess what aspects of the code? May wish to look at the basic aspects:

• Performance: In cloud applications, performance is usually measured by "screen refresh time," because users think the screen refresh time is "finish time." Instead of doing this on a 3 GHz, quad-core, high-performance machine with 16GB of memory, you perform this evaluation on a typical user machine (say, a three-year laptop). Two factors often determine the obvious performance: the period before the cloud environment's server responded to the request, and the time the screen was rendered. Pay attention to these three deadly elements when evaluating cloud code: unreasonable queries, excessive network cumbersomeness (especially when several web services are invoked), and excessive page length or view state.

• Deployability: Although it is possible to release a bug-corrected version of a module in seconds, the right thing to do is have a fairly comprehensive test cycle ahead of any deployment (for production systems, Salesforce.com Even require a full test). However, in the case of large applications, the deployment may include modifications to the metadata, configuration tables, application artifacts, and test data along with the code. Of course, deployment automation can be achieved using the Concurrent Versioning System (CVS) and the scriptable programming engine. The order of testing can also be automated. The real question is: is this automation really in place, is the test cycle done in a reasonable amount of time? A system we recently developed recently took hours to run a mandatory testing cycle. This makes the application really up and running, and we strongly recommend screening vendors based on this benchmark.

• Describe the depth and breadth of the document: You can argue that I'm an unrealistic idealist, but cloud applications have more detailed documentation than traditional applications. There are different ways to write documentation for cloud applications. Everyone is still in the process of continuous learning, so make sure to evaluate the code of the purchased applications and integrators based on this benchmark.

In addition there is a persistent problem: maintainability.

The following words do not sound like advisors, but "it's up to you and what you're trying to achieve." For example, if you're only using commercial cloud apps, it's not necessary Try to protect yourself. So, "maintainability" is equivalent to "SLA" (service level agreement). (If you're using an open source cloud application, maintainability is the equivalent of "looking outside of the consultant for the codebase?")

But if you're developing your own cloud applications or extending existing cloud applications with pages, triggers, and classes, you need to evaluate the code and check the ease of code in terms of analysis, scaling, and troubleshooting. A common myth is that it is always best to use the most common and scalable code. While good scalability and avoiding hard coding is a good thing, it's no different if you overdo it with code. Make sure you evaluate the "readability index" of the code, asking your staff to do a code walkthrough yourself. If programming is too abstract and opaque, you'll always rely on the integrator who originally wrote the code.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.