Post on 08-Jan-2017
transcript
© 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
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.
Amazon
ECR
Bastion
HostAmazon ECS Amazon
RDSAmazon Cognito
AWS Device Farm
AWS Mobile HubCodeCommit
CodePipeline
Jenkins
mobile client
Swift is a general-purpose
programming language built using a
modern approach to safety,
performance, and software design
patterns.
www.swift.org
Vapor is a Web Framework for
Swift that works on iOS, macOS,
and Ubuntu.
www.vapor.codes
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.
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
Amazon Relational Database Service
(Amazon RDS) makes it easy to set up,
operate, and scale a relational database
in the cloud.
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.
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.
AWS CodeCommit is a fully-managed
source control service that makes it easy
for companies to host secure and highly
scalable private Git repositories.
AWS CodePipeline is a continuous
delivery service that enables you to model,
visualize, and automate the steps required
to release your software.
Goal: develop a simple products API
using Swift and Vapor, a web framework for
Swift, and deployed it on Amazon ECS
Amazon
ECR
Bastion
Host
Amazon ECS Amazon
RDS
Amazon Cognito
AWS Device Farm
AWS Mobile Hub
CodeCommit
CodePipeline
Jenkins
mobile client
Goal: develop a Swift Mobile App using
AWS Mobile Hub and Amazon Cognito and
integrate it to the API you developed in lab 1
Amazon
ECR
Bastion
Host
Amazon ECS Amazon RDS
Amazon Cognito
AWS Mobile Hub
CodeCommit
CodePipeline
Jenkins
mobile client
Amazon
ECR
Bastion
Host
Amazon
ECSAmazon
RDS
AWS Device Farm
CodeCommit
CodePipeline
Jenkins
mobile client
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
Amazon
ECR
Bastion
Host
Amazon ECS Amazon
RDS
AmazonCognito
AWS Device Farm
AWS Mobile Hub CodeCommit
CodePipeline
Jenkins
mobile client