The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, we’ll apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...Amazon Web Services
AWS Lambda makes it easy for you to run your code in the cloud, without managing servers. In this session, we will show you how to build a development pipeline for a serverless application using AWS Chalice and AWS Lambda. Using Chalice, we will show you how to author a Restful service, and deploying the application to multiple stages using AWS CodePipline, AWS CodeBuild and the Serverless Application Model. We will teach you how to test your code and troubleshoot issues. By the end of the session, you will have enough information to build a solid continuous delivery pipeline for your Python serverless application.
How to Deploy .NET Code to AWS from Within Visual Studio - AWS Online Tech TalksAmazon Web Services
Building and deploying code to AWS is fast and easy. If you are a .NET developer you never have to leave the friendly confines of Visual Studio. By using the AWS Tools for .NET, you have everything you need at your fingertips to build powerful salable apps in AWS infrastructure. This webinar will discuss in depth considerations for using the AWS Toolkit for Visual Studio, AWS CodeStar, and AWS CodeBuild. You will learn how to build cross-platform applications for .NET that can be deployed on Amazon EC2 and AWS Lambda.
This document provides an introduction to JavaScript. It outlines the agenda for the workshop, which includes learning key JavaScript concepts, completing assignments with support from TAs, and reviewing answers. It then covers topics like variables, functions, if/else statements, comparing values, and parameters within functions. Examples are provided for each concept. The document suggests ways for participants to continue learning, including Thinkful bootcamps which provide 1-on-1 mentorship and career support to help students transition into new careers.
The document discusses AWS Code services that can be used to automate the software release process. It describes CodeCommit for source control, CodeBuild for building and testing code, and CodeDeploy for deploying builds to EC2/on-premises servers. CodePipeline allows orchestrating builds and deployments across different environments through a visual workflow.
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying code changes. This automation helps you catch bugs sooner and increases developer productivity.
In this webinar, we’ll share the processes that Amazon engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodePipeline and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
Learning Objectives:
• Learn what is continuous delivery, its benefits, and how to implement it
• Learn how to increase the frequency and reliability of your application updates
• Learn to create an automated software release workflow on AWS
• Understand the basics of AWS CodePipeline and AWS CodeDeploy
Serverless architectures let you build and deploy applications and services with infrastructure resources that require zero administration. In the past, you had to provision and scale servers to run your application code, install and operate distributed databases, and build and run custom software to handle API requests. Now, AWS provides a stack of scalable, fully-managed services that eliminates these operational complexities.
In this session, you will learn about the benefits of serverless architectures and the basics of the serverless stack AWS provides. We will also walk through how you can use serverless architectures for everything from data processing to mobile and web backends.
AWS DevDay San Francisco, June 21, 2016.
Presenter: Jeremy Edberg, Co-Founder, CloudNative, & AWS Community Hero
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesAmazon Web Services
Managing the deployment of code to multiple AWS Lambda functions and updating your API Gateway methods can be manual and time consuming.
In this webinar, we will show you how to build a deployment pipeline to AWS Lambda using AWS CodePipeline. We will discuss how to use versioning, allowing you to better manage the different variations of your Lambda function and API Gateway methods in your development workflow, such as development, staging, and production. We will walk through how to automate the entire release process of your application from development to staging and finally to production, performing automated integration tests at each stage.
Learning Objectives:
Understand the basics of AWS CodePipeline
Learn how to version AWS Lambda functions and API Gateway methods
Build a deployment pipeline to AWS Lambda
DevOps combines cultural philosophies, practices, and tools to increase collaboration between development and operations teams. It aims to improve reliability, speed, and scale through practices like microservices, continuous integration and delivery, infrastructure as code, and monitoring. AWS provides services like CodeCommit, CodePipeline, CodeDeploy, CloudFormation, OpsWorks, Config, CloudWatch, and CloudTrail to help customers implement DevOps practices on AWS.
Building a Python Serverless Applications with AWS Chalice - AWS Online Tech...Amazon Web Services
AWS Lambda makes it easy for you to run your code in the cloud, without managing servers. In this session, we will show you how to build a development pipeline for a serverless application using AWS Chalice and AWS Lambda. Using Chalice, we will show you how to author a Restful service, and deploying the application to multiple stages using AWS CodePipline, AWS CodeBuild and the Serverless Application Model. We will teach you how to test your code and troubleshoot issues. By the end of the session, you will have enough information to build a solid continuous delivery pipeline for your Python serverless application.
How to Deploy .NET Code to AWS from Within Visual Studio - AWS Online Tech TalksAmazon Web Services
Building and deploying code to AWS is fast and easy. If you are a .NET developer you never have to leave the friendly confines of Visual Studio. By using the AWS Tools for .NET, you have everything you need at your fingertips to build powerful salable apps in AWS infrastructure. This webinar will discuss in depth considerations for using the AWS Toolkit for Visual Studio, AWS CodeStar, and AWS CodeBuild. You will learn how to build cross-platform applications for .NET that can be deployed on Amazon EC2 and AWS Lambda.
This document provides an introduction to JavaScript. It outlines the agenda for the workshop, which includes learning key JavaScript concepts, completing assignments with support from TAs, and reviewing answers. It then covers topics like variables, functions, if/else statements, comparing values, and parameters within functions. Examples are provided for each concept. The document suggests ways for participants to continue learning, including Thinkful bootcamps which provide 1-on-1 mentorship and career support to help students transition into new careers.
The document discusses AWS Code services that can be used to automate the software release process. It describes CodeCommit for source control, CodeBuild for building and testing code, and CodeDeploy for deploying builds to EC2/on-premises servers. CodePipeline allows orchestrating builds and deployments across different environments through a visual workflow.
Getting Started With Continuous Delivery on AWS - AWS April 2016 Webinar SeriesAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying code changes. This automation helps you catch bugs sooner and increases developer productivity.
In this webinar, we’ll share the processes that Amazon engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodePipeline and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
Learning Objectives:
• Learn what is continuous delivery, its benefits, and how to implement it
• Learn how to increase the frequency and reliability of your application updates
• Learn to create an automated software release workflow on AWS
• Understand the basics of AWS CodePipeline and AWS CodeDeploy
Serverless architectures let you build and deploy applications and services with infrastructure resources that require zero administration. In the past, you had to provision and scale servers to run your application code, install and operate distributed databases, and build and run custom software to handle API requests. Now, AWS provides a stack of scalable, fully-managed services that eliminates these operational complexities.
In this session, you will learn about the benefits of serverless architectures and the basics of the serverless stack AWS provides. We will also walk through how you can use serverless architectures for everything from data processing to mobile and web backends.
AWS DevDay San Francisco, June 21, 2016.
Presenter: Jeremy Edberg, Co-Founder, CloudNative, & AWS Community Hero
Continuous Delivery with AWS Lambda - AWS April 2016 Webinar SeriesAmazon Web Services
Managing the deployment of code to multiple AWS Lambda functions and updating your API Gateway methods can be manual and time consuming.
In this webinar, we will show you how to build a deployment pipeline to AWS Lambda using AWS CodePipeline. We will discuss how to use versioning, allowing you to better manage the different variations of your Lambda function and API Gateway methods in your development workflow, such as development, staging, and production. We will walk through how to automate the entire release process of your application from development to staging and finally to production, performing automated integration tests at each stage.
Learning Objectives:
Understand the basics of AWS CodePipeline
Learn how to version AWS Lambda functions and API Gateway methods
Build a deployment pipeline to AWS Lambda
DevOps combines cultural philosophies, practices, and tools to increase collaboration between development and operations teams. It aims to improve reliability, speed, and scale through practices like microservices, continuous integration and delivery, infrastructure as code, and monitoring. AWS provides services like CodeCommit, CodePipeline, CodeDeploy, CloudFormation, OpsWorks, Config, CloudWatch, and CloudTrail to help customers implement DevOps practices on AWS.
(DVO202) DevOps at Amazon: A Look At Our Tools & ProcessesAmazon Web Services
As software teams transition to cloud-based architectures and adopt more agile processes, the tools they need to support their development cycles will change. In this session, we'll take you through the transition that Amazon made to a service-oriented architecture over a decade ago. We will share the lessons we learned, the processes we adopted, and the tools we built to increase both our agility and reliability. We will also introduce you to AWS CodeCommit, AWS CodePipeline, and AWS CodeDeploy, three new services born out of Amazon's internal DevOps experience.
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodePipeline and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...Amazon Web Services
Learning Objectives:
- Learn how to automatically configure and end-to-end Continuous delivery toolchain in minutes
- Learn how to accelerate your application release process by adopting agile software development tools from AWS
- Learn how to better manage and track JIRA issues for AWS applications
Software release cycles are now measured in days instead of months. Cutting edge companies are continuously delivering high-quality software at a fast pace. In this tech talk, we’d like to introduce a major new addition to our Developer Tools suite, AWS CodeStar, which enables you to quickly develop, build, and deploy applications on AWS. We will provide a hands-on demonstration of how you can use AWS CodeStar to set up an end-to-end software development and continuous delivery toolchain within minutes. We will also share Amazon’s best practices for DevOps and how you can accelerate your software development agility. Additionally, we will have experts from Atlassian, who will showcase how AWS CodeStar integrates with Atlassian JIRA and provides a unified experience to track and manage your JIRA issues within CodeStar dashboard.
The document profiles Nemanja Kostic, a Serbian solution architect with over 20 years of experience designing and implementing commercial software solutions. It highlights his expertise in AWS cloud architectures, serverless services, microservices, and Domain Driven Design. The document also provides an overview of Java development resources on AWS, including services for running, developing, and integrating Java applications with AWS. It demonstrates examples like AWS Elastic Beanstalk, AWS Lambda, AWS CDK, and Amazon CodeGuru.
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodePipeline and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
Serverless apps can be developed using OpenWhisk, an open source serverless platform. OpenWhisk allows code to execute in response to events, using triggers, actions, and rules. It provides polyglot support and scales dynamically. The document demonstrates how to create a timer triggered action and a Slack bot using OpenWhisk. It also provides an overview of OpenWhisk's architecture and implementation.
This document discusses managing continuous delivery of code to AWS Lambda using key AWS services. It provides an overview of continuous delivery and describes AWS CodePipeline for modeling release processes. The webinar demonstrates a sample serverless application pipeline using CodePipeline and Lambda and discusses tips for implementing continuous delivery with these services, including using Lambda functions in CodePipeline actions and API/function versioning strategies.
With AWS Lambda, you can easily build scalable microservices for mobile, web, and IoT applications or respond to events from other AWS services without managing infrastructure. In this session, you’ll see demonstrations and hear more about newly launched features. We’ll show you how to use Lambda to build web, mobile, or IoT backends and voice-enabled apps, and we’ll show you how to extend both AWS and third party services by triggering Lambda functions. We’ll also provide productivity and performance tips for getting the most out of your Lambda functions and show how cloud native architectures use Lambda to eliminate “cold servers” and excess capacity without sacrificing scalability or responsiveness.
AWS re:Invent 2016: How A Federal Agency Transformed Work and Adopted DevOps ...Amazon Web Services
In this session, you’ll hear from GitHub and Accenture Federal Services, a trusted advisor to the US government, on why they have continued to invest in the adoption of and transition to cloud services. After migrating to AWS cloud, one agency deployed GitHub, the cloud-hosted, distributed version control and collaboration platform, as the backbone of its DevOps program.
Now, thousands of users on software development teams at the agency collaborate both internally and with other agencies faster and more efficiently than ever before. Learn how they decreased duplicative work, raised the quality of their code, and greatly increased delivery velocity.
Our Accenture Federal Services speaker will share details on what it’s like to run GitHub Enterprise on AWS for a federal agency, including the unique challenges and solutions that stem from running an appliance in the cloud, and advice for others considering this path. Session sponsored by GitHub.
AWS Competency Partner
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...Amazon Web Services
Software release cycles are now measured in days instead of months. Cutting-edge companies are continuously delivering high-quality software at a fast pace. In this session, you will learn how to begin your DevOps journey through best practices and tools used by the "two pizza" engineering teams at Amazon. We will showcase how you can accelerate developer productivity by implementing continuous integration and delivery workflows. We will also cover an introduction to AWS CodeStar, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, and AWS CodeDeploy - the services inspired by Amazon's internal developer tools and DevOps practice. Learn More: https://aws.amazon.com/government-education/
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHubAmazon Web Services
This document provides an overview of new features in Enterprise 2.9 including organization-wide projects, improved merge conflict resolution, search of commit messages, and progressively loaded diffs. It also describes how to automatically deploy applications to AWS CodeDeploy by connecting a GitHub repository to CodeDeploy using service hooks and access tokens. Code is pushed to GitHub and CodeDeploy is configured to deploy the code every time it is committed using the GitHub and CodeDeploy services.
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous integration and delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes followed by Amazon engineers and discuss how you can bring them to your company by using a set of application lifecycle management tools from AWS: the newly announced AWS CodeBuild service, AWS CodePipeline, and AWS CodeDeploy.
Learning Objectives:
• Understand the concepts of DevOps, continuous integration, and continuous delivery
• Learn about Amazon’s DevOps practices
• Hear an overview of how to build a continuous integration and continuous delivery workflow using the combination of CodeBuild, CodePipeline, and CodeDeploy
This document discusses DevOps practices at Amazon, including:
1. Amazon uses DevOps practices like continuous integration, deployment, and automation to deploy code changes frequently and reliably, with mean deployment times of 11.6 seconds and up to 10,000 deployments in an hour.
2. Adopting DevOps practices has led to a 75% reduction in outages from software deployments and a 90% reduction in outage minutes since 2006.
3. The document outlines DevOps tools and practices used at Amazon like AWS services for version control, continuous integration, deployment automation, and monitoring.
Eric Holmes from Remind discussed building an internal Platform as a Service (PaaS) called Empire using Docker and Amazon EC2 Container Service (ECS). Remind started on Heroku but encountered issues with scaling and visibility. Empire provides a management layer on top of ECS for deploying and scaling microservices. It implements a subset of the Heroku API and provides a single binary and CLI. Empire is running 15 of Remind's production services on ECS with improved performance over Heroku. A demo was shown of deploying a sample app with Empire.
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...Amazon Web Services
This document discusses serverless application lifecycle management (ALM) techniques. It provides an overview of common serverless use cases like web applications and data processing. It then outlines a serverless ALM checklist including configuration/management, deployment methods, and tracing/troubleshooting. Specific AWS services for packaging, deploying, automating deployment, and monitoring serverless applications like AWS Lambda, AWS Serverless Application Model (SAM), AWS CodePipeline, and AWS CloudWatch are also discussed. The document concludes with a call for feedback and further exploration of serverless ALM best practices.
(DVO313) Building Next-Generation Applications with Amazon ECSAmazon Web Services
Two trends are driving app development: The shift from the server-based web to rich applications that run on a diverse set of mobile devices and modern browsers, and the growth of microservices running in the cloud that serve these clients. The results are “connected clients” - apps with the processing power of the device that are statefully connected and scaled to the cloud. In this session, you will learn about the architecture for Meteor's JavaScript app platform, Galaxy, which uses Amazon ECS, Elastic Load Balancing, and AWS CloudFormation to provide highly available, scalable, isolated environments for stateful apps across browsers and devices. We will discuss the essential characteristics of the platform, how those are provided for, and why we decided to use Amazon ECS instead of alternatives, such as Kubernetes. We will also demonstrate the Galaxy system in production.
"Amazon Inspector is a new service from AWS that identifies security issues in your application deployments. Use Inspector with your applications to assess your security posture and identify areas that can be improved. Inspector works with your Amazon EC2 instances to monitor activity in your applications and system.
This session will cover getting started with Inspector, how to automate the process, how to manage and act on findings, and additional ways you can enhance your development and release lifecycle using Inspector."
This document provides an overview of DevOps on AWS. It discusses DevOps culture and goals of speed, reliability, and improved collaboration. It then explains why AWS is suitable for DevOps with managed services, scale, automation, and security. The document outlines components of DevOps practices including continuous integration (CI), continuous delivery (CD), infrastructure as code, and continuous monitoring. It also reviews deployment strategies and AWS developer tools to support CI/CD workflows such as CodeCommit, CodeBuild, CodeDeploy, CodePipeline, Cloud9, and CodeStar.
Devops with Amazon Web Services (January 2017)Julien SIMON
This document discusses Amazon Web Services tools for DevOps practices like microservices architecture, continuous delivery, and deployment pipelines. It introduces AWS services for source control (CodeCommit), building (CodeBuild), deployment (CodeDeploy), and release management (CodePipeline). These services help teams implement best practices like automated testing, releases to multiple environments without downtime, and rollbacks. The document provides an example pipeline of using CodeCommit, CodeBuild, CodeDeploy and CodePipeline together to deploy code from a GitHub repository to development and production environments. It also briefly introduces the X-Ray service for distributed application debugging.
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
The document discusses best practices for building application development release pipelines, including:
- Implementing continuous integration/continuous delivery (CI/CD) practices like committing code frequently and building on every commit.
- Deploying code to running environments for further testing before production.
- Storing all code, including applications, infrastructure, and documentation in code repositories.
- Starting with continuous delivery and gated deployments, then moving to continuous deployment with excellent testing.
- Conducting code reviews to ensure code quality and understandability.
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications.
Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, Chris will share with you how to apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...Cloud Native Day Tel Aviv
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although Serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a Serverless world. In this talk, we’ll apply the “Twelve-Factor” model to Serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
(DVO202) DevOps at Amazon: A Look At Our Tools & ProcessesAmazon Web Services
As software teams transition to cloud-based architectures and adopt more agile processes, the tools they need to support their development cycles will change. In this session, we'll take you through the transition that Amazon made to a service-oriented architecture over a decade ago. We will share the lessons we learned, the processes we adopted, and the tools we built to increase both our agility and reliability. We will also introduce you to AWS CodeCommit, AWS CodePipeline, and AWS CodeDeploy, three new services born out of Amazon's internal DevOps experience.
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodePipeline and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...Amazon Web Services
Learning Objectives:
- Learn how to automatically configure and end-to-end Continuous delivery toolchain in minutes
- Learn how to accelerate your application release process by adopting agile software development tools from AWS
- Learn how to better manage and track JIRA issues for AWS applications
Software release cycles are now measured in days instead of months. Cutting edge companies are continuously delivering high-quality software at a fast pace. In this tech talk, we’d like to introduce a major new addition to our Developer Tools suite, AWS CodeStar, which enables you to quickly develop, build, and deploy applications on AWS. We will provide a hands-on demonstration of how you can use AWS CodeStar to set up an end-to-end software development and continuous delivery toolchain within minutes. We will also share Amazon’s best practices for DevOps and how you can accelerate your software development agility. Additionally, we will have experts from Atlassian, who will showcase how AWS CodeStar integrates with Atlassian JIRA and provides a unified experience to track and manage your JIRA issues within CodeStar dashboard.
The document profiles Nemanja Kostic, a Serbian solution architect with over 20 years of experience designing and implementing commercial software solutions. It highlights his expertise in AWS cloud architectures, serverless services, microservices, and Domain Driven Design. The document also provides an overview of Java development resources on AWS, including services for running, developing, and integrating Java applications with AWS. It demonstrates examples like AWS Elastic Beanstalk, AWS Lambda, AWS CDK, and Amazon CodeGuru.
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodePipeline and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
Serverless apps can be developed using OpenWhisk, an open source serverless platform. OpenWhisk allows code to execute in response to events, using triggers, actions, and rules. It provides polyglot support and scales dynamically. The document demonstrates how to create a timer triggered action and a Slack bot using OpenWhisk. It also provides an overview of OpenWhisk's architecture and implementation.
This document discusses managing continuous delivery of code to AWS Lambda using key AWS services. It provides an overview of continuous delivery and describes AWS CodePipeline for modeling release processes. The webinar demonstrates a sample serverless application pipeline using CodePipeline and Lambda and discusses tips for implementing continuous delivery with these services, including using Lambda functions in CodePipeline actions and API/function versioning strategies.
With AWS Lambda, you can easily build scalable microservices for mobile, web, and IoT applications or respond to events from other AWS services without managing infrastructure. In this session, you’ll see demonstrations and hear more about newly launched features. We’ll show you how to use Lambda to build web, mobile, or IoT backends and voice-enabled apps, and we’ll show you how to extend both AWS and third party services by triggering Lambda functions. We’ll also provide productivity and performance tips for getting the most out of your Lambda functions and show how cloud native architectures use Lambda to eliminate “cold servers” and excess capacity without sacrificing scalability or responsiveness.
AWS re:Invent 2016: How A Federal Agency Transformed Work and Adopted DevOps ...Amazon Web Services
In this session, you’ll hear from GitHub and Accenture Federal Services, a trusted advisor to the US government, on why they have continued to invest in the adoption of and transition to cloud services. After migrating to AWS cloud, one agency deployed GitHub, the cloud-hosted, distributed version control and collaboration platform, as the backbone of its DevOps program.
Now, thousands of users on software development teams at the agency collaborate both internally and with other agencies faster and more efficiently than ever before. Learn how they decreased duplicative work, raised the quality of their code, and greatly increased delivery velocity.
Our Accenture Federal Services speaker will share details on what it’s like to run GitHub Enterprise on AWS for a federal agency, including the unique challenges and solutions that stem from running an appliance in the cloud, and advice for others considering this path. Session sponsored by GitHub.
AWS Competency Partner
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...Amazon Web Services
Software release cycles are now measured in days instead of months. Cutting-edge companies are continuously delivering high-quality software at a fast pace. In this session, you will learn how to begin your DevOps journey through best practices and tools used by the "two pizza" engineering teams at Amazon. We will showcase how you can accelerate developer productivity by implementing continuous integration and delivery workflows. We will also cover an introduction to AWS CodeStar, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, and AWS CodeDeploy - the services inspired by Amazon's internal developer tools and DevOps practice. Learn More: https://aws.amazon.com/government-education/
Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHubAmazon Web Services
This document provides an overview of new features in Enterprise 2.9 including organization-wide projects, improved merge conflict resolution, search of commit messages, and progressively loaded diffs. It also describes how to automatically deploy applications to AWS CodeDeploy by connecting a GitHub repository to CodeDeploy using service hooks and access tokens. Code is pushed to GitHub and CodeDeploy is configured to deploy the code every time it is committed using the GitHub and CodeDeploy services.
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous integration and delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes followed by Amazon engineers and discuss how you can bring them to your company by using a set of application lifecycle management tools from AWS: the newly announced AWS CodeBuild service, AWS CodePipeline, and AWS CodeDeploy.
Learning Objectives:
• Understand the concepts of DevOps, continuous integration, and continuous delivery
• Learn about Amazon’s DevOps practices
• Hear an overview of how to build a continuous integration and continuous delivery workflow using the combination of CodeBuild, CodePipeline, and CodeDeploy
This document discusses DevOps practices at Amazon, including:
1. Amazon uses DevOps practices like continuous integration, deployment, and automation to deploy code changes frequently and reliably, with mean deployment times of 11.6 seconds and up to 10,000 deployments in an hour.
2. Adopting DevOps practices has led to a 75% reduction in outages from software deployments and a 90% reduction in outage minutes since 2006.
3. The document outlines DevOps tools and practices used at Amazon like AWS services for version control, continuous integration, deployment automation, and monitoring.
Eric Holmes from Remind discussed building an internal Platform as a Service (PaaS) called Empire using Docker and Amazon EC2 Container Service (ECS). Remind started on Heroku but encountered issues with scaling and visibility. Empire provides a management layer on top of ECS for deploying and scaling microservices. It implements a subset of the Heroku API and provides a single binary and CLI. Empire is running 15 of Remind's production services on ECS with improved performance over Heroku. A demo was shown of deploying a sample app with Empire.
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...Amazon Web Services
This document discusses serverless application lifecycle management (ALM) techniques. It provides an overview of common serverless use cases like web applications and data processing. It then outlines a serverless ALM checklist including configuration/management, deployment methods, and tracing/troubleshooting. Specific AWS services for packaging, deploying, automating deployment, and monitoring serverless applications like AWS Lambda, AWS Serverless Application Model (SAM), AWS CodePipeline, and AWS CloudWatch are also discussed. The document concludes with a call for feedback and further exploration of serverless ALM best practices.
(DVO313) Building Next-Generation Applications with Amazon ECSAmazon Web Services
Two trends are driving app development: The shift from the server-based web to rich applications that run on a diverse set of mobile devices and modern browsers, and the growth of microservices running in the cloud that serve these clients. The results are “connected clients” - apps with the processing power of the device that are statefully connected and scaled to the cloud. In this session, you will learn about the architecture for Meteor's JavaScript app platform, Galaxy, which uses Amazon ECS, Elastic Load Balancing, and AWS CloudFormation to provide highly available, scalable, isolated environments for stateful apps across browsers and devices. We will discuss the essential characteristics of the platform, how those are provided for, and why we decided to use Amazon ECS instead of alternatives, such as Kubernetes. We will also demonstrate the Galaxy system in production.
"Amazon Inspector is a new service from AWS that identifies security issues in your application deployments. Use Inspector with your applications to assess your security posture and identify areas that can be improved. Inspector works with your Amazon EC2 instances to monitor activity in your applications and system.
This session will cover getting started with Inspector, how to automate the process, how to manage and act on findings, and additional ways you can enhance your development and release lifecycle using Inspector."
This document provides an overview of DevOps on AWS. It discusses DevOps culture and goals of speed, reliability, and improved collaboration. It then explains why AWS is suitable for DevOps with managed services, scale, automation, and security. The document outlines components of DevOps practices including continuous integration (CI), continuous delivery (CD), infrastructure as code, and continuous monitoring. It also reviews deployment strategies and AWS developer tools to support CI/CD workflows such as CodeCommit, CodeBuild, CodeDeploy, CodePipeline, Cloud9, and CodeStar.
Devops with Amazon Web Services (January 2017)Julien SIMON
This document discusses Amazon Web Services tools for DevOps practices like microservices architecture, continuous delivery, and deployment pipelines. It introduces AWS services for source control (CodeCommit), building (CodeBuild), deployment (CodeDeploy), and release management (CodePipeline). These services help teams implement best practices like automated testing, releases to multiple environments without downtime, and rollbacks. The document provides an example pipeline of using CodeCommit, CodeBuild, CodeDeploy and CodePipeline together to deploy code from a GitHub repository to development and production environments. It also briefly introduces the X-Ray service for distributed application debugging.
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
The document discusses best practices for building application development release pipelines, including:
- Implementing continuous integration/continuous delivery (CI/CD) practices like committing code frequently and building on every commit.
- Deploying code to running environments for further testing before production.
- Storing all code, including applications, infrastructure, and documentation in code repositories.
- Starting with continuous delivery and gated deployments, then moving to continuous deployment with excellent testing.
- Conducting code reviews to ensure code quality and understandability.
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications.
Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, Chris will share with you how to apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...Cloud Native Day Tel Aviv
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, runtime, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although Serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a Serverless world. In this talk, we’ll apply the “Twelve-Factor” model to Serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, low cost, and low administration applications.
SMC305 Building CI/CD Pipelines for Serverless ApplicationsAmazon Web Services
Continuous Integration and Continuous Delivery help developers rapidly and reliably release updates for their applications in a standardized and safe manner. The faster you can release new features and fix bugs, the quicker you can innovate and respond to customer needs. Serverless computing has changed the game for application development, including how to properly perform CI/CD for your application. AWS provides developer tools that help you automate the end-to-end lifecycle of your serverless application. In this session, we’ll discuss how to build multi-stage pipelines that let you build and test your application in an automated way using AWS CodePipeline and AWS CodeBuild. We’ll also cover the built-in capabilities of AWS Lambda and Amazon API Gateway that allow you to create multiple versions, stages, and environments for your serverless applications.
Twelve-factor serverless applications - MAD302 - Santa Clara AWS SummitAmazon Web Services
The twelve-factor application model represents 12 best practices for building modern, cloud-native applications. With guidance on factors like configuration, deployment, runtime, and multiple-service communication, the twelve-factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although serverless computing and AWS Lambda have changed application development, the twelve-factor best practices remain relevant and applicable in a serverless world. In this talk, we apply the twelve-factor model to serverless application development with AWS Lambda and Amazon API Gateway, and we show you how these services enable you to build scalable, well-built, low-administration applications.
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Amazon Web Services
This document discusses continuous integration and continuous delivery (CI/CD) pipelines for serverless applications. It provides an overview of common CI/CD practices for serverless applications, including deploying Lambda functions and other AWS services together using infrastructure as code with AWS CloudFormation templates or the AWS Serverless Application Model (SAM). It also covers using AWS CodeBuild, Lambda environment variables, and API Gateway stage variables to configure multiple environments for development, testing, and production.
Twelve-Factor serverless applications - MAD307 - New York AWS SummitAmazon Web Services
The document discusses how the principles of the Twelve-Factor App methodology apply to serverless applications. It reviews each of the twelve factors and explains how they are the same, different, or improved upon in serverless applications that utilize AWS Lambda and other serverless computing services. Key points include that serverless applications are inherently stateless, scaling is automatic rather than through processes, and deployment parity across environments is easier to achieve with tools like AWS SAM.
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsAmazon Web Services
This document discusses continuous integration and continuous delivery (CI/CD) pipelines for serverless applications. It describes that serverless applications are typically composed of multiple AWS Lambda functions and other AWS services. An example CI/CD pipeline is proposed that builds, tests, and deploys serverless applications to independent environments. The AWS Serverless Application Model (SAM) is introduced as an extension to AWS CloudFormation that simplifies defining serverless infrastructure as code.
This document discusses serverless application development using AWS SAM (Serverless Application Model). It covers building and deploying serverless applications, using CloudFormation templates and SAM templates to define application infrastructure. It also discusses continuous integration and delivery practices for serverless apps using AWS CodeBuild and CodePipeline for building, testing, and deploying application code. Finally, it discusses techniques for managing multiple stages and versions of serverless applications.
This document summarizes a presentation given by Dr. Tim Wagner, General Manager of AWS Lambda and Amazon API Gateway, at the AWS New York Summit on August 11, 2016 about getting started with serverless computing using AWS Lambda and Amazon API Gateway. The presentation introduced serverless computing and how it abstracts infrastructure management, discussed AWS Lambda and Amazon API Gateway services and how to choose between them. It also provided examples of serverless use cases including data processing, backend services, and app ecosystems. Tips for VPC configuration, function scheduling, and stage variables in API Gateway were also shared.
Application Lifecycle Management in a Serverless World | AWS Public Sector Su...Amazon Web Services
Amazon API Gateway and AWS Lambda provide a new way of building applications by removing servers from the picture. But what does the removal of servers mean to tasks like deployment, monitoring, and debugging? How should you set up blue-green deployments or set alarms? Come learn all this and more, including ways to use AWS services and tools like AWS CodePipeline, AWS CloudFormation, and Amazon CloudWatch to manage your serverless applications at high quality. We will also demonstrate how you can implement a Continuous Integration and Continuous Delivery pipeline for a serverless application within minutes using AWS CodeStar. Learn More: https://aws.amazon.com/government-education/
This document provides an overview of serverless applications and how to build one. It discusses what serverless means, common use cases, how to bundle and deploy code, continuous integration and delivery, versioning, monitoring, and more. Specific AWS services for building serverless applications are also covered, including AWS Lambda, API Gateway, DynamoDB, S3, CloudFormation, CodeBuild, CodePipeline, X-Ray and CloudWatch.
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Amazon Web Services
Building and deploying serverless applications introduces new challenges for developers whose development workflows are optimized for traditional VM-based applications. In this session, we discuss a method for automating the deployment of serverless applications running on AWS Lambda. We first cover how you can model and express serverless applications using the open-source AWS Serverless Application Model (AWS SAM). Then, we discuss how you can use CI/CD tooling from AWS CodePipeline and AWS CodeBuild, and how to bootstrap the entire toolset using AWS CodeStar. We will also cover best practices to embed in your deployment workflow specific to serverless applications.
You will also hear from iRobot about its approach to serverless deployment. iRobot will share how it achieves coordinated deployments of microservices, maintains long-lived and/or separately-managed resources (like databases), and red/black deployments.
Local Testing and Deployment Best Practices for Serverless Applications - AWS...Amazon Web Services
-Learn best practices for testing, debugging, and deploying serverless applications
-Understand how to use the AWS Serverless Application Model (AWS SAM) to model and deploy serverless applications
-Learn to use the AWS SAM Local CLI tool to locally test Lambda functions
Local Testing and Deployment Best Practices for Serverless Applications - AWS...Amazon Web Services
Learning Objectives:
- Learn best practices for testing, debugging, and deploying serverless applications
- Understand how to use the AWS Serverless Application Model (AWS SAM) to model and deploy serverless applications
- Learn to use the AWS SAM Local CLI tool to locally test Lambda functions
Authoring and Deploying Serverless Applications with AWS SAMAmazon Web Services
Serverless applications can be composed of multiple AWS resources such as AWS Lambda functions Amazon API Gateway APIs Amazon DynamoDB tables and Amazon S3 buckets. When building a serverless application what is the most straightforward way to group all your resources into one serverless application? Once you define your serverless application how quickly can you develop test and iterate on your local machine before deploying to AWS? In this session learn how to define serverless applications with the AWS Serverless Application Model (AWS SAM) and how to use the AWS SAM Local CLI tool to develop and test locally before deploying to AWS.
Productionize Serverless Application Building and Deployments with AWS SAM - ...Amazon Web Services
Learning Objectives:
- Learn abou the SAM template design best practices (e.g., use of globals, mappings, parameters, and conditionals)
- Learn how to test and debug serverless applications with SAM Local
- Learn how to customize SAM itself with the open source SAM implementation
The “Twelve-Factor” application model has come to represent twelve best practices for building modern, cloud-native applications. With guidance on things like configuration, deployment, run time, and multiple service communication, the Twelve-Factor model prescribes best practices that apply to everything from web applications to APIs to data processing applications. Although serverless computing and AWS Lambda have changed how application development is done, the “Twelve-Factor” best practices remain relevant and applicable in a serverless world. In this talk, we’ll apply the “Twelve-Factor” model to serverless application development with AWS Lambda and Amazon API Gateway and show you how these services enable you to build scalable, well built, and low administration applications.
Twelve-Factor serverless applications - MAD311 - Chicago AWS SummitAmazon Web Services
The Twelve-Factor application model represents 12 best practices for building modern, cloud-native applications. With guidance on factors like configuration, deployment, runtime, and multiple-service communication, the Twelve-Factor model prescribes practices that apply to everything from web applications to APIs to data-processing applications. Although serverless computing and AWS Lambda have changed application development, the Twelve-Factor methodology remains relevant and applicable in a serverless world. In this talk, we apply the Twelve-Factor model to serverless application development with Lambda and Amazon API Gateway, and we demonstrate how these services enable you to build scalable, well-built, low-administration applications.
Twelve-Factor App Methodology and Modern Applications | AWS Summit Tel Aviv 2019AWS Summits
The document discusses how the principles of the Twelve-Factor App methodology apply to serverless applications. It reviews each of the twelve factors and how they relate to concepts like AWS Lambda, API Gateway, code packaging and deployment, logging, and the Serverless Application Model. While many factors align well with serverless apps or serverless services, some require different interpretations. The takeaway is that the methodology can help design modern apps and serverless focuses on core business needs.
Similar to Twelve Factor Serverless Applications (20)
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
Il Forecasting è un processo importante per tantissime aziende e viene utilizzato in vari ambiti per cercare di prevedere in modo accurato la crescita e distribuzione di un prodotto, l’utilizzo delle risorse necessarie nelle linee produttive, presentazioni finanziarie e tanto altro. Amazon utilizza delle tecniche avanzate di forecasting, in parte questi servizi sono stati messi a disposizione di tutti i clienti AWS.
In questa sessione illustreremo come pre-processare i dati che contengono una componente temporale e successivamente utilizzare un algoritmo che a partire dal tipo di dato analizzato produce un forecasting accurato.
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
La varietà e la quantità di dati che si crea ogni giorno accelera sempre più velocemente e rappresenta una opportunità irripetibile per innovare e creare nuove startup.
Tuttavia gestire grandi quantità di dati può apparire complesso: creare cluster Big Data su larga scala sembra essere un investimento accessibile solo ad aziende consolidate. Ma l’elasticità del Cloud e, in particolare, i servizi Serverless ci permettono di rompere questi limiti.
Vediamo quindi come è possibile sviluppare applicazioni Big Data rapidamente, senza preoccuparci dell’infrastruttura, ma dedicando tutte le risorse allo sviluppo delle nostre le nostre idee per creare prodotti innovativi.
Ora puoi utilizzare Amazon Elastic Kubernetes Service (EKS) per eseguire pod Kubernetes su AWS Fargate, il motore di elaborazione serverless creato per container su AWS. Questo rende più semplice che mai costruire ed eseguire le tue applicazioni Kubernetes nel cloud AWS.In questa sessione presenteremo le caratteristiche principali del servizio e come distribuire la tua applicazione in pochi passaggi
Vent'anni fa Amazon ha attraversato una trasformazione radicale con l'obiettivo di aumentare il ritmo dell'innovazione. In questo periodo abbiamo imparato come cambiare il nostro approccio allo sviluppo delle applicazioni ci ha permesso di aumentare notevolmente l'agilità, la velocità di rilascio e, in definitiva, ci ha consentito di creare applicazioni più affidabili e scalabili. In questa sessione illustreremo come definiamo le applicazioni moderne e come la creazione di app moderne influisce non solo sull'architettura dell'applicazione, ma sulla struttura organizzativa, sulle pipeline di rilascio dello sviluppo e persino sul modello operativo. Descriveremo anche approcci comuni alla modernizzazione, compreso l'approccio utilizzato dalla stessa Amazon.com.
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
L’utilizzo dei container è in continua crescita.
Se correttamente disegnate, le applicazioni basate su Container sono molto spesso stateless e flessibili.
I servizi AWS ECS, EKS e Kubernetes su EC2 possono sfruttare le istanze Spot, portando ad un risparmio medio del 70% rispetto alle istanze On Demand. In questa sessione scopriremo insieme quali sono le caratteristiche delle istanze Spot e come possono essere utilizzate facilmente su AWS. Impareremo inoltre come Spreaker sfrutta le istanze spot per eseguire applicazioni di diverso tipo, in produzione, ad una frazione del costo on-demand!
In recent months, many customers have been asking us the question – how to monetise Open APIs, simplify Fintech integrations and accelerate adoption of various Open Banking business models. Therefore, AWS and FinConecta would like to invite you to Open Finance marketplace presentation on October 20th.
Event Agenda :
Open banking so far (short recap)
• PSD2, OB UK, OB Australia, OB LATAM, OB Israel
Intro to Open Finance marketplace
• Scope
• Features
• Tech overview and Demo
The role of the Cloud
The Future of APIs
• Complying with regulation
• Monetizing data / APIs
• Business models
• Time to market
One platform for all: a Strategic approach
Q&A
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
Per creare valore e costruire una propria offerta differenziante e riconoscibile, le startup di successo sanno come combinare tecnologie consolidate con componenti innovativi creati ad hoc.
AWS fornisce servizi pronti all'utilizzo e, allo stesso tempo, permette di personalizzare e creare gli elementi differenzianti della propria offerta.
Concentrandoci sulle tecnologie di Machine Learning, vedremo come selezionare i servizi di intelligenza artificiale offerti da AWS e, anche attraverso una demo, come costruire modelli di Machine Learning personalizzati utilizzando SageMaker Studio.
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
Con l'approccio tradizionale al mondo IT per molti anni è stato difficile implementare tecniche di DevOps, che finora spesso hanno previsto attività manuali portando di tanto in tanto a dei downtime degli applicativi interrompendo l'operatività dell'utente. Con l'avvento del cloud, le tecniche di DevOps sono ormai a portata di tutti a basso costo per qualsiasi genere di workload, garantendo maggiore affidabilità del sistema e risultando in dei significativi miglioramenti della business continuity.
AWS mette a disposizione AWS OpsWork come strumento di Configuration Management che mira ad automatizzare e semplificare la gestione e i deployment delle istanze EC2 per mezzo di workload Chef e Puppet.
Scopri come sfruttare AWS OpsWork a garanzia e affidabilità del tuo applicativo installato su Instanze EC2.
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
Vuoi conoscere le opzioni per eseguire Microsoft Active Directory su AWS? Quando si spostano carichi di lavoro Microsoft in AWS, è importante considerare come distribuire Microsoft Active Directory per supportare la gestione, l'autenticazione e l'autorizzazione dei criteri di gruppo. In questa sessione, discuteremo le opzioni per la distribuzione di Microsoft Active Directory su AWS, incluso AWS Directory Service per Microsoft Active Directory e la distribuzione di Active Directory su Windows su Amazon Elastic Compute Cloud (Amazon EC2). Trattiamo argomenti quali l'integrazione del tuo ambiente Microsoft Active Directory locale nel cloud e l'utilizzo di applicazioni SaaS, come Office 365, con AWS Single Sign-On.
Dal riconoscimento facciale al riconoscimento di frodi o difetti di fabbricazione, l'analisi di immagini e video che sfruttano tecniche di intelligenza artificiale, si stanno evolvendo e raffinando a ritmi elevati. In questo webinar esploreremo le possibilità messe a disposizione dai servizi AWS per applicare lo stato dell'arte delle tecniche di computer vision a scenari reali.
Amazon Web Services e VMware organizzano un evento virtuale gratuito il prossimo mercoledì 14 Ottobre dalle 12:00 alle 13:00 dedicato a VMware Cloud ™ on AWS, il servizio on demand che consente di eseguire applicazioni in ambienti cloud basati su VMware vSphere® e di accedere ad una vasta gamma di servizi AWS, sfruttando a pieno le potenzialità del cloud AWS e tutelando gli investimenti VMware esistenti.
Molte organizzazioni sfruttano i vantaggi del cloud migrando i propri carichi di lavoro Oracle e assicurandosi notevoli vantaggi in termini di agilità ed efficienza dei costi.
La migrazione di questi carichi di lavoro, può creare complessità durante la modernizzazione e il refactoring delle applicazioni e a questo si possono aggiungere rischi di prestazione che possono essere introdotti quando si spostano le applicazioni dai data center locali.
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
Molte aziende oggi, costruiscono applicazioni con funzionalità di tipo ledger ad esempio per verificare lo storico di accrediti o addebiti nelle transazioni bancarie o ancora per tenere traccia del flusso supply chain dei propri prodotti.
Alla base di queste soluzioni ci sono i database ledger che permettono di avere un log delle transazioni trasparente, immutabile e crittograficamente verificabile, ma sono strumenti complessi e onerosi da gestire.
Amazon QLDB elimina la necessità di costruire sistemi personalizzati e complessi fornendo un database ledger serverless completamente gestito.
In questa sessione scopriremo come realizzare un'applicazione serverless completa che utilizzi le funzionalità di QLDB.
Con l’ascesa delle architetture di microservizi e delle ricche applicazioni mobili e Web, le API sono più importanti che mai per offrire agli utenti finali una user experience eccezionale. In questa sessione impareremo come affrontare le moderne sfide di progettazione delle API con GraphQL, un linguaggio di query API open source utilizzato da Facebook, Amazon e altro e come utilizzare AWS AppSync, un servizio GraphQL serverless gestito su AWS. Approfondiremo diversi scenari, comprendendo come AppSync può aiutare a risolvere questi casi d’uso creando API moderne con funzionalità di aggiornamento dati in tempo reale e offline.
Inoltre, impareremo come Sky Italia utilizza AWS AppSync per fornire aggiornamenti sportivi in tempo reale agli utenti del proprio portale web.
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
Molte organizzazioni sfruttano i vantaggi del cloud migrando i propri carichi di lavoro Oracle e assicurandosi notevoli vantaggi in termini di agilità ed efficienza dei costi.
La migrazione di questi carichi di lavoro, può creare complessità durante la modernizzazione e il refactoring delle applicazioni e a questo si possono aggiungere rischi di prestazione che possono essere introdotti quando si spostano le applicazioni dai data center locali.
In queste slide, gli esperti AWS e VMware presentano semplici e pratici accorgimenti per facilitare e semplificare la migrazione dei carichi di lavoro Oracle accelerando la trasformazione verso il cloud, approfondiranno l’architettura e dimostreranno come sfruttare a pieno le potenzialità di VMware Cloud ™ on AWS.
1) The document discusses building a minimum viable product (MVP) using Amazon Web Services (AWS).
2) It provides an example of an MVP for an omni-channel messenger platform that was built from 2017 to connect ecommerce stores to customers via web chat, Facebook Messenger, WhatsApp, and other channels.
3) The founder discusses how they started with an MVP in 2017 with 200 ecommerce stores in Hong Kong and Taiwan, and have since expanded to over 5000 clients across Southeast Asia using AWS for scaling.
This document discusses pitch decks and fundraising materials. It explains that venture capitalists will typically spend only 3 minutes and 44 seconds reviewing a pitch deck. Therefore, the deck needs to tell a compelling story to grab their attention. It also provides tips on tailoring different types of decks for different purposes, such as creating a concise 1-2 page teaser, a presentation deck for pitching in-person, and a more detailed read-only or fundraising deck. The document stresses the importance of including key information like the problem, solution, product, traction, market size, plans, team, and ask.
This document discusses building serverless web applications using AWS services like API Gateway, Lambda, DynamoDB, S3 and Amplify. It provides an overview of each service and how they can work together to create a scalable, secure and cost-effective serverless application stack without having to manage servers or infrastructure. Key services covered include API Gateway for hosting APIs, Lambda for backend logic, DynamoDB for database needs, S3 for static content, and Amplify for frontend hosting and continuous deployment.
This document provides tips for fundraising from startup founders Roland Yau and Sze Lok Chan. It discusses generating competition to create urgency for investors, fundraising in parallel rather than sequentially, having a clear fundraising narrative focused on what you do and why it's compelling, and prioritizing relationships with people over firms. It also notes how the pandemic has changed fundraising, with examples of deals done virtually during this time. The tips emphasize being fully prepared before fundraising and cultivating connections with investors in advance.
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
This document discusses Amazon's machine learning services for building conversational interfaces and extracting insights from unstructured text and audio. It describes Amazon Lex for creating chatbots, Amazon Comprehend for natural language processing tasks like entity extraction and sentiment analysis, and how they can be used together for applications like intelligent call centers and content analysis. Pre-trained APIs simplify adding machine learning to apps without requiring ML expertise.
Amazon Elastic Container Service (Amazon ECS) è un servizio di gestione dei container altamente scalabile, che semplifica la gestione dei contenitori Docker attraverso un layer di orchestrazione per il controllo del deployment e del relativo lifecycle. In questa sessione presenteremo le principali caratteristiche del servizio, le architetture di riferimento per i differenti carichi di lavoro e i semplici passi necessari per poter velocemente migrare uno o più dei tuo container.
2. About me:
Chris Munns - munns@amazon.com, @chrismunns
• Senior Developer Advocate - Serverless
• New Yorker
• Previously:
• AWS Business Development Manager – DevOps, July ’15 - Feb ‘17
• AWS Solutions Architect Nov, 2011- Dec 2014
• Formerly on operations teams @Etsy and @Meetup
• Little time at a hedge fund, Xerox and a few other startups
• Rochester Institute of Technology: Applied Networking and
Systems Administration ’05
• Internet infrastructure geek
4. The “12 Factor” model & serverless applications
• 12 Factor applications were popularized by developers building
large scale applications on platforms such as Heroku
• In recent years the 12 Factor guidelines have been considered best
practices for both developers and operations engineers regardless
of the application’s use-case and at nearly any scale
• Many of the 12 Factor guidelines align directly with best practices
for serverless applications and are improved upon given the nature
of Lambda, API-Gateway, and other AWS services
• However, some of the 12 Factor guidelines don’t directly align with
serverless applications or are interpreted very differently
14. Common Lambda use cases
Web
Applications
• Static
websites
• Complex web
apps
• Packages for
Flask and
Express
Data
Processing
• Real time
• MapReduce
• Batch
Chatbots
• Powering
chatbot logic
Backends
• Apps &
services
• Mobile
• IoT
</></>
Amazon
Alexa
• Powering
voice-enabled
apps
• Alexa Skills
Kit
IT
Automation
• Policy engines
• Extending
AWS services
• Infrastructure
management
15. The 12 Factors:
1. Codebase
2. Dependencies
3. Config
4. Backing
services
5. Build, release,
run
6. Process
7. Port Binding
8. Concurrency
9. Disposability
10.Dev/prod
parity
11.Logs
12.Admin
processes
Let’s explore how the 12 Factors apply to a serverless
application:
16. 1. Codebase
12Factor.net: “One codebase tracked in revision control, many
deploys”
Serverless Apps: All code should be stored in revision control (a
development best practice). The same repository should be used for all
environments deployed to. The bounds of an “application” differ in
serverless terms:
• If events are shared (ie. a common Amazon API Gateway) then
Lambda function code for those events should be put in the same
repository
• Otherwise break “services” along event source into their own
repositories
17. 12Factor.net: “Explicitly declare and isolate dependencies”
Serverless Apps: Code that needs to be used by multiple functions
should be packaged into its own library. Include those packages inside
of your deployment package. Every language Lambda supports has a
model for this:
2. Dependencies
Node.js & Python
• .zip file consisting of
your code and any
dependencies
• Can use npm/pip.
• All dependencies must
be at root level
Java
• Either .zip file with all
code/dependencies, or
standalone .jar with
compiled class &
resource files at root
level, required jars in /lib
directory
• Can use Maven
C# (.NET Core)
• Either .zip file with all
code/dependencies,
or a standalone .dll
• Can use Nuget
• All assemblies (.dll)
at root level
18. 3. Config
12Factor.net: “Store config in the environment”
Serverless Apps: Many ways to do this in serverless applications:
• Lambda Environment Variables:
• Key-value pairs available via standard environment variable APIs such as
process.env for Node.js or os.environ for Python
• Support KMS encryption
• API Gateway Stages:
• Key-value pairs available for configuring API Gateway functionality or to pass
on to HTTP endpoints as URI parameters or configuration parameters to a
Lambda invocation
•AWS Systems Manager Parameter Store:
19. AWS Systems Manager – Parameter Store
Centralized store to manage your
configuration data
• supports hierarchies
• plain-text or encrypted with KMS
• Can send notifications of changes
to SNS/Lambda
• Can be secured with IAM
• Calls recorded in CloudTrail
• Can be tagged
• Available via API/SDK
Useful for: centralized environment
variables, secrets control, feature
flags
from __future__ import print_function
import json
import boto3
ssm = boto3.client('ssm', 'us-east-1')
def get_parameters():
response = ssm.get_parameters(
Names=['LambdaSecureString'],WithDe
cryption=True
)
for parameter in
response['Parameters']:
return parameter['Value']
def lambda_handler(event, context):
value = get_parameters()
print("value1 = " + value)
return value # Echo back the first key
value
20. 4. Backing services
12Factor.net: “Treat backing services as attached resources”
Serverless Apps: No differences. Resources that Lambda functions
connect to, such as databases, should have their endpoints and
access credentials made available via config resources or IAM policies
👍
21. 5. Build, release, run
12Factor.net: “Strictly separate build and run stages”
Serverless Apps: No differences. Development best practices such
as Continuous Integration and Continuous Delivery should be followed.
• Use AWS CodeBuild and AWS CodePipeline to support this:
AWS CodeBuild AWS CodePipeline
23. version: 0.1
environment_variables:
plaintext:
"INPUT_FILE": "saml.yaml”
"S3_BUCKET": ""
phases:
install:
commands:
- npm install
pre_build:
commands:
- eslint *.js
build:
commands:
- npm test
post_build:
commands:
- aws cloudformation package --template $INPUT_FILE --s3-
bucket $S3_BUCKET --output-template post-saml.yaml
artifacts:
type: zip
files:
- post-saml.yaml
- beta.json
• Variables to be used by phases of
build
• Examples for what you can do in
the phases of a build:
• You can install packages or run
commands to prepare your
environment in ”install”.
• Run syntax checking,
commands in “pre_build”.
• Execute your build/test tools or
commands in “build”
• Execute the CloudFormation
“package” command to package
your serverless application with
SAM in “post_build”
• Create and store an artifact in S3
Serverless App buildspec.yml Example
24. Delivery via CodePipeline
Pipeline flow:
1. Commit your code to a source code repository
2. Package/Test in CodeBuild
3. Use CloudFormation actions in CodePipeline to
create or update stacks via SAM templates
Optional: Make use of ChangeSets
4. Make use of specific stage/environment
parameter files to pass in Lambda variables
5. Test our application between stages/environments
Optional: Make use of Manual Approvals
25. An example minimal Developer’s pipeline:
MyBranch-Source
Source
CodeCommit
MyApplication
Build
test-build-source
CodeBuild
MyDev-Deploy
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Run-stubs
AWS Lambda
This pipeline:
• Three Stages
• Builds code artifact
• One Development environment
• Uses SAM/CloudFormation to
deploy artifact and other AWS
resources
• Has Lambda custom actions for
running my own testing functions
26. Source
Source
CodeCommit
MyApplication
An example minimal production pipeline:
Build
test-build-source
CodeBuild
Deploy Testing
create-changeset
AWS
CloudFormation
execute-changeset
AWS
CloudFormation
Run-stubs
AWS Lambda
Deploy Staging
create-changeset
AWS
CloudFormation
execute-changeset
AWS
CloudFormation
Run-API-test
Runscope
QA-Sign-off
Manual Approval
Review
Deploy Prod
create-changeset
AWS
CloudFormation
execute-changeset
AWS
CloudFormation
Post-Deploy-Slack
AWS Lambda
This pipeline:
• Five Stages
• Builds code artifact
• Three deployed to “Environments”
• Uses SAM/CloudFormation to
deploy artifact and other AWS
resources
• Has Lambda custom actions for
running my own testing functions
• Integrates with a 3rd party
tool/service
• Has a manual approval before
deploying to production
27. 6. Process
12Factor.net: “Execute the app as one or more stateless processes”
Serverless Apps: This is inherent in how Lambda is designed
already:
• Lambda Functions should be treated as stateless despite the
potential to store some state in-between container re-use.
• There is no promise of container re-use between function
invocations.
• Data that needs to kept should be stored off Lambda in a stateful
service such as a database or cache.
28. 7. Port Binding
12Factor.net: “Export services via port binding”
Serverless Apps: In Lambda/serverless applications this factor
doesn’t apply the same due to a difference in how Lambda Functions
are accessed:
• Instead of a “port” Lambda functions are invoked via one or more
triggering services or AWS’s APIs for Lambda
• When it comes to Lambda functions there are 3 models for how they
can be invoked; synchronously, asynchronously, and via stream
• Instead of having one function support multiple invocation sources,
create independent functions and make use of shared code via
dependencies (shared packages) to support shared capabilities
29. Amazon
DynamoDB
Amazon
Kinesis
Amazon
S3
Amazon
SNS
ASYNCHRONOUS PUSH MODEL
STREAM PULL MODEL
Lambda Real-Time Event Sources
Amazon
Alexa
AWS
IoT
SYNCHRONOUS PUSH MODEL
Mapping owned by Event Source
Invokes Lambda via Event Source API
Resource-based policy permissions
Concurrent executions
Sync invocation
Async Invocation
Sync invocation
Mapping owned by Lambda
Lambda function invokes when new
records found on stream
Lambda Execution role
policy permissions
Lambda polls the streams
HOW IT WORKS
30. Amazon S3 Amazon
DynamoDB
Amazon
Kinesis
AWS
CloudFormation
AWS CloudTrail Amazon
CloudWatch
Amazon
Cognito
Amazon SNSAmazon
SES
Cron events
DATA STORES ENDPOINTS
DEVELOPMENT AND MANAGEMENT TOOLS EVENT/MESSAGE SERVICES
Event sources that trigger AWS Lambda
and more!
AWS
CodeCommit
Amazon
API Gateway
Amazon
Alexa
AWS IoT AWS Step
Functions
31. 8. Concurrency
12Factor.net: “Scale out via the process model”
Serverless Apps: Doesn’t apply as Lambda functions will scale
automatically based on load. You can fork threads inside of your
function execution but there are practical limits due to the memory and
CPU/network constraints of your functions based on how you configure
them.
👍
32. 9. Disposability
12Factor.net: “Maximize robustness with fast startup and graceful
shutdown”
Serverless Apps: Shutdown doesn’t apply as Lambda functions and
their invocation are tied directly to incoming events. Speed at startup
does matter though and is a factor of deployment package size +
language used + VPC (or not) + pre-handler code calls.
👍
33. 10. Dev/prod parity
12Factor.net: “Keep development, staging, and production as similar
as possible”
Serverless Apps: This can be made incredibly easy with serverless
applications by:
• Making use of environment/stage variables or Parameter Store for
configuration information, backend resources, etc
• Using Serverless Application Models (SAM) to deploy your
application
• Can pass environment/stage variables via Parameters, Mappings, Imports
• Having a CI/CD process and tooling that supports multiple
environments or accounts
37. SAM template
AWSTemplateFormatVersion: '2010-09-09’
Transform: AWS::Serverless-2016-10-31
Resources:
GetHtmlFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam-demo-bucket/todo_list.zip
Handler: index.gethtml
Runtime: nodejs4.3
Policies: AmazonDynamoDBReadOnlyAccess
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
Tells CloudFormation this is a SAM
template it needs to “transform”
Creates a Lambda function with the
referenced managed IAM policy,
runtime, code at the referenced zip
location, and handler as defined.
Also creates an API Gateway and
takes care of all
mapping/permissions necessary
Creates a DynamoDB table with 5
Read & Write units
39. Introducing SAM Local
CLI tool for local testing of serverless apps
Works with Lambda functions and “proxy-
style” APIs
Response object and function logs available
on your local machine
Currently supports Java, Node.js and
Python
40. Introducing SAM Local
Supports live debugging (Java and Node.js)
Uses open source docker-lambda images to
mimic Lambda’s execution environment
Emulates timeout, memory limits, runtimes
Does not emulate CPU limits
Partial API Gateway emulation (proxy calls)
SAM Local is open source – accepting pull
requests!
41. 11. Logs
12Factor.net: “Treat logs as event streams”
Serverless Apps: Logging (as well as Metric collection) are
considered a “universal right” in Lambda:
• Console output automatically collected and sent to Amazon
CloudWatch Logs
• Logs can be turned into Metrics
• Logs can be sent to Amazon S3 or ElasticSearch easily for further inspection
and trending
• Metrics for Lambda and API Gateway for several key stats are
automatically collected and sent to CloudWatch
• You can easily send more using the CloudWatch SDK
42. 12. Admin processes
12Factor.net: “Run admin/management tasks as one-off processes”
Serverless Apps: Doesn’t apply to Lambda since you already limit
your functions based on use case. True administrative tasks would
occur via their own Lambda Functions or via tools such as Amazon
EC2 Run Command.
👍
43. 1. Codebase
2. Dependencies
3. Config
4. Backing
services
5. Build, release,
run
6. Process
7. Port Binding
8. Concurrency
9. Disposability
10.Dev/prod
parity
11.Logs
12.Admin
processes
The 12 Factors & Serverless Applications:
As we’ve seen, 12 Factor application design can still be applied to
serverless applications taking into account some small differences!
= Works similarly = Not relevant
45. FIN, ACK (in closing)
As we’ve reviewed the 12 Factor methodology for
applications we’ve seen which factors do and do not apply
the same for serverless applications:
• Thinking about code reusability and how to scope your functions to
the smallest size necessary provides many benefits
• Factors related to underlying process management, network ports,
concurrency, and admin processes are largely not an issue in
serverless applications due to Lambda’s product design and
features
• Best practices for serverless align pretty closely with 12 Factor
guidance already, so you might be really close to meeting the “12
Factor bar” already!
https://12factor.net/codebase
There is always a one-to-one correlation between the codebase and the app:
*If there are multiple codebases, it’s not an app – it’s a distributed system. Each component in a distributed system is an app, and each can individually comply with twelve-factor.
*Multiple apps sharing the same code is a violation of twelve-factor. The solution here is to factor shared code into libraries which can be included through the dependency manager.
https://12factor.net/dependencies
A twelve-factor app never relies on implicit existence of system-wide packages. It declares all dependencies, completely and exactly, via a dependency declaration manifest. Furthermore, it uses a dependency isolation tool during execution to ensure that no implicit dependencies “leak in” from the surrounding system. The full and explicit dependency specification is applied uniformly to both production and development.
https://12factor.net/config
An app’s config is everything that is likely to vary between deploys (staging, production, developer environments, etc). This includes:
Resource handles to the database, Memcached, and other backing services
Credentials to external services such as Amazon S3 or Twitter
Per-deploy values such as the canonical hostname for the deploy
Apps sometimes store config as constants in the code. This is a violation of twelve-factor, which requires strict separation of config from code. Config varies substantially across deploys, code does not.
A litmus test for whether an app has all config correctly factored out of the code is whether the codebase could be made open source at any moment, without compromising any credentials.
https://12factor.net/backing-services
A backing service is any service the app consumes over the network as part of its normal operation. Examples include datastores (such as MySQL or CouchDB), messaging/queueing systems (such as RabbitMQ or Beanstalkd), SMTP services for outbound email (such as Postfix), and caching systems (such as Memcached).
Backing services like the database are traditionally managed by the same systems administrators as the app’s runtime deploy. In addition to these locally-managed services, the app may also have services provided and managed by third parties. Examples include SMTP services (such as Postmark), metrics-gathering services (such as New Relic or Loggly), binary asset services (such as Amazon S3), and even API-accessible consumer services (such as Twitter, Google Maps, or Last.fm).
The code for a twelve-factor app makes no distinction between local and third party services. To the app, both are attached resources, accessed via a URL or other locator/credentials stored in the config. A deploy of the twelve-factor app should be able to swap out a local MySQL database with one managed by a third party (such as Amazon RDS) without any changes to the app’s code. Likewise, a local SMTP server could be swapped with a third-party SMTP service (such as Postmark) without code changes. In both cases, only the resource handle in the config needs to change.
https://12factor.net/build-release-run
A codebase is transformed into a (non-development) deploy through three stages:
The build stage is a transform which converts a code repo into an executable bundle known as a build. Using a version of the code at a commit specified by the deployment process, the build stage fetches vendors dependencies and compiles binaries and assets.
The release stage takes the build produced by the build stage and combines it with the deploy’s current config. The resulting release contains both the build and the config and is ready for immediate execution in the execution environment.
The run stage (also known as “runtime”) runs the app in the execution environment, by launching some set of the app’s processes against a selected release.
The twelve-factor app uses strict separation between the build, release, and run stages. For example, it is impossible to make changes to the code at runtime, since there is no way to propagate those changes back to the build stage.
https://12factor.net/processes
The app is executed in the execution environment as one or more processes.
In the simplest case, the code is a stand-alone script, the execution environment is a developer’s local laptop with an installed language runtime, and the process is launched via the command line (for example, python my_script.py). On the other end of the spectrum, a production deploy of a sophisticated app may use many process types, instantiated into zero or more running processes.
Twelve-factor processes are stateless and share-nothing. Any data that needs to persist must be stored in a stateful backing service, typically a database.
The memory space or filesystem of the process can be used as a brief, single-transaction cache. For example, downloading a large file, operating on it, and storing the results of the operation in the database. The twelve-factor app never assumes that anything cached in memory or on disk will be available on a future request or job – with many processes of each type running, chances are high that a future request will be served by a different process. Even when running only one process, a restart (triggered by code deploy, config change, or the execution environment relocating the process to a different physical location) will usually wipe out all local (e.g., memory and filesystem) state.
https://12factor.net/port-binding
Web apps are sometimes executed inside a webserver container. For example, PHP apps might run as a module inside Apache HTTPD, or Java apps might run inside Tomcat.
The twelve-factor app is completely self-contained and does not rely on runtime injection of a webserver into the execution environment to create a web-facing service. The web app exports HTTP as a service by binding to a port, and listening to requests coming in on that port.
https://12factor.net/concurrency
Any computer program, once run, is represented by one or more processes. Web apps have taken a variety of process-execution forms. For example, PHP processes run as child processes of Apache, started on demand as needed by request volume. Java processes take the opposite approach, with the JVM providing one massive uberprocess that reserves a large block of system resources (CPU and memory) on startup, with concurrency managed internally via threads. In both cases, the running process(es) are only minimally visible to the developers of the app.
In the twelve-factor app, processes are a first class citizen. Processes in the twelve-factor app take strong cues from the unix process model for running service daemons. Using this model, the developer can architect their app to handle diverse workloads by assigning each type of work to a process type. For example, HTTP requests may be handled by a web process, and long-running background tasks handled by a worker process.
https://12factor.net/disposability
The twelve-factor app’s processes are disposable, meaning they can be started or stopped at a moment’s notice. This facilitates fast elastic scaling, rapid deployment of code or config changes, and robustness of production deploys.
Processes should strive to minimize startup time. Ideally, a process takes a few seconds from the time the launch command is executed until the process is up and ready to receive requests or jobs. Short startup time provides more agility for the release process and scaling up; and it aids robustness, because the process manager can more easily move processes to new physical machines when warranted.
Processes shut down gracefully when they receive a SIGTERM signal from the process manager. For a web process, graceful shutdown is achieved by ceasing to listen on the service port (thereby refusing any new requests), allowing any current requests to finish, and then exiting. Implicit in this model is that HTTP requests are short (no more than a few seconds), or in the case of long polling, the client should seamlessly attempt to reconnect when the connection is lost.
https://12factor.net/dev-prod-parity
Historically, there have been substantial gaps between development (a developer making live edits to a local deploy of the app) and production (a running deploy of the app accessed by end users). These gaps manifest in three areas:
The time gap: A developer may work on code that takes days, weeks, or even months to go into production.
The personnel gap: Developers write code, ops engineers deploy it.
The tools gap: Developers may be using a stack like Nginx, SQLite, and OS X, while the production deploy uses Apache, MySQL, and Linux.
The twelve-factor app is designed for continuous deployment by keeping the gap between development and production small. Looking at the three gaps described above:
Make the time gap small: a developer may write code and have it deployed hours or even just minutes later.
Make the personnel gap small: developers who wrote code are closely involved in deploying it and watching its behavior in production.
Make the tools gap small: keep development and production as similar as possible.
SAM Local is a CLI tool that allows customers to test their SAM-based Lambda functions locally, before deploying code to Lambda. SAM Local currently supports functions in Node.js, Java and Python. If your function is fronted by API Gateway, SAM Local will allow you to ping APIs to invoke your function. Alternatively, you can use SAM Local’s “event payload generator” to quickly create a mock event to invoke your function with. After your function executes, you can view the response or examine the logs, all on your local machine. SAM local automatically executes your functions in a sandboxed environment that mimics Lambda’s execution environment, by leveraging docker-lambda Docker images.
SAM Local is a CLI tool that allows customers to test their SAM-based Lambda functions locally, before deploying code to Lambda. SAM Local currently supports functions in Node.js, Java and Python. If your function is fronted by API Gateway, SAM Local will allow you to ping APIs to invoke your function. Alternatively, you can use SAM Local’s “event payload generator” to quickly create a mock event to invoke your function with. After your function executes, you can view the response or examine the logs, all on your local machine. SAM local automatically executes your functions in a sandboxed environment that mimics Lambda’s execution environment, by leveraging docker-lambda Docker images.
https://12factor.net/logs
Logs provide visibility into the behavior of a running app. In server-based environments they are commonly written to a file on disk (a “logfile”); but this is only an output format.
Logs are the stream of aggregated, time-ordered events collected from the output streams of all running processes and backing services. Logs in their raw form are typically a text format with one event per line (though backtraces from exceptions may span multiple lines). Logs have no fixed beginning or end, but flow continuously as long as the app is operating.
A twelve-factor app never concerns itself with routing or storage of its output stream. It should not attempt to write to or manage logfiles. Instead, each running process writes its event stream, unbuffered, to stdout. During local development, the developer will view this stream in the foreground of their terminal to observe the app’s behavior.
In staging or production deploys, each process’ stream will be captured by the execution environment, collated together with all other streams from the app, and routed to one or more final destinations for viewing and long-term archival. These archival destinations are not visible to or configurable by the app, and instead are completely managed by the execution environment. Open-source log routers (such as Logplex and Fluent) are available for this purpose.
https://12factor.net/admin-processes
The process formation is the array of processes that are used to do the app’s regular business (such as handling web requests) as it runs. Separately, developers will often wish to do one-off administrative or maintenance tasks for the app, such as:
Running database migrations (e.g. manage.py migrate in Django, rake db:migrate in Rails).
Running a console (also known as a REPL shell) to run arbitrary code or inspect the app’s models against the live database. Most languages provide a REPL by running the interpreter without any arguments (e.g. python or perl) or in some cases have a separate command (e.g. irb for Ruby, rails console for Rails).
Running one-time scripts committed into the app’s repo (e.g. php scripts/fix_bad_records.php).
One-off admin processes should be run in an identical environment as the regular long-running processes of the app. They run against a release, using the same codebase and config as any process run against that release. Admin code must ship with application code to avoid synchronization issues.
Note: Disposability scores somewhere in the middle. You don’t need to think about shutdown but you do need to think about startup performance in relation to your application