Interacting with AWS to turn system diagrams into reality

Michael WittigUpdated 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.

Andreas and Michael Wittig

Please support our work!

We have published 327 articles, 41 podcast episodes, and 15 videos. It's all free and means a lot of work in our spare time.

Thanks to Alan Leech, Alex DeBrie, e9e4e5f0faef, Goran Opacic, jhoadley, Shawn Tolidano, Thorsten Hoeger, Todd Valentine, Vince Fulco, and all anonymous supporters for your help! We also want to thank all supporters who purchased a cloudonaut t-shirt. It gives us great pleasure to send our t-shirts all over the world.

With your help, we can continue to produce independent & high-quality content focused on AWS. Please support us!

Support us

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 launched cloudonaut.io in 2015 with my brother Andreas. Since then, we have published hundreds of articles, podcast episodes, and videos. It’s all free and means a lot of work in our spare time. We enjoy sharing our AWS knowledge with you.
Have you learned something new by reading, listening, or watching our content? If so, we kindly ask you to support us in producing high-quality & independent AWS content. We look forward to sharing our AWS knowledge with you.

Support us

Feedback? Questions? You can reach me via Email, Twitter, or LinkedIn.