Hey, start-ups, the cloud is your future!

We keep hearing that computing is moving to the Cloud. Moreover, the Cloud should supposedly be the first choice of small and medium businesses, including start-ups. Why so? Here are a couple of reasons why start-ups (as well as the majority of other companies) should embrace the so-called cloud-first approach.

What is the Cloud? In laymen’s terms, it basically is computing power and storage on remote servers that companies rent when they need them. Nowadays, the Cloud is the most convenient way of building a technological foundation for the business from scratch. It is especially convenient for start-ups (and other companies too) as it allows the business to be up and running in a very short amount of time and at a fraction of a cost of the on-premises data centre.

Cloud computing is an on-demand delivery of IT resources and applications via the Internet coupled with pay-as-you-go pricing. There is a variety of Cloud services available. One of the major cloud providers, Amazon Web Services, already offers close to two thousand of them. With the Cloud it is relatively easy to set up and scale-out a business – at least the technological part of it. Here are some other reasons why start-ups should use cloud services as much as possible.

Fast implementation

In the past, building an IT environment included hardware and software purchases that had to be put together on the premises of the company. This required a lot of time, money, and workforce, especially if a (newborn) company was in need of some serious computing power in order to handle all their requests at peak demand. Thanks to cloud computing, start-ups no longer have to build data centres. They can simply lease resources needed from the cloud service providers. By doing so, implementation time shortens dramatically as cloud solutions can be launched in just a fraction of the time of traditional on-premises solutions. Your cloud IT environment can be up and running in a matter of minutes as opposed to days or even months.

Agility delivered

As companies grow, they tend not to stay in one place but go where their clients are, to different locations. Some even quickly expand globally. Such an approach puts serious demands on the technology used, as the IT environment needs to be as flexible and scalable as possible. Only the largest cloud providers can deliver in this case. Their infrastructure is already global and has unlimited capacity. From the start-ups’ point of view, cloud-based solutions are extremely flexible and adjustments can be made quickly and without disruptions to current business processes. Such flexibility and scalability are especially attractive to start-ups with global appetite. The capacity of the infrastructure is no longer an issue – you only pay for the resources that you actually use – scalability works both ways (up and down).

Newest tech? Checked.

The beauty of the Cloud is that it is very future-oriented. Most applications and systems today are built with the Cloud in mind. Even if you’re working on the bleeding edge of technology, chances are most of it is already cloud-based. Even the newest buzzwords such as Kubernetes, Fargate, Istio and others are cloud services friendly. Technology-wise – cloud has you covered.

Less maintenance or even maintenance-free

While traditional IT solutions require a significant amount of technical work to set up and operate on a daily basis, cloud services providers deliver complete solutions that may not require an IT department to maintain them at all. It is the provider’s job to do the upgrades, maintenance and keep their services running smoothly. This is why cloud providers employ a large team of experts to make sure the services are as reliable as possible – most cloud services already guarantee a 99.9% uptime or higher. Building your own applications in the Cloud requires less maintenance as many functions can be easily automated. Additionally, you can use the services of so-called ’managed services providers’, that have a team of experts at their disposal ready to help if there is a problem.

Is the cloud secure? You bet it is.

In the past, there were some doubts regarding the security of cloud computing. However, cloud providers proved themselves, especially in terms of data security. There is no doubt in my mind that big cloud providers take security extremely seriously and the data stored on their servers is way more secure than on a traditional solution in any small or even medium-sized company, much less a start-up that employs no security experts at all. The development of encryption technologies and security certificates have made the use of cloud services increasingly secure. Do I trust cloud providers with my data? I do, completely. And so can you.

Cheaper? Well, yes. Cost-efficient? Most definitely.

As we established, cloud-based services allow start-ups and SMBs to stop spending money on running and maintaining data centres. Instead, they just rent the computing capacity when needed. For start-ups with no prior IT environment, the equation is straight forward. When considering the total cost of ownership - cost of the hardware, software licenses, storage, electricity and cooling system for an on-premises data centre solution - it soon becomes clear that the cloud services are in general very affordable or at least more cost-effective than traditional solutions. Getting a maintenance-free and very reliable service for a low monthly fee is the very reason why cloud-based solutions quickly became so popular among start-ups.

 

FAQs

Q1: What problem was this automated rendering pipeline designed to solve?

The author was experiencing a common issue where running compute-heavy rendering tasks on their local notebook made the machine unusable for other work. The pipeline was created to delegate this repetitive, heavy work to a non-blocking cloud environment, freeing up local computer resources.

Q2: What is the purpose of creating a custom Compute Engine Image?

A custom image is created to serve as a pre-configured template for the worker node. It includes all the necessary software and tools (like the Synfig rendering tool and git) required to complete the task, eliminating the need to manually initialize the environment each time a render is started.

Q3: How does the worker instance securely access source files and store the final output?

The worker instance uses the default Compute Engine service account for authentication. By granting this service account the correct permissions, it can securely clone source files from Google Cloud Source Repositories and upload the final rendered product to a Google Cloud Storage bucket without needing to manage separate credentials or SSH keys.

Q4: What are the main actions performed by the instance’s startup script?

After the instance starts, the script executes a series of commands:

  • It clones the source code from the repository.
  • It runs the rendering script, which splits the animation frames across all available CPU cores to speed up the process.
  • It uploads the completed rendered images to a Google Cloud Storage bucket, organized in a folder marked with the date and time.
  • It powers off the instance to stop incurring costs.

Q5: How is the entire rendering process automated?

Automation is achieved using a Google Cloud Build trigger linked to a Google Source Repository. A configuration file (cloudbuild.yaml) in the repository instructs Cloud Build to start the worker instance. The trigger is set to activate this process automatically whenever a new version of the specified source graphic file is pushed to the repository.

Q6: What was the approximate cost and duration for the example render in the article?

The example render, running on a 32-core high-CPU instance, took about 8 minutes to complete. The total cost was approximately $0.15, plus minor charges for storage and network usage.

Q7: What are some suggested improvements for this solution?

The author notes this was a “quick and dirty” solution and suggests several areas for improvement:

  • Infrastructure-as-Code: Define the entire setup using code for better versioning and documentation.
  • GPU Power: Attach GPUs to the worker node for more graphically-intensive computations.
  • Source File Handling: Use Google Cloud Storage for large source files instead of a git repository.
  • Worker Control: Use a service like Google Cloud Functions for more robust control and monitoring of the worker instances, rather than relying solely on a startup script.