- [Alana] When you own the infrastructure, it's easy to understand how you interact with it because you can see it, touch it and work with it on every level. If I have a server that I've stood up in my closet, interacting with that server is easy because it's mine. I can touch it. When I remove the ability for me to touch and see something, when the infrastructure becomes virtual, the way that I work with that infrastructure has to change a bit. Instead of physically managing my infrastructure, I now logically manage it through the AWS application programming interface or API. So now when I create, delete or change any AWS resource, whether it's a virtual server or a storage system for employee photos, I use API calls to AWS to do that. You can make these API calls in several ways but the three main ways we're going to talk about are the AWS Management Console, the AWS Command Line Interface and the AWS Software Development Kits or SDKs. When people are first getting started with AWS, they'll typically use the AWS Management Console. This is a web-based console that you log into from your browser. The great thing about the console is that you can point and click. By simply clicking and following prompts, you can get started with some of the services without knowing anything about the service. With the console, there's no need to worry about scripting or finding the proper syntax. When you log into the console, the landing page will show you all of the possible services that you can work with organizing them into relevant categories, such as compute, databases, storage and more. On the upper right-hand corner is where you select the region you want to work in. Changing the region, directs the browser to make requests to that region represented by a different URL. If I change the region to Paris, you're making requests to eu-west-3.console.aws.amazon.com or the Paris region's web console. After you work with the console for a while, you may want to move away from the manual creation of resources. For example, in the console, you have to go through multiple screens to set configurations to create a virtual machine. And if I wanted to create a second virtual machine, I would need to go through that process all over again. Well, this is helpful, it also leaves room for human error. I might miss a checkbox or misspell something or even skip important settings by accident. So when you get more familiar with AWS or if you're working in a production environment that requires a degree of risk management, you should move to a tool that enables you to script or program these API calls. One of these tools is called the AWS Command Line Interface or CLI. You can download this tool and then use the terminal on your machine to create and configure AWS services. Instead of having a GUI to interact with like the console, you instead create commands using a defined AWS syntax. For example, if I wanted to launch a virtual machine, I first type in aws, which is how we know we interact with the API, then type in the service, in this case which is ec2, the service that allows us to create and manage virtual machines, which we'll learn about later. And then the command that we want to perform in that service. And then any other configurations we want to set. One command versus multiple screens you have to click through in the console can help reduce accidental human errors but that also means you have to work with defined syntax and get that syntax correct in order for your command to run successfully. So there is some upfront cost in just understanding how to form commands but after a while, you can begin to script these commands out, making them repeatable which will save you time in the long run. The other tool that allows you to interact with the AWS API programmatically is the AWS Software Development Kits or SDKs. SDKs are created and maintained by AWS for the most popular programming languages, such as Python, Java, Node.js, .NET, Ruby and more. This comes in handy when you want to integrate your application source code with AWS services. For example, our employee directory application runs using Python and Flask. If I wanted to store all the employee photos in an AWS storage service, I could use the Python SDK to write code to interact with the AWS storage service. The ability of managing AWS services from a place where you can run source code with conditions, loops, arrays, lists and other programming elements provides a lot of power and creativity. All right, that wraps up this video. To recap, you have three main options to connect with AWS, the console, the CLI and the SDKs. In this course will mainly be using the console to interact with the services, but feel free to challenge yourself by using the CLI if you're a bit more advanced.