DEV Community

Cover image for Unleashing the power of serverless for solo developers
We're Serverless! for Serverless Inc.

Posted on • Edited on • Originally published at serverless.com

Unleashing the power of serverless for solo developers

Originally posted at Serverless

Developing and managing production-ready cloud applications requires knowledge across several technical disciplines. It’s much more than just writing application code and connecting to a couple of APIs. You need to configure a myriad of cloud services and understand how your application interacts with them, what their scale and limits are, and how those architectural choices affect performance, reliability, and resiliency. Most importantly, you need to understand how to secure and maintain your workloads. For most, this often means hiring a team of professionals with the necessary skills, or spending a lot of time retraining your developers (and probably still learning by trial and error).

However, Serverless Cloud dramatically simplifies this complexity and lets developers focus on what they do best — write code. Whether you’re working on a small side-hustle, building a bot for your co-workers, or trying to build the next Internet unicorn by yourself, Serverless Cloud is the perfect companion for a team of one. In this post, we’ll look at real-life use cases by some of our early users and see how Serverless Cloud can help solo developers be more productive, with or without previous cloud experience.

Outsourcing undifferentiated heavy lifting

When building applications in the cloud, most people wisely choose an Infrastructure as Code (IaC) framework like Serverless Framework, SAM, or the AWS CDK. This lets you ensure repeatable infrastructure and code deployments. The problem is that the feedback loop to deploy new environments and test your changes can take several minutes or more, forcing developers to find local solutions to speed this up. There are some excellent solutions like LocalStack that help emulate cloud services locally, but ultimately you end up with a patchwork of tools and mocking libraries that don’t provide parity with your production environment. Even worse, setting up and maintaining these local environments can take a significant amount of time, taking you away from delivering value to your users.

While Infrastructure as Code frameworks help you codify your infrastructure requirements, building and automating your deployments workflows require a number of configurations and security considerations. There are lots of tools that can help with this, and if you have a team of cloud specialists setting this up for you, then you don’t have to worry about it. But as a solo developer setting this up, this is just more of your time being taken away from building your product. That’s what we call undifferentiated heavy lifting.

Serverless Cloud takes an entirely new approach to dealing with the operational burden of cloud application development and deployment. Instead of trying to emulate the cloud locally, we give every developer their own “developer sandbox” for every app they work on. You work locally in your favorite IDE, and we instantly sync your code changes on every save (often in less than a second). This gives you your very own live URL to test applications in a truly production-compatible environment.

Deploying new environments is blazing fast as well. Like 15 seconds fast. Whether you’re sharing preview builds, running automated tests, or deploying to production, isolated cloud environments (complete with API Gateways, compute resources, databases, and other necessary infrastructure) are automatically provisioned for you. Plus, there are no YAML files or infrastructure configuration options. Serverless Cloud analyzes your code and provisions the necessary infrastructure automatically. This is what we call Infrastructure* from *Code, similar to what Shawn Wang describes as a self provisioning runtime.

Michael Bahr explains why he loves the Infrastructure *from *Code paradigm:

“I don’t have to manage infrastructure. I just write some function handlers, and off we go. I also love the blazing fast redeploys when working in my developer sandbox. Instead of minutes it’s just seconds to get a new change up and running.”

Focusing on what really matters

Ben Kehoe defines “serverless as a state of mind” and says that the value of serverless is the opportunity it gives developers to focus on value creation for customers. Serverless Cloud dramatically boosts developer productivity by allowing our users to only write the code that matters. By outsourcing operational complexities and infrastructure tedium, developers free up time to focus on value differentiation. Our SDK lets developers create applications using JavaScript or TypeScript, just as they would in a normal Node.js environment, complete with full access to the rich JavaScript package ecosystem.

You can also create automated tests and run them live against your developer sandbox or on a completely separate test instance. And when you’re ready to publish your application, you can use our simple, one command workflows, or connect to your preferred CI/CD process with the headless CLI option.

Serhii Naydenko, a freelancer from Ukraine who delivers applications to his clients with Serverless Cloud, explains why Serverless Cloud became his first choice over Heroku:

“A lot of useful functionality is provided out of the box. For example, the Express-like framework, cron tasks, events, static asset hosting, fast data storage, and automated tests. I thought this is what I needed when I first heard about it and I never regretted my decision.”

Following The Best Practices

Learning how to build software is a lifelong journey. Cloud applications introduced a completely new set of best practices for provisioning and configuring infrastructure for performance and scale. A basic example could be tuning the memory setting of a serverless function, whereas a more complex example might be learning single table design for NoSQL databases. And while we encourage you to always be learning, it’s not easy for teams (let alone single developers) to find time to keep up with the latest best practices across all these technical disciplines. Especially if you need to deliver something on time and on budget.

Serverless Cloud further reduces the cognitive load on developers by automatically applying best practices for APIs, data, storage, CDNs, and more. For example, Jeremy Daly, GM of Serverless Cloud, created the DynamoDB Toolbox to help developers implement the best practices of single table design for Amazon DynamoDB. Serverless Data bakes in those best practices for you and provides a simple interface to manage your data. Similarly, your API endpoint will automatically have a sufficient amount of computational resources by simply using the api interface of our SDK. Serverless Cloud continuously adapts the best configuration for your application, letting you focus on solving business problems, not infrastructure ones.

Calgan Aygun, who built a meme generator using Serverless Cloud, shares his thoughts:

“After I started using Serverless Cloud, I never wanted to use another service unless I had to. I was mainly using Cloudflare Workers and Cloud Run before Serverless Cloud. I constantly recommend it in my speeches and casual conversations.”

Wrapping up

The team is excited to see so many solo developers and freelancers rapidly developing production-ready applications with Serverless Cloud. With new features and capabilities being added regularly (like Serverless Storage and Data Manager), we continue to make Serverless Cloud more powerful and open new use cases. We’d love for you to give it a try for your next solo developer project.

Don’t forget to join our Slack community to stay up-to-date, get support, and share your feedback!

Top comments (0)