Amazon can’t be PaaS-ed

opinion
Dec 3, 20153 mins

With the largest portion of the cloud market share, Amazon Web Services is the obvious leader in public cloud services

With the largest portion of the cloud market share, AWS (Amazon Web Services) is the obvious leader in public cloud services. There are good reasons for this. AWS has been providing cloud services since 2006, making it one of the longest-tenured vendors in the market space. Their customer base is broad and includes organizations such as Netflix, Pintrest, and the CIA. Also, their continued focus on user experience, compatibility, and security has kept them atop the cloud market for years.

The AWS entry into the PaaS space is called Elastic Beanstalk and represents a powerful and significant developer-focused solution. Elastic Beanstalk makes it easy to develop and deploy your applications into the cloud by combining a fully managed solution with an unmatched level of flexibility.

While other PaaS solutions are fairly restrictive in regards to the platform and libraries associated with your application, AWS provides a series of predefined configurations that enable you to make some critical choices about the execution environment. This includes common solutions such as PHP, Go, and Python, as well as IIS, Node.js, and a variety of Docker container configurations. By providing these popular choices in a fully-managed fashion, Elastic Beanstalk is able to support a wide variety of solution implementations.

Elastic Beanstalk also offers a choice of tier for your application environment. These two tiers, Web and Worker, define how the underlying platform will be configured and optimized. Deployments on Web tier environments in Elastic Beanstalk handle HTTP(S) traffic. They include an HTTP load balancer, auto scaling group, and a publicly accessible domain name at elasticbeanstalk.com.

In order to prevent your Web application from being consumed by long-running or asynchronous tasks, you also can deploy a Worker Tier Elastic Beanstalk application alongside your Web tier. This Worker app uses an elastic IP address and AWS’ Simple Queue Service to send and receive tasks. Both Web and Worker tier applications run under separate auto scaling groups, so that they can be independently scaled to respond to changing workloads.

Amazon’s many years in the cloud marketplace allowed it to build a robust set of user tools for managing its various services. With Elastic Beanstalk you can access a powerful Web-based application monitoring dashboard built into the product. This interface includes a multitude of proactive health-checking metrics, such as CPU utilization, latency, request counts, and bandwidth usage. AWS provides graphs as visualization aids to help you observe how these metrics have changed over time.

The entire monitoring interface is customizable, enabling you to choose which variables are most important for your deployment and what time frame to monitor. All of this ties into the auto scaling settings as well. You can configure health checks and scaling triggers based on any of these metrics to dynamically increase or decrease the number of servers powering your Elastic Beanstalk app. Additionally, alarms can be tied to these triggers in order to notify your app administrators when specified thresholds are hit.

In an increasingly crowded field of cloud service providers, Amazon’s Elastic Beanstalk remains a top choice for organizations all around the world. With its wide variety of environment configurations that are fully-managed, secured, and dynamically scaled, you can be sure that AWS is ready to host your solution.

Ben Finkel has worked in software development for 18 years within a variety of industries, including banking/finance, insurance, and healthcare. Before joining CBT Nuggets, he was a software engineer at M&T Bank in Buffalo, New York. He is a Google Certified Trainer. When he’s not creating CBT Nuggets training videos, Ben enjoys skiing, snowboarding, reading, and homebrewing beer and cider. He also considers himself a hobbyist programmer and likes learning new development technologies.

Areas of Expertise: Google Certified Trainer, Microsoft ASP.NET (WebForms and MVC), Data Analysis and Design, Relational Database Architecture, MS SQL Server, Microsoft C#.NET, Javascript, jQuery, Microsoft Visual Basic .NET & 6.0, .NET Reporting Services, MS Access, Python

The opinions expressed in this blog are those of Ben Finkel and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.

More from this author

Garth Schulte began training on Office products about 20 years ago. His love of training led him to branch out to technical VB6 and SQL Server training. One of CBT Nuggets's longest-tenured trainers, he recently worked as a product manager, lead .NET windows programmer and SQL Server architect for one of the top back-end real estate software companies in the country. He is a Google Authorized Trainer.

He has the following certifications: Google Authorized Trainer, MCSD, MCSD.NET, MCDBA, MCSA. His areas of expertise are in Visual Studio 6, Visual Studio.NET Windows/Web Programming, SQL Server 6.5-2012, Google Cloud Platform.

The opinions expressed in this blog are those of Garth Schulte and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.