Software Development
Guest posts / Internet / Software

How to better leverage the cloud for your tech business

The cloud allows companies to be more efficient and flexible with their computing resources, scaling up or down as their needs change. Here's how to make the most of it.

Clouds over Maryland. (Photo by Flickr user Jack Lyons, used under a Creative Commons license)
This is a guest post by Tracey Welson-Rossman and Keith Gregory, the respective CMO and AWS practice lead at software development firm Chariot Solutions, which is hosting a conference called IoT on AWS: A Philly Cloud Computing Event on Wednesday, Nov. 6, at the Science History Museum in Philadelphia.

A recent report by research company Gartner projects the global public cloud services market to grow 17.5% in 2019 to $214.3 billion, up from $182.4 billion in 2018.

“We know of no vendor or service provider today whose business model offerings and revenue growth are not influenced by the increasing adoption of cloud-first strategies in organizations,” said Gartner’s research VP, Sid Nag. And in the next three years, “Gartner projects the market size and growth of the cloud services industry at nearly three times the growth of overall IT services.”

Here in Philly, a recent survey of 100 Philly-based tech execs surveyed found that three of the top five most desirable tech skills involve the cloud. So why are so many companies turning to the cloud? There are several reasons driving its growth.

When we think of the cloud, many of us think data centers and hardware and less about software development. And with good reason: The cloud allows companies to be more efficient and flexible with their computing resources, scaling up or down as their needs change. Cloud providers are most likely to have better security and disaster recovery options, as well.

But you should also consider how the cloud can leverage your people. Cloud computing allows them to access applications and data from any location, as long as there is an internet connection. This increases productivity and also allows for the workforce to not be tied to one specific office location, while still allowing collaboration. Lastly, cloud providers have tools and features that let your people focus on the business problem, rather than things like authentication and mobile app configuration.

So how can you leverage the cloud for your business?

Extend what you already have.

Do you already have a Java web application? There’s no reason to throw it away and start fresh with Node.JS and AWS Lambda. Instead, look at how you can leverage auto-scaling to ensure that your application responds to changes in demand, how a load balancer can replace your existing Nginx or HAProxy front end, how you can use a content delivery network such as AWS CloudFront to reduce load on those servers, or how a cloud-based web firewall can protect you against denial-of-service attacks.

There is a lot of low-hanging fruit to be gained from an initial “lift and shift,” and the benefits of being “cloud native” will appear as you make these changes. Eventually, you will see ways to reimplement those parts of your application that can truly benefit from running in the cloud.

This advice applies to new projects as well. If you have a team that already knows a technology, leverage that knowledge and add in parts of the cloud infrastructure that make sense. For example, rather than using JMS queues in Java, look at Amazon’s Simple Queue Service.

Give your developers room to experiment.

While the cloud offers great promise for elastic, resilient deployments, it also offers the ability for developers to try something new and then either integrate it into your application or throw it away. Would you benefit from having 1,000 individual devices load-testing your application? Perhaps, but in the self-hosted world your developers could never muster the devices for such a test; in the cloud, they can run them for an hour and then shut them down.

Don’t fear lock-in.

There are three major cloud players, and they all provide roughly the same services. It can be tempting to design your application in such a way that you can move from one to the other, but doing so is like writing an application so that it can switch its database engine from Postgres to SQLServer.

This means you have to limit yourself to the lowest common functionality, and miss out on the features that either database provides to make your developers’ lives easier and your application more efficient. And even after putting in that effort, the only way to know that you’ve been successful is to actually migrate between the platforms, and moreover, to do so repeatedly.

So while it’s possible that Amazon will reverse a long-standing trend of reducing cost, or that Google will decide to abandon a cloud service that you rely on, that’s a tactical problem to be solved if and when it occurs.

Engagement

Join the conversation!

Find news, events, jobs and people who share your interests on Technical.ly's open community Slack

Trending

How venture capital is changing, and why it matters

What company leaders need to know about the CTA and required reporting

Why the DOJ chose New Jersey for the Apple antitrust lawsuit

A veteran ship's officer describes how captains work with harbor pilots to avoid deadly collisions

Technically Media