- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
- Automatically mount an NVMe EBS volume in an EC2 Linux instance using fstab - Mon, Feb 21 2022
The last two posts in this series cover rather special services, and some of them mostly target developers. However, I believe that any IT pro should at least know what these services are for so you don’t look like an IT illiterate if someone mentions these terms. Since 4sysops is a blog for IT administrators, I will keep the description of developer-related services short.
CloudFront is a content delivery network (CDN) with servers in 40 places (so-called edge locations) in North America, South America, Asia, and Europe. Organizations can store static or infrequently changed data such as images or videos in CloudFront. The CDN ensures that objects are automatically retrieved from the nearest edge location, which reduces the latency of web applications. CloudFront supports HTTP, HTTPS, and RTMP (for Adobe Flash) and stores the data on S3. When Amazon launched CloudFront two years ago, other CDNs were already available with thousands of endpoint locations. The CloudFront advantage is that it is easy to use and comparably inexpensive.
CloudSearch is based on A9, an Amazon subsidiary, and its technology is behind the search of Amazon’s “everything store.” CloudSearch creates its indexes on EC2 instances and automatically determines the number of required instances for your search. As with most AWS offers, you are charged per hour.
If you use the AWS Management Console, you can upload .csv, .pdf, .html, .xls/xlsx, .ppt/.pptx, .doc/.docx, .txt, .json, and .xml files, which will be automatically converted to the Search Data Format (SDF). Otherwise, you have to create the SDF documents yourself before the upload.
You can send search requests through the AWS Management Console, by way of the Amazon CloudSearch APIs, or through a web browser using unique search request URL.
Elastic Transcoder ^
Elastic Transcoder is a video conversion service. Considering that almost everyone can now create video with their phones, and many output devices with different formats exist, video transcoding is an important service not only for Netflix & Co. Video conversion is, of course, a very resource-hungry task, and the cloud is the perfect place to get the job done. You can operate Elastic Transcoder through the AWS Management Console, the Elastic Transcoder API, and SDKs for popular programming languages.
Simple Notification Service (SNS) ^
Simple Notification Service (SNS) allows you to send SMS messages and emails, trigger an event in a web application through HTTP/HTTPS, and send notifications to Amazon’s Simple Queue Service (SQS) (see below). You can trigger notifications through events in AWS services like EC2 or S3 to inform admins about problems, prompt events by the change of a web page, and use the service for bulk notifications through the AWS Management Console.
Simple Notification Service (SNS)
Simple Queue Service (SQS) ^
Simple Queue Service (SQS) is mostly of interest for developers. Message queuing allows asynchronous communication between applications—that is, it enables an application to communicate with another application without having to wait for an immediate response. Thus, the application can move ahead after it sent the message to the queue and then get the reply from the queue when the second application has responded. In a way, message queuing is email for applications.
Simple Queue Service (SQS)
Message queuing is a quite common concept. Microsoft’s equivalent is MSMQ. You can imagine that message queuing is very useful in the cloud where many services have to communicate with each other across data centers, which is why SQS was one the first AWS services.
Simple Workflow Service (SWF) ^
Simple Workflow Service (SWF) is a workflow engine that helps developers model business process workflows in their applications. The Windows Workflow Foundation is Microsoft’s .NET workflow engine. SWF comes with SDKs for Java, Ruby, .NET, and PHP. The whole workflow doesn’t have to run in Amazon’ cloud because an application can communicate with SWF remotely through an API. The AWS Management Console allows developers to manage and monitor the status of workflows.
Simple Workflow Service (SWF)
Amazon provides a simple sample workflow that helps understand how a workflow engine works in the cloud. In this sample workflow, an image file is loaded from an S3 bucket, and a user can then choose between two conversion methods. In the next step, the image is converted and stored in a private S3 bucket. SWF automatically launches the EC2 instance that does the conversion and then terminates the instance after the job is done.
The main advantages of running a workflow engine in the cloud are that you don’t have to manage the required resources and that you don’t pay for resources when the workflow has to wait for human interaction. That is, tasks in the workflow that require computing resources only result in costs when the tasks are actually running. The fees for SWF are minimal.
In the last post of this series, I will cover services that gained more and more importance in recent years. I am talking about Analytics services that have become essential tools for many businesses. In particular, I will discuss Elastic MapReduce (EMR), Redshift, and Kinesis.