Explore Infrastructure as Code Networking Worksheet
Project 2: Explore Infrastructure as Code
Start Here
Print Project
In Project 1, as a BallotOnline network engineer, you carried out a technical investigation of networking issues crucial to the company’s cloud deployment. Now, management has tasked you with addressing another important component of cloud computing—automation and consistency of deployment and administrative tasks. You will use Amazon Web Services’ cloud environment for your investigations.
In this project, you have been appointed the company’s first cloud engineer—a position devoted to cloud deployment.
To start, you will continue network investigation, further exploring networking capabilities in the cloud, and becoming familiar with AWS VPC—virtual private cloud, which is a private virtual network into which AWS customers deploy their cloud resources. You will learn about networking components associated with AWS VPC, and their default instances and the nondefault ones which require setup by the customer.
Next, you will become acquainted with the basic infrastructure as code (IaC) capability with command-line interface (CLI). It is a command language that allows you to write scripts that you can invoke to automatically provision and maintain your cloud infrastructure. You will then complete a lab exercise in which you will provision an AWS VPC with some of the related components using AWC CLI commands.
Then, you will explore a notation for describing detailed configurations of AWS resources, like EC2 instances, called CloudFormation (CF). You will learn about CF templates and complete the lab exercise designing a simple cloud configuration in the CF Template Designer tool.
Next, you will explore the ultimate programmatic interfaces to the cloud—the cloud APIs. You will explore and install the Python AWS SDK, and then analyze and run a provided Python script provisioning a tagged EC2 instance.
The final submission of this project will be a technical report discussing a cloud network configuration for BallotOnline, as well as the IaC topics and exploring the ways IaC can be used by BallotOnline in its cloud deployments.
Step 1: Virtual Networks in the Cloud
In Project 1, you became familiar with software-defined networking, a way of programmatically specifying network configurations. In this step, you will continue to explore networking in the cloud, learning how virtual networks are created on demand and the associated virtual networking elements. You will then propose the virtual network/subnetwork configuration for BallotOnline voting application.
You will use Amazon Web Services’ networking offering as a learning environment and become familiar with the AWS Virtual Private Cloud (VPC) concept and related components. It is also important to understand the geographical layout of AWS networking, as related to AWS regions and availability zones.
In the next step, you will take a closer look at the command line interface with a lab exercise.
LAB 1
Step 2: Interfacing With the Cloud—Command-Line Interfaces
Transcript
CCA625 Project 2 Step 2
Provisioning cloud resources using the cloud provider’s internet portal is great for learning, setting up demos, etc. But it does not allow for automation of tasks, which is necessary for cloud engineers responsible for creating and maintaining corporate cloud deployment.
Automation of tasks is crucial for ensuring continuity, repeatability, and consistency of administrative activities. Cloud resources are created and maintained by software implementing virtualization, SDN, etc., and this enables programmatic interfaces to their capabilities, making the infrastructure as code (IaC) paradigm a reality.
As the BallotOnline cloud engineer, you will be responsible for automating cloud administration tasks. In this step, you will explore the most basic IaC tool—the scripting framework. With it, you can define lists of commands to be executed automatically on demand.
Most cloud providers offer scripting interfaces for their cloud offerings. In this step, you will become familiar with the AWS command-line interface (CLI).
You will complete the Lab 1 AWS CLI, in which you will first create an AWS Cloud9 development environment and then use AWS CLI in it to provision a virtual private cloud (VPC) and attach a tag to it. Then, you will create an internet gateway, tag it, and attach the gateway to your VPC. You will verify all the steps by inspecting provisioned resources in the AWS console.
You will create a lab report as per the lab guide, describing the steps you’ve taken with all the screenshots requested in the guide. You will also describe how using scripting framework like AWS CLI can help BallotOnline in administering its cloud deployment.
In the next step, you will look at declarative programming using a framework from AWS.
LAB 2
Step 3: Interfacing With the Cloud—Declarative Resource Definitions
Transcript
CCA625 Project 2 Step 3
An alternative to executing scripting command commands with options is to describe the desired effect of their execution—the desired configuration of resources. This is called declarative programming. Most cloud vendors make declarative frameworks available in their cloud offerings.
The description of desired configuration is done by defining templates using some declarative notations. The most popular are YAML (“Yaml Ain’t Markup Language”) and JSON (JavaScript Object Notation).
JSON is a simple notation using nested key-value pairs to describe hierarchical structures of named attributes. You’ve seen examples of it as output from AWS CLI commands in the previous step.
As before, you will use Amazon AWS as the exploration environment. Its declarative IaC feature is the CloudFormation (CF) framework.
You will complete Lab 2 AWS CloudFormation in which you will become familiar with CF templates, and then use CF Template Designer to define a stack containing a VPC with an internet gateway (similar to the previous step), tag them, attach the gateway to the VPC, and provision the stack.
You will create a lab report as per the lab guide, describing the steps you’ve taken with all the screen shots requested in the guide. You will also describe how using declarative IaC features can help BallotOnline in administering its cloud deployment.
In the next step, you will continue your lab work with a Python script.
LAB 3
Step 4: Interfacing With the Cloud—Cloud APIs
Transcript
CCA623 Project 2 Step 4
The fact that cloud offering features are software-defined finds its ultimate reflection in rich cloud API libraries most cloud providers offer, so that customers can interact with their cloud deployments directly from the code of their software products. Cloud API libraries are available for popular programming languages and are often referred to as software development kits (SDKs).
You will complete Lab 3 Cloud API in which you will become familiar with AWS SDK for the Python programming language. You will explore and install the Python SDK in your Cloud9 environment. Next, you will take a look at a Python script create_instance.py that provisions an EC2 instance and tags it. You will run the script and verify that the instance has been provisioned successfully.
You will create a lab report as per the lab guide, describing the steps you’ve taken with all the screenshots requested in the guide. You will also describe how using cloud APIs can help BallotOnline in administering its cloud deployment.
In the final step, you will compile your technical report.
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.