Top Banner
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. December 1, 2016 CON315 Workshop: Deploy a Swift Web Application on Amazon ECS Asif Khan, Solutions Architect, AWS
29

AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Jan 08, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

December 1, 2016

CON315

Workshop: Deploy a Swift Web Application

on Amazon ECS

Asif Khan, Solutions Architect, AWS

Page 2: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

What to Expect from the Session

• Four intensive labs which takes you from zero

code to running a complete Swift stack (mobile

client, API, back end) on AWS

• Hands-on experience of AWS services such as

EC2, ECS, ECR, RDS, Mobile Hub, Device

Farm, CloudFormation, CodePipeline,

CodeCommit, etc.

Page 3: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon

ECR

Bastion

HostAmazon ECS Amazon

RDSAmazon Cognito

AWS Device Farm

AWS Mobile HubCodeCommit

CodePipeline

Jenkins

mobile client

Page 4: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Swift is a general-purpose

programming language built using a

modern approach to safety,

performance, and software design

patterns.

www.swift.org

Page 5: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Vapor is a Web Framework for

Swift that works on iOS, macOS,

and Ubuntu.

www.vapor.codes

Page 6: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Docker is the world’s leading software

containerization platform

Page 7: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon EC2 Container Service is a

container management service for deploying and scaling

Docker containers in production.

Amazon ECS makes it easy to securely run containerized

applications at high levels of scale and fault tolerance. You

just add the server capacity you need to your cluster and

upload your container images. Amazon ECS takes care of the

rest. It deploys your containers across a cluster of servers,

and it takes care of load balancing and scaling your

containers. There is no container management software to

install and operate because it is all provided to you as a

service, making it great for production applications.

Page 8: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon EC2 Container Registry (ECR) is a

fully-managed Docker container registry

that makes it easy for developers to store,

manage, and deploy Docker container

images

Page 9: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon Relational Database Service

(Amazon RDS) makes it easy to set up,

operate, and scale a relational database

in the cloud.

Page 10: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

AWS Mobile Services are a range of services

to help you develop mobile apps that can

scale to hundreds of millions of users, and

reach global audiences. With AWS, you can

quickly and easily add mobile features to

your app, including user authentication,

data storage, content delivery, backend

logic, analytics dashboards, and push

notifications - all from a single, integrated

console.

Page 11: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

AWS Device Farm is an app testing

service that lets you test and interact with

your Android, iOS, and web apps on many

devices at once, or reproduce issues on a

device in real time.

Page 12: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon Cognito lets you easily add user

sign-up and sign-in to your mobile and

web apps.

Page 13: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

AWS CodeCommit is a fully-managed

source control service that makes it easy

for companies to host secure and highly

scalable private Git repositories.

Page 14: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

AWS CodePipeline is a continuous

delivery service that enables you to model,

visualize, and automate the steps required

to release your software.

Page 15: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

https://github.com/awslabs/swift-ecs-workshop

Page 16: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Lab1

Page 17: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Goal: develop a simple products API

using Swift and Vapor, a web framework for

Swift, and deployed it on Amazon ECS

Page 18: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon

ECR

Bastion

Host

Amazon ECS Amazon

RDS

Amazon Cognito

AWS Device Farm

AWS Mobile Hub

CodeCommit

CodePipeline

Jenkins

mobile client

Page 19: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Lab2

Page 20: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Goal: develop a Swift Mobile App using

AWS Mobile Hub and Amazon Cognito and

integrate it to the API you developed in lab 1

Page 21: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon

ECR

Bastion

Host

Amazon ECS Amazon RDS

Amazon Cognito

AWS Mobile Hub

CodeCommit

CodePipeline

Jenkins

mobile client

Page 22: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Lab 3

Page 23: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Goal: test the mobile App developed in

Lab 2 using Amazon Device Farm

Page 24: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon

ECR

Bastion

Host

Amazon

ECSAmazon

RDS

AWS Device Farm

CodeCommit

CodePipeline

Jenkins

mobile client

Page 25: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Lab 4 (Optional)

Page 26: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Goal: Create an automated workflow that

will provision, configure and orchestrate a

pipeline triggering deployment of any

changes to your Swift package. Commit

your changes to AWS CodeCommit and

deploy it on Amazon ECS using AWS

CodePipeline, Jenkins, and AWS

CloudFormation

Page 27: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Amazon

ECR

Bastion

Host

Amazon ECS Amazon

RDS

AmazonCognito

AWS Device Farm

AWS Mobile Hub CodeCommit

CodePipeline

Jenkins

mobile client

Page 28: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Thank you!

Page 29: AWS re:Invent 2016: Workshop: Deploy a Swift Web Application on Amazon ECS (CON315)

Remember to complete

your evaluations!