Software Development Takes to the Cloud

By Dmitry Yakovlev

March 27, 2012

Cloud Landscape

There are four major cloud computing platforms available on the market today which should be known and understood in order to select the best option for which to execute secure custom applications within this arena: Amazon EC2, Windows Azure, Google App Engine and Force.com. Each of these platforms is a more or less successful attempt to commercialize internally-crafted virtualization technology. While Amazon and Microsoft succeeded in building general-purpose cloud environments, Google and SalesForce remain niche players due to rudiments of internally-grown technology and the use of programming languages like Python and APEX.

In the years to come, cloud computing will take a substantial piece of the market from traditional deployment models. This implies growing demand for applications that can operate in a cloud environment, and for software engineers skilled in cloud computing technologies. Since commercial software development is driven by enterprises which prefer mainstream technologies, Amazon EC2 and Windows Azure are likely to be the two platforms of choice for software developers. Considering the fact that both platforms can host applications written in different programming languages, one should denote Java and .NET as primary development platforms for Amazon EC2 and Windows Azure respectively.

Cloud Concepts

  1. The first logical step is to become familiar with cloud-related concepts and to adopt the principles of cloud application development. From a software developer’s perspective, cloud can be treated as a way to get on-demand access to two types of scalable resources: compute (CPU) and storage which are available via services provided by the cloud platform.

  2. The second step is to learn how Windows Azure hosting environment works in detail. There is a good presentation at Channel9 describing platform infrastructure and application lifecycle. As result of this step, a developer should recognize and adopt the following ideas:

  • Cloud application runs in a bare Windows 2008 operating system.
    Don’t assume that Windows Azure hosting environment has any preinstalled software – it’s a bare operating system. Any functionality, usually supported by preinstalled software, should be instead implemented within the application hosted on Windows Azure.

  • The application instance can be recycled by the platform at any point of time.
    Everything stored on a local disk drive memory will be deleted once the instance is recycled. To preserve the data and make it available to other instances, use Windows Azure Storage services.

  • Cloud application runs in a concurrent environment.
    Services provided by Windows Azure platform are designed to operate in concurrent environments with the use of “try and correct” pattern. The application should follow this pattern and properly handle cases in which access to a service is declined by repeating the operation later. Another aspect to keep in mind in that a Web application under Windows Azure always runs behind a load balancer.

The Cloud in the Application Development Space

Cloud provides a way to get on-demand access to computing and storage resources. Cloud platforms hide the complexity of building and managing infrastructure required to store large amounts of data and run numerous application instances from a software developer thus allowing the developer to focus on the functionality of the application. For years, companies like Amazon, Microsoft and Google have been engaged in building the technologies that make up today’s clouds. Now, with clouds available to the public, a wide community of software engineers can leverage these advanced technologies to build reliable high-performance systems in less time and at a lower cost. Combined with dramatically reduced up-front investments in hardware required for high-performance systems, cloud technologies create a lot of market opportunities for small companies and ventures.

How Cloud Computing Impacts Security and Security Strategies

Security is a series of measures implemented by the application itself and the environment hosting the application. The traditional on-premise environment is responsible for a significant piece of security measures such us authentication, authorization, logging, traffic filtering, encryption, malware protection and so on. When moving to cloud, the environment doesn’t support many of these measures anymore, so they should be implemented by the application itself (if possible). That means that software engineers developing cloud applications should pay more attention to security. The things to keep in mind are multi-tenancy, storing access keys, data encryption, logging, limited means of traffic filtering and data backup.

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

InfiniBand Still Tops in Supercomputing

July 19, 2018

In the competitive global HPC landscape, system and processor vendors, nations and end user sites certainly get a lot of attention--deservedly so--but more than ever, the network plays a crucial role. While fast, perform Read more…

By Tiffany Trader

HPC for Life: Genomics, Brain Research, and Beyond

July 19, 2018

During the past few decades, the life sciences have witnessed one landmark discovery after another with the aid of HPC, paving the way toward a new era of personalized treatments based on an individual’s genetic makeup Read more…

By Warren Froelich

WCRP’s New Strategic Plan for Climate Research Highlights the Importance of HPC

July 19, 2018

As climate modeling increasingly leverages exascale computing and researchers warn of an impending computing gap in climate research, the World Climate Research Programme (WCRP) is developing its new Strategic Plan – and high-performance computing is slated to play a critical role. Read more…

By Oliver Peckham

HPE Extreme Performance Solutions

Introducing the First Integrated System Management Software for HPC Clusters from HPE

How do you manage your complex, growing cluster environments? Answer that big challenge with the new HPC cluster management solution: HPE Performance Cluster Manager. Read more…

IBM Accelerated Insights

Are Your Software Licenses Impeding Your Productivity?

In my previous article, Improving chip yield rates with cognitive manufacturing, I highlighted the costs associated with semiconductor manufacturing, and how cognitive methods can yield benefits in both design and manufacture.  Read more…

U.S. Exascale Computing Project Releases Software Technology Progress Report

July 19, 2018

As is often noted the race to exascale computing isn’t just about hardware. This week the U.S. Exascale Computing Project (ECP) released its latest Software Technology (ST) Capability Assessment Report detailing progress so far. Read more…

By John Russell

InfiniBand Still Tops in Supercomputing

July 19, 2018

In the competitive global HPC landscape, system and processor vendors, nations and end user sites certainly get a lot of attention--deservedly so--but more than Read more…

By Tiffany Trader

HPC for Life: Genomics, Brain Research, and Beyond

July 19, 2018

During the past few decades, the life sciences have witnessed one landmark discovery after another with the aid of HPC, paving the way toward a new era of perso Read more…

By Warren Froelich

D-Wave Breaks New Ground in Quantum Simulation

July 16, 2018

Last Friday D-Wave scientists and colleagues published work in Science which they say represents the first fulfillment of Richard Feynman’s 1982 notion that Read more…

By John Russell

AI Thought Leaders on Capitol Hill

July 14, 2018

On Thursday, July 12, the House Committee on Science, Space, and Technology heard from four academic and industry leaders – representatives from Berkeley Lab, Argonne Lab, GE Global Research and Carnegie Mellon University – on the opportunities springing from the intersection of machine learning and advanced-scale computing. Read more…

By Tiffany Trader

HPC Serves as a ‘Rosetta Stone’ for the Information Age

July 12, 2018

In an age defined and transformed by its data, several large-scale scientific instruments around the globe might be viewed as a ‘mother lode’ of precious data. With names seemingly created for a ‘techno-speak’ glossary, these interferometers, cyclotrons, sequencers, solenoids, satellite altimeters, and cryo-electron microscopes are churning out data in previously unthinkable and seemingly incomprehensible quantities -- billions, trillions and quadrillions of bits and bytes of electro-magnetic code. Read more…

By Warren Froelich

Tsinghua Powers Through ISC18 Field

July 10, 2018

Tsinghua University topped all other competitors at the ISC18 Student Cluster Competition with an overall score of 88.43 out of 100. This gives Tsinghua their s Read more…

By Dan Olds

HPE, EPFL Launch Blue Brain 5 Supercomputer

July 10, 2018

HPE and the Ecole Polytechnique Federale de Lausannne (EPFL) Blue Brain Project yesterday introduced Blue Brain 5, a new supercomputer built by HPE, which displ Read more…

By John Russell

Pumping New Life into HPC Clusters, the Case for Liquid Cooling

July 10, 2018

High Performance Computing (HPC) faces some daunting challenges in the coming years as traditional, industry-standard systems push the boundaries of data center Read more…

By Scott Tease

Leading Solution Providers

SC17 Booth Video Tours Playlist

Altair @ SC17

Altair

AMD @ SC17

AMD

ASRock Rack @ SC17

ASRock Rack

CEJN @ SC17

CEJN

DDN Storage @ SC17

DDN Storage

Huawei @ SC17

Huawei

IBM @ SC17

IBM

IBM Power Systems @ SC17

IBM Power Systems

Intel @ SC17

Intel

Lenovo @ SC17

Lenovo

Mellanox Technologies @ SC17

Mellanox Technologies

Microsoft @ SC17

Microsoft

Penguin Computing @ SC17

Penguin Computing

Pure Storage @ SC17

Pure Storage

Supericro @ SC17

Supericro

Tyan @ SC17

Tyan

Univa @ SC17

Univa

  • arrow
  • Click Here for More Headlines
  • arrow
Do NOT follow this link or you will be banned from the site!
Share This