In this workshop, you learn how to develop a mobile front-end using Swift, and develop a Swift microservices-based web application to be deployed on Amazon ECS.
Workshop Requirements:
Mac Laptop
XCode 7 or 8
AWS Account
IAM admin privileges for AWS account with full access to EC2, ECS, ECR, Code Pipeline, Mobile Hub and Device Farm. (If you choose to create a new account, please do it 24 hrs ahead.)
2. 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.
4. Swift is a general-purpose
programming language built using a
modern approach to safety,
performance, and software design
patterns.
www.swift.org
5. Vapor is a Web Framework for
Swift that works on iOS, macOS,
and Ubuntu.
www.vapor.codes
6. Docker is the world’s leading software
containerization platform
7. 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.
8. 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
9. Amazon Relational Database Service
(Amazon RDS) makes it easy to set up,
operate, and scale a relational database
in the cloud.
10. 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.
11. 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.
12. Amazon Cognito lets you easily add user
sign-up and sign-in to your mobile and
web apps.
13. AWS CodeCommit is a fully-managed
source control service that makes it easy
for companies to host secure and highly
scalable private Git repositories.
14. AWS CodePipeline is a continuous
delivery service that enables you to model,
visualize, and automate the steps required
to release your software.
26. 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