AWS-ReInvent 2017

Arun Rajeevan
6 min readOct 26, 2018

--

AWS re:Invent is a learning conference hosted by Amazon Web Services for the global cloud computing community once in a year.

The event features keynote announcements, training and certification opportunities, expertise talks on various AWS services, customer talks on their experiences with AWS etc.

We care about events like AWS re:Invent because:

  • To make sure we are using the right tool and technology for the right thing.
  • To reduce cost.
  • To optimize our solutions, understand the new architectural patterns, emerging trends on cloud.

Announcements were made during AWS re:Invent in following areas:
a) Computeb) Networking and Gatewayc) Databased) Messaging and Streamse) Deployment and Managementf) Content Delivery

A new trend in Compute

  • Around 450% increase in container deployments in AWS cloud.
  • Increase in the popularity of Docker containers.
  • Around 64% deployments used Kubernetes for clustering.

1) AWS Fargate

AWS Fargate is a technology for Amazon ECS and EKS that allows you to run containers without having to manage EC2 or EC2 clusters.

No NEED TO MANAGE CLUSTERS
•Fargate removes the need for you to interact with or think about servers or clusters.
•Fargate lets you focus on designing and building your applications instead of managing the infrastructure that runs them.

SEAMLESS SCALING
•Fargate removes the need for you to interact with or think about servers or clusters.
•With Fargate, you can launch tens or tens of thousands of containers in seconds.

INTEGRATED WITH AMAZON ECS AND EKS

Note: ECS is Elastic Container Service
EKS is Elastic Container Service for Kubernetes(In preview version.) announced in the reInvent for Kubernetes cluster management.

Pricing
•AWS Fargate uses an on-demand pricing model. You pay per per-second for the amount of vCPU and memory resources consumed by your applications.

2) AWS Lambda

2.1) Doubled Maximum Memory Capacity for Lambda Functions (up to 3GB)

2.2) Set Concurrency Limits on Individual AWS Lambda Functions

2.3) AWS CloudTrail adds Logging of Execution Activity for AWS Lambda Functions

2.4) AWS Cloud9-based code editor, test and debug lambda. Great console to monitor

2.5) AWS Serverless Application Repository integration

What it means?
You can now choose from a collection of serverless applications published by developers, companies, and partners in the AWS community configure and deploy it straight from the Lambda console.

2.6) AWS SAM

2.7) Supports Traffic Shifting.
What is traffic shifting?
Traffic shifting allows you to deploy your Lambda functions using standard industry best practices such as canaries and blue/green deployments.
You can now also use AWS CodeDeploy to automatically manage the rollout of new function versions

Blue-Green deployment
Blue-green deployment is a technique that reduces downtime and risk by running two identical production environments called Blue and Green.
At any time, only one of the environments is live, with the live environment serving all production traffic.

Canary deployment
Canary release is a technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.

3) AWS SAM (Serverless Application Model)

Safe Lambda Deployments : integrates with AWS CodeDepoy to provide safe, gradual, traffic-shifting deployments for your Lambda functions.

Lambda Versions & Aliases : provides simple way to publish new versions on every code push and use an Alias to point to the latest version.

Globals : You can now define all common properties of Serverless Function in one place and let every function inherit it.( make sure you know the Cons of Globals)

SAM Local CLI : Run Lambda functions locally on your computer by starting with a simple SAM template.

4) An eye catchy announcement:
AWS DeepLens : An example of hardware that can run Lambda

Note: AWS re:Invent 2017 stressed on the usage of Serverless Model in different areas. 27 sessions belonged to this category.

5) What’s new in Messaging?

Amazon Simple Notification Service (SNS) introduces Message Filtering
Message filtering enables Amazon SNS topic subscribers to selectively receive only a subset of the messages they are interested in, as opposed to receiving all messages published to a topic.

Amazon MQ — Apache ActiveMQ on AWS as a managed service
Helps you to migrate your existing applications which uses message brokers to AWS.
Note:
Don’t get confused between SQS,SNS and Amazon MQ.
SNS and SQS have their own purposes and are used for Cloud born applications. They are still the most reliable services of AWS and the recent proof is Amazon Prime Day during which both processed 40 billion messages at a rate of 10 million per second, with no customer-visible issues.

6) What’s new in Database?

Amazon DynamoDB Global Tables
Fully managed, multi-region, and multi-master database that provides fast, local, read and write performance for massively scaled, global applications. Global Tables replicates your Amazon DynamoDB tables automatically across your choice of AWS regions.

Amazon DynamoDB On-Demand Backup
You can now create full backups of your DynamoDB tables with a single click, and with zero impact on performance or availability. Your application remains online and runs at full speed.

Note:
Highly available service
Services like S3,DynamoDB are replicated across multiple Availability Zones and you can make them available in different regions with simple configuration while creating.
Some services are bound to a specific region or availability zone.
You need to explicitly replicate them in different zones and regions for high availability.

7) What’s new in Deployment and Management?

AWS CloudFormation Guardrails
Stack Protection : AWS CloudFormation now allows you to protect a stack from being accidently deleted. You can enable termination protection on a stack when you create it.

AWS Config announced support for AWS CloudFormation stacks
You can now start tracking the current and historical configuration of your CloudFormation stacks, and get notified via Amazon SNS when your stack configuration changes.

Support for drift detection through Cloud Formation (preview)

Ability to specify parameters for CloudFormation stacks via Systems Manager Parameter Store

AWS CodeDeploy is built into the SAM and provides

1) Traffic shifting 2) Roll back based on CloudWatch alarms

Note : AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances, or serverless Lambda functions.

Stack sets — deploy across accounts and regions
(Multi region deployments)

Configuration Drift Detection

  • Provides a mechanism for detecting manual changes that may have occurred to resources that were created by CloudFormation.
  • Drift detection not only detects that a change occurred, but also provides details about what attributes have changed.

8) What’s new in Networking and Gateway?

AWS Private Link — to connect services across different accounts and VPCs.(only supported within a region)

Inter-region VPC Peering possible now

API Gateway Private VPC Integrations — we can create an API endpoint that is integrated with your VPC.

API Gateway Canary Release Deployments — You can now use canary release deployments to gradually roll out new APIs in Amazon API Gateway.

Note:
We care about Networking because we care about Security, Scalability, Availability,Accessibility ,Manageability.

Dynamic CIDR Range in VPC

9) What’s new in Route53?

How we can improve as a Cloud developer ?

1) Debugging an issue on cloud is still a tedious job. Good Monitoring capabilities are required.

2) Intelligent scalability testing. Check if the intended results are being achieved or not.

3) Update yourself with latest design patterns in cloud architectures. For ex: Improve Lambda cold start

4) Understand concepts like Shards, Partition key and How Kinesis scale when it is integrated with Lambda function.

5) Knowing the overall architecture of your solution. Thorough understanding of each service being used.

6) Identify the CPU and Memory requirements for your service which will help you in cost optimization and scaling.

7) Intelligent logging.

--

--

No responses yet