Cloud software development needs rethinking

Cloud software development needs rethinking The software model has always been: running the application, and then the application is running on the platform. However, due to the rapid development of infrastructure, the basic principles of application design and deployment do change from time to time - sometimes this change is still fierce.

For example, the advent of PC and x86 architectures in the 1980s and the emergence of the client/server model have changed the principles of application design. Then, with the advent of web and open source technologies in the mid-1990s, they have changed dramatically. Every time this sudden change occurs, developers are forced to reflect on the way software is developed and deployed.

The current infrastructure capabilities have seen a new leap forward, led by Amazon Web Services (especially under the premise of a dramatic increase in network speed). Obviously, in order to be able to take full advantage of the new cloud infrastructure, applications that are successful on AWS must be essentially different from those running on enterprise servers—even those running on virtual servers. In addition, there are other factors that determine the design of the cloud application must be different from the past. The following are some of the key factors that have also determined the evolution of the old and new worlds:

Scalability

The expansion of the old world was achieved through capacity expansion - if you want to accommodate more users or data, you only need to purchase a larger pair of servers.

In the new world, scalability is usually achieved through horizontal scaling. It is not the larger machines that are to be added, but the multiple machines of the same type. In the cloud world, those machines are virtual machines.

elasticity

Previously, software was unreliable and resiliency was implemented at the hardware level.

Today, the underlying infrastructure hardware is seen as a weakness, so the application must adapt itself. The application does not guarantee that every virtual machine instance is working properly. It doesn't matter if a single virtual machine fails for a while. Applications must be prepared for this.

Take Netflix for example, this can be said to be the most advanced cloud user, and it is the furthest pace on the road to cloud applications. They have a process called ChaosMonkey that randomly kills virtual machine instances under application load. What is the purpose of this? It is to ensure the normal operation and resilience of the application: By forcing the application to face random instance loss, it forces application developers to develop more flexible applications.

Explosive

In the old world, applications such as finance and payroll are generally very stable and predictable. The number of system users and the number of pending records at a particular moment are basically known.

In the new world, the workload is changeable and unpredictable. The tentacles of today's software systems must stretch farther. To reach consumers and devices with service needs, the time is unpredictable and the load cannot be measured (think about the 12306 website that has become the target of public criticism). To adapt to these unforeseen fluctuations in independent application load requires a new architecture. Although we are now on the cloud, it is clearly still in its infancy.

Software diversity

In the past, software did not have much diversity. Each application is written in one language, using a database. Companies generally rely on one or a few operating systems. The software stack is simple enough to be boring (at least for now).

In the new world of cloud, the situation is very different. An application may use many different languages, different libraries, different toolkits, and different database products. At the same time, since you can create and launch your own image in the cloud, and customize it according to specific needs, a company's application must be able to run on various configurations.

From virtual machine to cloud

There is a difference between a relatively newer hypervisor and modern cloud thinking. Virtualization pioneers and leaders VMware's development of hypervisors is essentially the same as physical machines.

In the cloud, virtual is not a representation of a physical server but a representative of a computing unit.

User's patience

In the old world, users have to be patient with their education. Because the system's response may take a long time to complete some simple extraction or update requests, the addition of new features is also slow.

In the new world, users are impatient. They can hardly tolerate delays and are unwilling to wait. They want the software to be updated frequently, if not every day, at least weekly. You can find relevant evidence in self-service IT. There, you don't hand out the notes to the IT department and wait for a few days to respond. The resources the user needs are self-provided.

Features:

  • With multi-core(2-8 core) design to fit with different industrial needs
  • Design snap lock ensures stable and security firm
  • Humanization design achieved blind operation
  • Both soldering and crimpng are avaliable
  • Socket and internal made of zinc alloy, with well protected eletromagnetic and radio frequency interference
  • Gold-plated, high strength corrosion resistance and electrical conductivity
  • Shell made of material PBT, Stable electrical performance, high strength and resistance to pressure, high temperature resistance, anti-explosion, anti-corrosive
  • Both cable connector to cable connector and cable connector to panel mounting are available

Waterproof Harness

Waterproof Harness,Dayton Wire Harness,Modernize Wiring Harness,American Auto Wire Harness

Dongguan YAC Electric Co,. LTD. , https://www.yacenter-cn.com

Posted on