The Beast of Burden: Cloud-Enabling Your Applications

5 steps to get the most of your cloud

Whichever development environment you choose for new apps, here are five tips for getting the most out of the applications you develop for your cloud:

Learn to share

Developing for the cloud is different than developing for conventional in-house hardware.Rather than requiring applications to have their own database, storage, communication and authentication mechanisms, the cloud can offer common, shared components accessible via an API.These common components can then be built in a scalable, modular, secure way so that the developer doesn’t have to worry about scaling or backing up a database.

The advantage?

By leveraging common services, developers can build more scalable applications in less time, allowing the developer to focus more on the client’s needs than the application’s requirements.

Get the most out of PaaS

The end game of shared services is to provide a suite of services which are easily accessible and a system for managing environments, users and the deployment of code.Developers and testers can easily deploy and promote tested code using the auto deployment features inherent in most platform as a service (PaaS) environments.This offers additional advantages such as the ability to snap a new functionality into an existing application.

For example, if there’s a common API on the shared platform for sending out robo-calls, the client could add that functionality to their order entry system. This would allow the system to call customers to tell them their orders are ready. In a PaaS environment, time to add new functionality can be significantly reduced.

Become omniscient

Within the cloud, enhanced monitoring tools and dashboards give developers the ability to predict utilization and right-size resources on the fly to meet the needs of the user base much more easily and cost effectively than they can in a physical infrastructure.This allows the developer to size cloud applications to more nominal resource levels rather than over designing the initial infrastructure. Through enhanced monitoring tools the cloud offers, additional instances of the application can be spun up or down as needed.It also gives IT pros the ability to debug issues quickly and much more easily than in a physical infrastructure.

Give orchestration a second look

Clouds can contain an orchestration layer that enables rapid provisioning of whole environments (VMs, software, configuration, etc.).A lot of clients believe that because an application is difficult to set up, it is not a candidate for automatic self provisioning, but that is exactly when it makes the most sense.Orchestration can automate standard processes, such as deploying an entire testing environment so, orchestration, together with a self-provisioning portal and monitoring capability, can be an extremely powerful tool.

Rely on self-service

Most clouds have some aspect of self provisioning of at least VMs, and in the case of orchestration, entire environments.This means developers and quality assurance (QA) teams can have access to applications when and where they need to.Having an orchestration layer to give them a measure of controlled self service and a stable testing environment leads to increased efficiencies in development, testing and deployment of applications in the cloud.

Get your teams talking

One of the biggest challenges in leveraging cloud technology for your applications is the disconnect that exists in most IT departments between the application developers, virtualization experts and the infrastructure team. Diagrams of their skills sets rarely overlap.

You need to get these guys talking to each other. A successful application strategy that takes advantage of private or public cloud environments needs to be developed through a collaboration of experts in these three areas. Left to their own devices, your app guys will tend toward anarchy and your infrastructure guys will tend towards locking everything down too tight. If all your experts focus only on their needs and priorities, you end up with a three-legged stool with variable length legs. It won’t stand.

The component that holds it all together is an effective IT service management (ITSM) strategy that is based on ITIL best practices and ensures that your IT environment is balanced and self sustaining.

We’ll talk more about ITSM in our next and final article in this series, “Gimme Shelter,” which looks at what you need to have in place as you expand your IT infrastructure to include public and, eventually, hybrid clouds.

Previous articles in this series include:

Mixed Emotions: A Cloud of Your Own

How to Sculpt a Private Cloud

Get Off My Cloud: Ensuring Security for your Private Cloud

Under My Thumb: Managing Your Private Cloud

Brian Day is director of Application Services and Platform-as-a-Service (PaaS) Strategy for Logicalis, an international provider of integrated information and communications technology solutions and services. His primary responsibility at Logicalis is to leverage rapidly evolving lean/agile software development products and techniques to deliver application solutions that take full advantage of virtualized, private and public cloud infrastructures including the Logicalis Enterprise Cloud platform. Prior to joining Logicalis eight years ago, Mr. Day started a Web-services architecture company, worked in Accenture’s Center for Strategic Technology, and was a part on Netscape’s website management team. He also started a web development company.