DEV Community

Cover image for ๐Ÿ“ฐ AWS Compiled #001 - Serverless and JAVA
Alejandra Quetzalli ๐Ÿพ for AWS

Posted on

๐Ÿ“ฐ AWS Compiled #001 - Serverless and JAVA

# AWS Compiled is a bi-weekly curation of 
# AWS developer content and news. 
# This covers the topics that matter most to developers from 
# across AWS, the developer communities we support, 
# and the projects we contribute to.

$ git checkout -b AWS_Compiled_001
$ git commit -a -m 'Serverless and JAVA'
$ git checkout main
$ git merge AWS_Compiled_001
Enter fullscreen mode Exit fullscreen mode

Share your thoughts to better fit your needs by leaving comments or sending us a direct email: aws-developer-newsletter-feedback@amazon.com


Table Of Contents


TECH SPOTLIGHT: SERVERLESS AND JAVA

This week the spotlight is on serverless for Java. Specifically, we want to focus on the technologies in the JVM ecosystem that make going serverless with Java and AWS Lambda possible. Often when we think about serverless, we default to dynamic languages like Node.js or Python, but the JVM ecosystem is robust, time tested, and well supported by the enterprise and open source communities.

But what about cold-starts? Itโ€™s well known that AWS Lambda cold-starts for Java tend to be slower than Node.js and Python. To solve this, we have released updates to AWS Lambda and the AWS SDK for Java that drastically improve the cold start of your application's Java functions. At AWS re:Invent 2019, Stefano Buliani gave one of the highest rated talks about Best Practices for AWS Lambda and Java.

Even more recently, weโ€™ve release Provisioned Concurrency, which enables a function to scale without fluctuations in latency. If Provisioned Concurrency doesnโ€™t fit your specific project, there are many other optimizations you can make to significantly decrease cold start times, such as loading classes during initialization or avoiding reflection.

Several open source projects also are targeting the cold-start issue in serverless and container development, primarily Quarkus and Micronaut. Both of these projects are full-stack frameworks for building modern Java applications, optimized for native compilation. Don't worry, Spring developers, both of the frameworks are compatible with most of the Spring annotations: Quarkus for Spring, Micronaut for Spring.

DIVE DEEPER:

AWS Lambda and Java Spring Boot: Getting started
A blog post by AWS Serverless Hero, Ran Ribenzaft

How to optimize AWS Lambda performance
A blog post by AWS Serverless Hero, Efi Merdler-Kravitz


UPCOMING EVENTS

Supercharging Your ECS Applications with the AWS CDK on July 30, 2020
In this tech talk, using AWS CDK, we will build and deploy our containers to ECS with three of the high-level ecs patterns available today. The patterns we'll demo will be: deploying an application load balanced Fargate service, an SQS queue consumer service, as well as a time based scheduled task that runs on an interval. Register here.

AWS Container Day on August 17, 2020
Tune in for a full-day of virtual sessions covering how Amazon EKS makes it easy to deploy, manage, and scale containerized applications using Kubernetes. There will be technical deep dives, product demos, and product announcements, and the AWS Kubernetes team will be streaming on Twitch all day, ready to answer your questions.
Read more about the event on our blog.

AWS Amplify Days on August 20-21, 2020
Join for a two-day exploration of full stack cloud development with AWS Amplify, a set of tools and services to build secure, scalable cloud-powered mobile and web applications. You can learn from independent developers and startups using AWS Amplify as well as AWS Amplify engineers and developers. Register here.


FROM THE COMMUNITY

Get to know the latest AWS Heroes
Introducing the newest members of the AWS Heroes community including the first Heroes from South Africa and France. Meet the new AWS Heroes

Creating a music genre model with your own data in AWS DeepComposer
This post accompanies the training steps in Lab 2 โ€“ Train a custom GAN model on GitHub and demonstrates how to convert your MIDI files to the proper training format for AWS DeepComposer.
Written by AWS Machine Learning Hero, Kesha Williams. Read the full post

Doing serverless with Terraform - serverless.tf
serverless.tf is an opinionated open-source framework for developing, building, deploying, and securing serverless applications and infrastructures on AWS using Terraform.
Written by AWS Community Hero Anton Babenko. Check out the project

Scaling containers in AWS
Whatโ€™s the fastest way to scale containers on AWS? Is ECS faster than EKS? What about Fargate? Is there a difference between Fargate on ECS and Fargate on EKS?
Written by AWS Container Hero, Vlad Ionescu. Read the full post

AWS AppSync and GraphQL
An implementation journey using GraphQL with AWS AppSync to improve and optimize user experience.
Written by Kris Lyer, Principal Architect at Houghton Mifflin Harcourt. Read the full post


GUIDES AND TUTORIALS

Deploy a Kubernetes application (30 minutes)
This tutorial shares how Amazon EKS can deploy a highly available Kubernetes control plane, and configure 'kubectl', an open source command-line tool to interact with your Kubernetes infrastructure. We recommend this tutorial for anyone who wants to quickly try running Kubernetes on AWS. Get started

Schedule a serverless workflow (10 minutes)
This quick tutorial shows how to use serverless workflow to automate patch management, ETL jobs, data synchronization, or security. You will be using AWS Step Functions to orchestrate a serverless workflow in response to an Amazon CloudWatch event. Get started

Send messages between distributed applications (10 minutes)
This tutorial explains how to create and configure a message queue, send a message, receive and delete that message, and then delete the queue. You will be setting up asynchronous messaging with Amazon Simple Queue Service (Amazon SQS). Get started

Build and deploy a full stack serverless React App using AWS Amplify (50 minutes)
This tutorial will create a simple web application using AWS Amplify, an open source framework and static web hosting service to accelerate building and deploying web apps with AWS. Get started


PRODUCT LAUNCHES AND RELEASE NOTES

Introducing the Cloud Development Kit (CDK) for Kubernetes
We recently announced the Alpha release of Cloud Development Kit for Kubernetes (cdk8s). cdk8s is an open source software development framework for defining Kubernetes applications using general-purpose programming languages. Read more

Announcing CDK Pipelines Preview, continuous delivery for AWS CDK applications
In addition to Cloud Development Kit (CDK) for Kubernetes, CDK has announced a feature called CDK Pipelines that makes it easy to set up simple or complex continuous delivery pipelines with AWS CodePipeline. CDK Pipelines gets your continuous pipeline started quickly by automatically creating several predefined stages and actions, and makes it easy to add more stages and actions to suit your needs. The pipeline created by CDK Pipelines is self-mutating. This means you only need to deploy the pipeline once to get it started and, after that, the pipeline automatically updates itself when you add new CDK applications or stages in the source code. Read more

CDK for Terraform: Enabling Python & TypeScript Support
OK, so we have quite a few CDK updates this week. If you are using Terraform, this is definitely a great news for you. HashiCorp has announced the community preview of the Cloud Development Kit for Terraform which allows users to define infrastructure using TypeScript and Python while leveraging the hundreds of providers and thousands of module definitions provided by Terraform and the Terraform ecosystem. Read more

AWS CodeBuild now supports accessing Build Environments with AWS Session Manager
AWS CodeBuild now supports accessing your build environments with AWS Session Manager so you can investigate and diagnose build issues. With support for AWS Session Manager, you can access your Linux and Windows build environments through an interactive one-click browser-based shell or through the AWS CLI. Read more

Introducing Porting Assistant for .NET - an analytic tool to help migrate .NET Framework to .NET Core
If you are looking for ways to port your .NET Framework applications to .NET Core, we have a tool for you. Porting Assistant for .NET quickly scans .NET Framework applications to identify incompatibilities with .NET Core, finds known replacements, and generates detailed compatibility assessment reports. This reduces the manual effort involved in modernizing your applications to Linux. Read more

Announcing Amazon Elastic Kubernetes Service (EKS) in AWS GovCloud (US)
Amazon Elastic Kubernetes Service (Amazon EKS) is now generally available in AWS GovCloud (US) Regions. Now government organizations, commercial organizations in government-regulated industries, or any customer managing CUI can adopt Kubernetes as their standard for orchestrating containers. Read more

Introducing Heapothesys, an open source Java GC latency benchmark with predictable allocation rates
The Amazon Corretto team announces the open source Heapothesys benchmark, a synthetic workload that simulates fundamental application characteristics that affect garbage collector (GC) latency. Read more

Deploy, track, and roll back RDS database code changes using open source tools Liquibase and Jenkins
We walk through an example of building a cost-effective, database-independent solution in AWS using open source tools Liquibase and Jenkins to solve common database bottlenecks. Read more

Adopting machine learning in your microservices with DJL (Deep Java Library) and Spring Boot
Until recently, the ML adoption learning curve was steep and required developing new internal technical expertise. We dig into an approach that helps enterprises use existing talent and resources (frameworks, pipelines, and deployments) to integrate machine learning capabilities. Read more

Managing secrets deployment in Kubernetes using Sealed Secrets
Learn about using tools from the Sealed Secrets open source project that will allow users to manage the deployment of sensitive information to their Kubernetes clusters, and to store them securely in a Git repository and to integrate them into their continuous delivery pipelines. Read more

The Instaclustr sign of open source success
Find out why Instaclustr, a company that offers a variety of open source software as cloud services, offers a managed Elasticsearch service based on Open Distro for Elasticsearch. Read more

Top comments (0)