Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

746 views

Published on

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.)

Published in: Technology
  • Be the first to comment

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

  1. 1. © 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
  2. 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.
  3. 3. Amazon ECR Bastion Host Amazon ECS Amazon RDSAmazon Cognito AWS Device Farm AWS Mobile Hub CodeCommit CodePipeline Jenkins mobile client
  4. 4. Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. www.swift.org
  5. 5. Vapor is a Web Framework for Swift that works on iOS, macOS, and Ubuntu. www.vapor.codes
  6. 6. Docker is the world’s leading software containerization platform
  7. 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. 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. 9. Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud.
  10. 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. 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. 12. Amazon Cognito lets you easily add user sign-up and sign-in to your mobile and web apps.
  13. 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. 14. AWS CodePipeline is a continuous delivery service that enables you to model, visualize, and automate the steps required to release your software.
  15. 15. https://github.com/awslabs/swift-ecs-workshop
  16. 16. Lab1
  17. 17. Goal: develop a simple products API using Swift and Vapor, a web framework for Swift, and deployed it on Amazon ECS
  18. 18. Amazon ECR Bastion Host Amazon ECS Amazon RDS Amazon Cognito AWS Device Farm AWS Mobile Hub CodeCommit CodePipeline Jenkins mobile client
  19. 19. Lab2
  20. 20. Goal: develop a Swift Mobile App using AWS Mobile Hub and Amazon Cognito and integrate it to the API you developed in lab 1
  21. 21. Amazon ECR Bastion Host Amazon ECS Amazon RDS Amazon Cognito AWS Mobile Hub CodeCommit CodePipeline Jenkins mobile client
  22. 22. Lab 3
  23. 23. Goal: test the mobile App developed in Lab 2 using Amazon Device Farm
  24. 24. Amazon ECR Bastion Host Amazon ECS Amazon RDS AWS Device Farm CodeCommit CodePipeline Jenkins mobile client
  25. 25. Lab 4 (Optional)
  26. 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
  27. 27. Amazon ECR Bastion Host Amazon ECS Amazon RDS AmazonCognito AWS Device Farm AWS Mobile Hub CodeCommit CodePipeline Jenkins mobile client
  28. 28. Thank you!
  29. 29. Remember to complete your evaluations!

×