Specification
The purpose of this development lab is to allow you to demonstrate your understanding of cloud application development using a variety of cloud technologies available on the Google Cloud. The work is split into sections with details provided below on the work to be undertaken in each section.
Task
Section 1
• Using the Cloud Console, create a project using a unique Project ID and confirm using the Cloud Shell that the prompt matches that Project.
• On your own computer create a text file containing your name, save the file on your computer and then copy the file to the Cloud Shell file system.
• Using a Cloud Shell command of your choice verify that the file exists and that the content is as expected.
• Using a Cloud Shell command of your choice change the content of the file, download the new version of the file to your own computer and verify that it contains the updated content.
Section 2
• Using the Cloud Console create a Compute Engine VM instance as follows:
a. Choose a name and region out with the Europe multi-region
b. Configure for general purpose workloads but ensure costs are low
c. The operating system should be Debian Linux
d. HTTP and HTTPS traffic should be able to reach the VM instance
• Install and test an Apache Web Server ensuring that it restarts when the instance is restarted and that it can serve a file of your choosing.
• Create a second Compute Engine VM instance using a Cloud Shell command with a similar configuration and a name and region within the Europe multiregion of your choosing.
• Install and test an NGINX server in your second VM ensuring that it restarts when the instance is restarted and that it can serve a file of your choosing.
• Develop and test a simple App Engine app using a supported programming language that displays a message, when accessed using an appropriate URL. Test locally using the development server as well as deployed to App Engine.
Section 3
• Create a Cloud Storage bucket configured as follows:
a. The bucket replicates its contents to multiple regions.
b. The storage class is appropriate for frequent access
• Upload three pictures to your bucket with the pictures visible to everyone.
• Create an HTML file that displays the three pictures in your bucket with an appropriate caption for each picture and serve the file using your NGINX server.
• Develop and test a second App Engine application that can be used to view the three pictures stored in your storage bucket. Your application must support serving specific pictures on a specific URL as shown in Table 1 and be tested locally using the development server as well as deployed to App Engine.
Section 4
• Use APIs Explorer to test the instances.list method of the Compute Engine API and verify that both of your Compute Engine VMs appear in the method response.
• Investigate the REST API available for Google Storage and determine the REST API URL that can be used to retrieve the metadata for a resource contained in a storage bucket. Use this to determine the URLs required to obtain the metadata for each of your three pictures.
• Create a Cloud Shell script which can be used to present the metadata for all three of your stored pictures using these URLs.
• Develop and test a third App Engine app, similar to the one created in Section 3, which uses a different and serves the metadata for the pictures rather than the actual pictures. You should test your app locally using the development server as well as deployed to App Engine.