Creato da pastuweb.com
Share My Page
My Social Accounts
Account FaceBook Account LinkedIn Account Twitter Account Google Plus Account Git Hub

The code that a developer writes, especially as a server-side, enterprise Java / .NET developer, should be agnostic with respect to where the code itself gets deployed.

For instance: A web application that is developed using JSF or Spring-MVC can be deployed to an application server like JBoss, WebLogic, Tomcat, etc. 

From a developer's position, it does not really matter if the application server is running on an on-premise physical server or in the Cloud (on a ready-made environment or a virtual server). So, in what ways is the emergence of cloud computing impacting application developers?

Virtualizzation

When development is done without virtualization or cloudsteams are usually limited in the number of physical servers and environments (development test, production, etc). On the other hand, when virtual machines or cloud instances are used, development teams have practically an unlimited number of servers easily available to them. There is no need to wait for physical servers to be setup or become free.

To nave many instances as needed also enables developers to innovate. A team can produce a development environment quickly. This approach is very "agile" and encourages experimentation.

Developers' effectiveness

With software growing in importance, developer effectiveness will be a crucial factor for every company's competitiveness. In the world information technology, enterprise applications must be designed, built and produced for less money, with greater speed and with fewer resources. Cloud platforms reduce overall development time by an average of 11.6%.

New tools for developers
  • for source control
  • continuous integration
  • automated testing
  • application lifecycle management

This tools are now available as SAAS in the Cloud.

The online IDE is one of the final frontiers of apps ported to the web. So you can develop from any computer or operating system and have the same experience without having to install software or create site definitions. You will edit code anytime, anywhere. Example: Koding, Cloud9 IDE, Codeanywhere, Codenvy, ShiftEdit.

Other tools:

GitHub: is a very popular choice for version of control and source code management. It is the best way to collaborate with others. Other examples are: CloudForge, BitBucket, Jira Studio, Code2CLou, Google Code.

MongoDB: for NoSQL database. It is "document-oriented" which means, instead of storing data in tables as is done a "classical" relational database like MySQL, MongoDB stores structured data JSON-like documents with dynamic schemas. Others examples are: CouchDB, Cassandra.

Collaboration

Is one area where the Cloud is ahead than on-premise system.

The CLoud makes it easy for developers to share their work with other team members all over the world.

New programming languages

Like Clojure, Dart, Scala, Ceylon, Go, Puppet, etc.

The approach to application architecture

Cloud doesn't change the way developers write single classes or methods BUT the developers now need to grow and acquire the skill necessary to write software for the parallel, multi-CPU, asynchronous systems.

Developers need to get comfortable with Big Data, non-relational databases, and learn distributed data processing platforms like Hadoop.

The enterprise developer needs to know the capabilities that cloud-based solutions provide and how to apply them when cloud-based technology is a good fit for a particular business problem.

DevOps

It's the union of developer and systems administration skill sets.It represent the ability to self-provision development and testing environments, so you can get moving on application builds without having to wait for hardware and software from the Ops team.

 

Teams that adopt the cloud solutions can start a project quickly with everything  they need to get going, without worrying about setting up tools and systems, waiting for servers or IT staff etc.