From the course: Google Cloud Build: Test, Deploy, and Manage Code

Getting code from local computer to Cloud

- [Instructor] You built an awesome application that runs on your laptop. How do you get this code to the cloud so that anyone on the internet can access it? Let's look at what's possible. First, you think that after over 30 years of global internet expansion it'd be super easy to get anything onto the web. In some ways, you'd be right. Products such as Instagram, YouTube, and Dropbox have made it easy to share photos, videos, and files. Getting code to cloud, however, can be more complex. In 1999, GeoCities was so popular that only AOL and Yahoo had more internet visitors. Since the early days of the internet, it's been possible to upload code files to a web hosting service. GeoCities was a web hosting service that allowed anyone to build and share HTML based webpages. Early website creators could upload their HTML pages along with images and executable code through FTP software. FTP stands for file transfer protocol and is implemented by software programs such as FileZilla and CuteFTP. I built sites in the 1990s by writing an editing code on my local computer, testing it, and then uploading it to a web hosting service using FTP software. After uploading, I do further testing on the published sites. Perl was a popular coding language for adding interactivity to websites. While Perl has fallen out of favor, HTML and JavaScript are still widely used today. To make it easier to track and collaborate on code, people started to use version control for their code. The Open Source Git tool for version control launched in 2005 and is the basis for the GitHub hosting service. People can work with Git code repositories on their local computers and then synchronize them with remote Git repositories. Multiple people can add, merge, and commit code to a remote repository. Git makes it easier to save a history of code changes. People can review or revert to previous code versions as needed. This functionality also works for files such as images. I use version control through the GitHub Desktop software and through the Git command line. Github.com host a code for many of my public and private code repositories. I've also used Bitbucket and GitLab. While version control is different from deploying code to the cloud, some services combine these concepts. For example, GitHub Pages allows code uploaded to a GitHub repository to also be published as static webpages. However, creating dynamic webpages and interactive apps require additional tools such as those on the Google Cloud platform. As the internet grew in usage, the tools that we can use to build, test, and deploy web apps have also expanded. Even for experienced developers, it can be challenging to sort through available tools. For example, deploying a web app using Heroku is different from using Google Cloud. My recommendation is to do to simple things that get things working and then to experiment with more complexity when new needs arise.

Contents