Tips for Developing Apps In a Cloud Environment

Brian Day

DevOps and the Cloud

Unless you’ve just started a brand-new organization, your IT environment is currently running a diverse collection of last-generation and older applications that were deployed with the one-application-per-server approach that unleashed the server sprawl that most organizations are still recovering from.

The full potential of cloud computing, however, will only be realized through advances in lean/agile development of applications that can fully leverage the cloud environment. Instead of having to over-buy to support peak demands, the new generation of applications are capable of automatic self-provisioning and can expand and contract as business requirements change.

The best way to get across the gap that exists between apps that intelligently provide for themselves and your existing app inventory is a step-by-step process that starts with assessing what you’ve got now and dividing it into separate categories you can conquer one at a time.

For example: Identify the applications you don’t want to have to worry about anymore — i.e., email and other utilities that are not part of your core competency. These are good candidates for replacing with SaaS apps. Identify the custom applications you have developed and determine if they can be virtualized as is. This would be a good time to do a cost/benefit analysis to determine whether it is time to revise or replace them. Choose a development environment for new apps, and determine if Platform-as-a-Service (PaaS) is appropriate.

DevOps apps Tips for Developing Apps In a Cloud Environment

(Infographic Source: Jfrog)

Tips for Developing Apps for the 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:

  1. 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.
  2. Don’t Bypass 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.
  3. 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.
  4. Give Orchestration a Second Look: Clouds can contain an orchestration layer that enables rapid provisioning of whole environments (VMs, software, configuration). 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.
  5. 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.

No App Is an Island in the Cloud

Architect.png

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. Venn diagrams of their skill-sets rarely overlap.

You need to get these guys talking to each other. A successful application strategy that takes advantage of 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 your experts focus only on their needs and priorities, you end up with a three-legged stool with a leg missing. It won’t stand.

Automation has the potential to bring tremendous efficiencies to your organization, but unless you very tightly integrate your technology with associated processes and procedures, automation can set loose any number of devils from the details within your IT environment.

By Brian Day

Metasploit-Penetration-Testing-Software-Pen-Testing-Security
Vulnerability Scanners Cyber security vulnerabilities are a constant nuisance and it certainly doesn't help with the world in a current state of disarray and uncertainty. Vulnerabilities leave businesses and individuals subject to a wide range ...
Gary Bernstein
Common DevOps Misconceptions 86% of businesses say it’s important for their company to develop and produce new software fast to win market share and beat the competition, Harvard Business Review reveals. Yet, just 10% of businesses ...
Gilad David Maayan
What Is Cloud Deployment? Cloud deployment is the process of deploying and managing applications, services, and infrastructure in a cloud computing environment. Cloud deployment provides scalability, reliability and accessibility over the internet, and it allows ...
Richard Duffy
Overcoming IT Infrastructure Disaster (Updated: 03.24.2023) One of the least considered benefits of cloud computing in the average small or mid-sized business manager’s mind is the aspect of disaster recovery. Part of the reason for ...
Anita Raj
Coronavirus and Telemedicine Technology COVID-19 has brought the world to a near standstill. From NBA to Met Ball and Coachella, all major events and festivals are canceled. Disneyland is shut and movies are postponed. Flights ...
Tosin Vaithilingam
Divestitures: What to consider during the migration process "Divestitures require careful planning and execution, but they can create tremendous opportunities for companies to transform their businesses and unlock new growth potential." - Ginni Rometty, former ...
Jen Klostermann
The Fintech Landscape The Nitty Gritty Although the COVID-19 pandemic has highlighted its existence, most of us have been using fintech in some form or another for quite some time. It’s a big part of ...
Steve Prentice
The Era of Microlearning Becoming employable and then staying employable requires ongoing, up to date knowledge, and this can become something of a dilemma. Many of us grew up with a traditional understanding of the ...