Experienced cloud developers share their secrets for being more successful.
While it may seem that every developer spends much of her day working in AWS or OVH or Google Cloud or Alibaba, the reality is that most IT spending remains targeted at on-premises workloads, which suggests that most developers are still focused there, too.
By AWS CEO Adam Selipsky’s estimate, maybe 10% of all IT spending has moved to the cloud. That leaves plenty of developers that are relatively new to the cloud and wouldn’t mind having someone guide them to getting started.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
Not to worry. Google Cloud’s Forrest Brazeal has you covered. He asked “What’s your top ‘cloud hygiene’ tip for new cloud developers?” and got a range of great answers. I’ll highlight a few of the best ones below.
Cloud billing-related advice for developers
The cloud makes deploying services easy, and that’s not always a good thing. As easy as it is to turn cloud services on, it’s just as easy to forget to turn them off. At one of my former employers, we figured that a big chunk of our AWS bill consisted of instances developers had spun up for this or that reason, left running and forgot about.
SADA’s Miles Ward is spot on to urge developers to take a step toward inefficient peace of mind: “When learning, do each experiment in a completely fresh, new project. When done, DELETE THE WHOLE PROJECT. It’ll mean some repetitive setup steps, but hey, better than some forgotten weirdo charges.”
Can’t be bothered to do this? Well, you should at least “set up billing alarms,” said Fabian Jakobs, co-founder of Cloud9 IDE. Doing so, argued Duckbill Group cloud economist Corey Quinn, can be a literal matter of life or death if someone’s experimentation with a cloud’s free tier went hopelessly wrong.
Worried about scale? Don’t, suggested Richard Quinn: “Don’t build for infinite scalability — set scaling limits the right size for your wallet.”
It’s almost as if people have lived through or read about cloud billing horror stories, given how prevalent responses were about cost containment.
“Add cost alerts from the start, especially if budget is tight and could kill your business,” said Shahid Iqbal.
And even if you don’t wake up with a million-dollar bill, it still pays to be vigilant in checking, as David Erwin stressed: “Look at the billing breakdowns each month and ask yourself if each line item makes sense, both in terms of the technical requirements and the business value.”
And then, nix those that don’t make sense.
Serverless and IaC tools are your friends
For many, serverless is the ultimate expression of what cloud computing should be. While serverless adoption is still relatively nascent, for those following Brazeal, it’s a must. Quinn, for example, urged newbies to move well beyond old paradigms of servers.
“If you find yourself dealing with an operating system (container or virtual machine) then you’re doing old-school cloud,” Quinn said. “Try serverless everything.”
By embracing serverless as much as possible, developers don’t need to worry as much about needlessly spinning unused instances. The cloud will automatically spin them back down when not in use.
SEE: Hiring kit: Python developer (TechRepublic Premium)
Arguably the most common response was the need to use infrastructure as code tools like Terraform or CloudFormation. In fact, developers like Shonn Lyga argue that developers should bypass the console and instead work in IaC tools.
“Don’t make manual changes in the AWS console, use IaC instead (CloudFormaion, CDK etc),” Lyga said.
In so doing, you’ll minimize the chance of errors arising from poor configuration. Or, as AWS put it: “IaC helps avoid configuration drift through automation, and increases the speed and agility of infrastructure deployments. It also helps reduce errors and enhances the ability to apply changes through different stages consistently.”
Of course there’s more, but you can read through the replies to Brazeal’s tweet yourself to learn about security, separation of production and development accounts. For developers new to the cloud, it’s a great way to gain some confidence in best practices so that you can start building your app.
Disclosure: I work for MongoDB, but the views expressed herein are mine.