AWS Compute Engine Capabilities in 2019
Amazon Web Services provides unprecedented opportunities to deploy applications on a global scale. The AWS ecosystem continues to expand with technologies including blockchain, robotics, and machine learning. There is nothing in the compute space AWS cannot do, no service it cannot run, and every operating system is supported. Other cloud infrastructure companies may provide a better-individualized product; overall AWS remains the finest cloud solution.
The AWS infrastructure consists of 21 geographic regions around the world with 64 availability zones. AWS is adding capacity at a staggering rate, equal to the compute power of a Fortune 500 company, daily. In December 2018 according to WikiLeaks, Amazon owned 116 independent state of the art data centers. This number does not include co-locations and other wholesale centers. At last count, Amazon controls over 1.4 million servers worldwide.
Amazon’s EC2 Compute Engine has emerged as a significant player in the virtual private cloud space. EC2 gives developers the capacity to launch single or unlimited virtual servers. Ability to scale rapidly reduces costs and forecasting traffic. AWS delivers advantages few can match, while giving its users efficient services, with little to no upfront costs. AWS provides a security-first approach to their divisions and global data centers.
EC2 compute services are well thought out. EC2 is a mature division for AWS, and it shows. The Compute service lets developers build precisely the applications they need. An extensive array of interconnected services and third-party apps make the tasks easier.
If you are a developer, look to these AWS advantages:
- Unlimited Virtual computing environments.
- EC2 offers hundreds of pre-configured templates, configurations for storage, memory, CPU, and networking. AMIs (Amazon Machine Images) include operating systems and any additional software involved.
- Developers can create virtual networks detached from EC2. Virtual private clouds (VPC), connect to your scheme.
- Firewalls specify protocols, IP ranges, and ports using security group instances. Elastic IP addresses or static IPv4 used for dynamic cloud computing.
- Instant Store Volumes are designed for limited storage. Amazon EBS volumes and instant store volumes can be expanded across multiple physical regions.
Amazon Machine Image (AMI) is a building block within EC2. Single or multiple instances can be launched from a single AMI. Each AMI must incorporate the following; 1) Operating system, server, and applications contained within the root volume. 2) Launch permission. 3) Block device mapping for the instance.
Saving development time is a central component of the AMI Marketplace. The marketplace hosts hundreds of AMIs to choose from 1) Operating systems, Optimized Linux to Windows Server. 2) Networking includes Open VPN and Cisco Cloud Services. 3) Business Intelligence, SAS University Edition, and Tableau Server.
Value-oriented products for developers have been an essential objective for AWS. Lightsail is a function within the EC2 ecosystem, allowing customizable projects to be launched expeditiously. Virtual machines, DNS management, and data transfer are features of Lightsail. The structure is suitable for individual developers or small teams to start with Amazon EC2.
Create a project
Navigate to the Lightsail Dashboard.
- Instances: A virtual private server (VPS) is the backbone of Lightsail. Run code and develop applications stored on your VPS. The VPS instance can access any alternative service in AWS and connect to public or private networks. There are pre-configured VPS instances available.
- Database: VPS instances committed to any quantity of accessible databases. VPS is useful as an infrastructure for other projects or instances, and the database applications are low maintenance.
- Networking: Every instance receives public and private IP addresses, reachable from the internet. Developers can apply a Lightsail firewall to regulate traffic to the instance.
- Storage: Additional storage can be included, and assigned to the newly created instance. Lightsail storage uses SSD drives.
Container development has skyrocketed, mainly due to the portability from one public cloud to another. Applications are broken up in standardized ways, making container architecture relevant for commercial clouds. Containers can be placed on any physical or virtual machine. Developers take advantage, by scaling clusters and software inside containers across clouds.
AWS has taken full advantage of container technology across the gamut of its services. Amazon’s Elastic Compute Cloud has matured into a registry and full-fledged Docker development platform. The EKS service is a managed Kubernetes platform without the need for a control plane.
AWS currently includes over one hundred separate services. ON average, AWS adds approximately twelve hundred features annually. Amazon Web Services is enormous. It is a challenge to determine the appropriate service at the proper time, and this is where Elastic Beanstalk and AWS Cloud Formation steps in.
EB provides an effective infrastructure deployment process for AWS. Deployment of various applications takes considerable effort to build an operating system, storage, and networking capabilities.
Elastic Beanstalk features help with workloads and load balancing is vital for scaling enterprise-wide applications. EB helps with traffic distribution to other AWS instances. The load balancer must first be in a VPC with subnets across availability zones for any configurations to take place.
- Classic: Previous generation balancer for HTTP, HTTPS, or TCP traffic to different ports.
- Application: Routes HTTP or HTTPS traffic to a port based on a request.
- Network: Routes TCP traffic to a specific port per a previous request.
Moving outside the EC2 compute service, developers can take advantage of AWS Cloud Formation. Cloud Formation provides the same infrastructure provisioning as Elastic Beanstalk. Text files are uploaded to Cloud Formation; this is all the service requires to create resources for an application. Both AWS Elastic Beanstalk and Cloud Formation are free of charge. However, there are costs for underlying resources.
Benefits to AWS Cloud Formation
- Infrastructure modeling: Initial text files uploaded for initial provisioning are the complete design for the infrastructure. The structure can be standardized across the organization, supporting troubleshooting.
- Deployment: Provisions are repeatable, allowing developers to rebuild applications and infrastructure without writing custom scripts. Cloud Formation provides the appropriate resource for every stack.
- Coding: Cloud Formation allows the developer to manage the infrastructure as just code.
There are a few ways to interact with EB. The first is invariably the AWS Management Console. Second is the Elastic Beanstalk Console. GIT users should look at the command line interface. The EB CLI, ~/my-app$ eb create my-env, provides a convenient means to interact with Elastic Beanstalk. Choose a local repository to create, update, and monitor environments.
AWS provides a robust API gateway. Developers can use a single command line to access the EB API or any other Amazon API on the cloud.
Docker and AWS
Developers are embracing container technology. Container tech goes further back than most realize. The earliest form dates back to 1979 and UNIX V7. Since 2000, containers have changed the speed of business. Until containers, there existed a massive disconnect between applications, operating systems, and networks. Containers have changed everything.
Docker is a tool that embraced container technology and produced a thriving business. Docker’s website offers up astounding numbers. Eighty billion container downloads six hundred and fifty commercial customers and growing, and two million Dockerized applications in their hub. AWS EC2 has fully embraced containers and Docker technology with AWS ECS.
Within AWS EC2 compute, is another highly configurable infrastructure service. Amazon ECS gives the developer container management with unlimited scale; another advantage to ECS is AWS Fargate. Developers can use Fargate to manage containers without apprehension on cluster and server provisioning. Fargate tasks have isolation boundaries and do not share underlying resources. As such, the Fargate service is only accessible in specific zones.
If developers have no prior experience with ECS, a first run wizard is available from the console. The wizard walks you through: 1. Defining a task for the web-server 2. Configure the ECS service. 3. Launch a Fargate task.
- Docker Containers: A Docker container is a standard software component. The file provides everything required to run the code, system tools, and libraries among other needed data. The images are assembled from a plain text Docker file.
- Defining a Task: Applications must be qualified to run on the ECS service. A text file details the container, up to a total of ten. This scheme describes various frameworks of the image.
- Scheduling: After the creation, developers can assign tasks to run on the cluster. Fargate launch types do not share resources with other tasks. The kernel, memory, and CPU resources are isolated.
- Clusters: Amazon EC2 manages containers you create and the clusters that enclose them. If you choose to use a Fargate task, Amazon ECS will default to managing the cluster resources.
- Container Agent: The agent runs on infrastructure resources and sends current running task information to Amazon ECS.
Amazon EKS and Kubernetes
The decisive piece to the remarkable EC2 compute engine puzzle, Elastic Container Service for Kubernetes. Amazon has established EKS as a conformant managed Kubernetes service. Kubernetes is an open source solution to the distribution and maintenance of containerized applications. Developers have long enjoyed Kubernetes and the robust ecosystem.
Using Amazon’s EKS service to deploy and manage containers, developers gain a stout new array of Kubernetes tools along with unlimited scalability. Tools and plugins developers have acquired from other platforms are adaptable to the EKS service. In addition, Kubernetes EKS can run across AWS availability zones, eliminating various points of collapse.
Features of Amazon EKS
- Kubernetes Control Plane: Amazon EKS uses its vast abilities to manage the scalability of a Kubernetes API server and cluster layers. EKS ensures availability by eliminating unhealthy masters.
- Security: EKS is systematically linked into the diverse security resources of AWS; developers only need to identify a satisfactory partner solution. A VPC isolates any clusters from other clients.
- AWS Cloud Map: Specify a custom name for your application. AWS Cloud Map dynamically updates changing capabilities. Developer applications have better availability because any web service has dynamic connections to the current locale. EKS provides a Kubernetes connector to propagate internal systems.
- AWS App Mesh: Developers can run complex microservices by standardizing communication with the AWS App Mesh.
- VPC: Deployed and managed clusters run in individual VPC, detached from any other. Developers isolate their applications to produce ultra-secure situations.
- Load Balancing: EKS supports an application, network, and classic load balancing scenarios. Kubernetes load balancing is also supported.
Kubernetes Specific Resources from Amazon EKS
- Logging - AWS Cloud Trail
- Advanced Workloads - EKS optimized AMI
- Pod Networking in Kubernetes - CNI Plugin/Git Hub
- IAM Authenticator - Git Hub
- Kubernetes Community Tools - Git Hub
AWS is recognized as an IAAS (Infrastructure as a Service), and there is a solid reason for that moniker. When experts talk of cloud computing more often than not, they refer to Amazon Web Services. However, presently, AWS is compared more to a PAAS. (Platform as a Service) This differentiation is a crucial aspect of AWS, their ability to keep up with cutting-edge cloud computing technology.
Amazon Compute Cloud provides a secure, unlimited scaling ability web service. It is free to join, and developers pay for only the services and resources they use. The free tier offers 750 hours of Linux and Windows t2.micro instances. The latest Graviton processors power EC2 and every AWS instances are enhanced for rigorous work-loads.