AWS WorkSpaces
AppStream 2.0 is an amazing technology, but it won’t help you if you want to make an entire Windows or Linux desktop available to a user anytime, anywhere, and on any device they might have. However, AWS offers a solution for this: WorkSpaces.
WorkSpaces is a managed desktop computing service that lets you provide a secure and flexible working environment for your users. With WorkSpaces, your team can access a fully functional desktop from any device, whether it’s a computer, a tablet, or even a mobile phone. WorkSpaces eliminates the need for everyone to have their own physical computer setup, as everything happens in the cloud.
AWS WorkSpaces offers a range of configurations, allowing you to customize computing power and resources based on your specific needs. It’s a convenient solution for remote work, providing a consistent and secure desktop experience without the need for complex hardware setups. Figure 18-3 shows the AWS WorkSpaces console in AWS.
Figure 18-3 AWS WorkSpaces
WorkSpaces Web
So you have AppStream 2.0 for making applications available from the cloud, and you have WorkSpaces for making persistent desktops available from the cloud. But what if you want to make internal websites or applications available via nothing more than a web browser? That is the job of AWS WorkSpaces Web.
Thanks to this AWS service, you do not have to worry about setting up special client software on your users’ machines. You also do not have to worry about provisioning a virtual private network (VPN) in order to secure the access. Your users just need what they surely already have: a web browser capable of standard Internet security mechanisms.
IoT Services
As I write this chapter, the buzz in IT is all about AI. Before this trend, the buzz was all about the Internet of Things (IoT)—the network of everyday objects, like appliances, devices, and sensors. Once these devices are networked, they can potentially share data and communicate with each other over the network and/or the Internet. For example, perhaps you have a smart fridge that can detect when you are running low on eggs and automatically order more for you. The potential for such technology is nearly limitless, and AWS wants to help. In this section of the chapter, we will examine just a couple of the IoT technologies available in the AWS Cloud.
IoT Core
At the core of the AWS approach to IoT is a service aptly named IoT Core. This service is all about connectivity. It is like a digital conductor that helps devices communicate smoothly with the AWS Cloud.
IoT Core enables connected devices, like sensors or gadgets, to securely send and receive data. IoT Core manages this flow of information, making it easy for devices to interact with cloud applications and other connected devices. With AWS IoT Core, you can collect, process, and act on data generated by your IoT devices to create powerful and responsive IoT applications, without the complexity of managing the underlying infrastructure. Figure 18-4 shows IoT Core in the AWS Management Console.
Figure 18-4 AWS IoT Core
IoT Greengrass
While the AWS IoT Core service is all about connectivity, the AWS IoT Greengrass service is all about implementing your IoT applications. IoT Greengrass is an open-source IoT edge runtime and cloud service that helps you build, deploy, and manage IoT applications on your devices.
Thanks to IoT Greengrass, you can accomplish these features:
Build software that enables your devices to act locally on the data they generate
Allow IoT devices to make predictions based on machine learning models
Permit IoT devices to filter and aggregate device data
Enable IoT devices to collect and analyze data closer to where that data is generated
Allow IoT devices to react autonomously to local events
Permit IoT devices to communicate securely with other devices on the local network
Greengrass devices can also communicate securely with AWS IoT Core and export IoT data to the AWS Cloud
You can use IoT Greengrass to build edge applications using prebuilt software modules that can connect your edge devices to AWS services or third-party services. You can also use IoT Greengrass to package and run your software using Lambda functions, Docker containers, native operating system processes, or custom runtimes of your choice.