Interacting with AWS to turn system diagrams into reality

Michael Wittig – 09 May 2015 (updated 23 Aug 2016)

Generally speaking, you can host any application on AWS. If you interact with AWS, you will always make calls to the API. The API is the interface between you and AWS as figure 1 demonstrates.

Figure 1 Tools to interact with the AWS API
Figure 1 Tools to interact with the AWS API

You will now get an overview of tools that are available to make calls to the AWS API. Please compare the following tools in their ability to automate your daily tasks.

Web Management Console

You can interact with AWS by using the web-based Management Console. You can manually control AWS with this convenient GUI that runs in every modern web browser (Chrome, Firefox, Safari >= 5, IE >= 9). Figure 2 is showing the Management Console.

Figure 2 Web Management Console
Figure 2 Web Management Console

If you’re doing some experiments with AWS, the Management Console is the best place to start. It helps you to gain an overview of the different services and achieve first success quickly. The Management Console is also a good way to set up a cloud infrastructure for development and testing. You can read an exploration of the Management Console in section 1.7 of my book, Amazon Web Services in Action.

Command Line Interface

You can start a virtual server, create storage, and send emails from the command line. With the Command Line Interface (CLI) you can control everything in AWS. Figure 3 shows the CLI in action.

Cover of Amazon Web Services in Action

Level up, strengthen your AWS skills.

Our book Amazon Web Services in Action is a comprehensive introduction to computing, storing, and networking in the AWS cloud. You'll find clear, relevant coverage of all the essential AWS services, emphasizing best practices for security, high availability, and scalability. Get the first chapter for free!

Figure 3 Command Line Interface
Figure 3 Command Line Interface

The CLI is typically used to automate tasks on AWS. If you want to automate parts of your infrastructure with the help of a continuous integration server, like Jenkins, the CLI is the right tool for the job. The CLI offers a convenient way for accessing the API and combining multiple calls into a script. You can even start to automate your infrastructure with scripts by chaining multiple CLI calls together. The CLI is available for Windows, Mac, and Linux. There is also a PowerShell version available.

SDKs

Sometimes you need to call AWS from within your application. With SDKs, you can use your favorite programming language to integrate AWS into your application logic. AWS provides SDKs for:

  • Android
  • Browser (JavaScript)
  • iOS
  • Java
  • .Net
  • Node.js (JavaScript)
  • PHP
  • Python
  • Ruby
  • Go
  • C++

SDKs are typically used to integrate AWS services into applications. If you are doing software development and want to integrate AWS services like a NoSQL database or a push notification service, SDKs are the right choice for the job. Using an SDK in your application is necessary to use services like queues or topics.

Blueprints

A blueprint is a description of your system containing all services and dependencies. No need to specify the steps that needed to achieve the described system, defining the target state is enough. Figure 4 illustrates how to transform a blueprint into a running system.

Figure 4 Infrastructure automation with blueprints
Figure 4 Infrastructure automation with blueprints

Using blueprints to maintain your cloud infrastructure is often called Infrastructure as Code. This approach helps you to automate the configuration of infrastructure in the cloud. You can use blueprints to set up virtual networks and launch different servers, for example. A blueprint removes a lot of burden from you because you no longer need to worry about dependencies during system creation. A blueprint automates the whole process of creating a cloud infrastructure.

Michael Wittig

Michael Wittig

I’m an independent consultant, technical writer, and programming founder. All these activities have to do with AWS. I’m writing this blog and all other projects together with my brother Andreas.

In 2009, we joined the same company as software developers. Three years later, we were looking for a way to deploy our software—an online banking platform—in an agile way. We got excited about the possibilities in the cloud and the DevOps movement. It’s no wonder we ended up migrating the whole infrastructure of Tullius Walden Bank to AWS. This was a first in the finance industry, at least in Germany! Since 2015, we have accelerated the cloud journeys of startups, mid-sized companies, and enterprises. We have penned books like Amazon Web Services in Action and Rapid Docker on AWS, we regularly update our blog, and we are contributing to the Open Source community. Besides running a 2-headed consultancy, we are entrepreneurs building Software-as-a-Service products.

We are available for projects.

You can contact me via Email, Twitter, and LinkedIn.

Briefcase icon
Hire me