Deploying Your First Full Stack Application to the Cloud

Slides:



Advertisements
Similar presentations
Gold Sponsors Bronze Sponsors Silver Sponsors Taking SharePoint to the Cloud Aaron Saikovski Readify – Software Solution Specialist.
Advertisements

© 2010 VMware Inc. All rights reserved Amazon Web Services.
Take your CMS to the cloud to lighten the load Brett Pollak Campus Web Office UC San Diego.
Matt Bertrand Building GIS Apps in the Cloud. Infrastructure - Provides computer infrastructure, typically a platform virtualization environment, as a.
INTRODUCTION TO CLOUD COMPUTING Cs 595 Lecture 5 2/11/2015.
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Experiences with AWS and RightScale By: Max Gribov Presented at New York PHP, March 22, 2011
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Introduction to Cloud Computing
Cloud Computing & Amazon Web Services – EC2 Arpita Patel Software Engineer.
608D CloudStack 3.0 Omer Palo Readiness Specialist, WW Tech Support Readiness May 8, 2012.
What is the cloud ? IT as a service Cloud allows access to services without user technical knowledge or control of supporting infrastructure Best described.
CLOUD WITH AMAZON. Amazon Web Services AWS is a collection of remote computing services Elastic Compute Cloud (EC2) provides scalable virtual private.
Web Technologies Lecture 13 Introduction to cloud computing.
Alfresco Enterprise on Azure Shah Rahman Founder and CEO, CloudlyIO.
#SummitNow Alfresco Deployments on AWS Cost-Effective, Scalable & Secure Michael Waldrop Director, Solutions Engineering .
Alfresco on Azure Shah Rahman Founder and CEO, CloudlyIO.
INTRODUCTION TO AMAZON WEB SERVICES (EC2). AMAZON WEB SERVICES  Services  Storage (Glacier, S3)  Compute (Elastic Compute Cloud, EC2)  Databases (Redshift,
Deploying Docker Datacenter on AWS © 2016, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
Prof. Jong-Moon Chung’s Lecture Notes at Yonsei University
Unit 3 Virtualization.
AWS Simple Icons v AWS Simple Icons: Usage Guidelines
Chapter 6: Securing the Cloud
Avenues International Inc.
Amazon Web Services RDS with SQL Server
THE BATTLE OF CLOUDS Openstack vs. Amazon
Security Group Amazon RDS Mysql Media Request S3
100% Exam Passing Guarantee & Money Back Assurance
Docker Birthday #3.
Agenda Who am I? Whirlwind introduction to the Cloud
Introduction to Amazon Web Services Overview of AWS Services
Cloud Data platform (Cloud Application Development & Deployment)
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
Cloud Security.
AWS COURSE DEMO BY PROFESSIONAL-GURU. Amazon History Ladder & Offering.
Acutelearn Amazon Web Services Training Classroom Training Instructor led trainings at Acutelearn premises Corporate Training Custom tailored trainings.
AWS. Introduction AWS launched in 2006 from the internal infrastructure that Amazon.com built to handle its online retail operations. AWS was one of the.
Amazon Web Services RDS with SQL Server
Let’s get Started with Your AWS Account
Cloud Computing ISY143.
AWS DevOps Engineer - Professional dumps.html Exam Code Exam Name.
Where can I download Aws Devops Engineer Professional Exam Study Material - Get Updated Aws Devops Engineer Professional Braindumps Dumps4downlaod.us
2018 Amazon AWS DevOps Engineer Professional Dumps - DumpsProfessor
Get Amazon AWS-DevOps-Engineer-Professional Exam Real Questions - Amazon AWS-DevOps-Engineer-Professional Dumps Realexamdumps.com
Buy September 2018 Valid Amazon AWS-SysOps Dumps Questions - Amazon AWS-SysOps Braindumps Realexamdumps.com
AWS Administrator overview  SV Trainings AWS Training –provides real time and placement oriented Amazon Web Services (AWS) Online Training. Our AWS Course.
Cloud Computing.
Scalable SoftNAS Cloud Protects Customers’ Mission-Critical Data in the Cloud with a Highly Available, Flexible Solution for Microsoft Azure MICROSOFT.
Amazon Web Services RDS with SQL Server
Cloud Computing BY: Udit Jain.
Appcelerator Arrow: Build APIs in Minutes. Connect to Any Data Source
AWS Cloud Computing Masaki.
Managing Services with VMM and App Controller
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.
Cloud Computing: Concepts
Building Serverless Enterprise Applications
Agenda Need of Cloud Computing What is Cloud Computing
Amazon Web Services.
Cloud Security AWS as an example.
Cloud Security AWS as an example.
Cloud and Database Security
Amazon Web Services RDS with SQL Server
Microsoft Virtual Academy
SQL Server on Amazon Web Services
Setting up PostgreSQL for Production in AWS
SQL Server on Amazon Web Services
Amazon Web Services (AWS)
Presentation transcript:

Deploying Your First Full Stack Application to the Cloud Women Who Code Workshop Sheila Loekito 11/15/2017

Introduction Introduction to “the Cloud” Workshop to deploy a full stack application to the cloud Featuring Amazon RDS, EC2 and S3 Using AWS CloudFormation and AWS boto3 API Stuck? Raise your hand for help! Other considerations Security, scalability, other ways to deploy How to level up Questions

About Me Full Stack Developer at Watchguard Technologies My stack now: angular2, python, MySQL, AWS DynamoDB, SNS/SQS, Kinesis, ECS, lambdas, etc

What is “the Cloud”? The delivery of computing services—servers, storage, databases, networking, software, analytics, and more—over the Internet Important characteristics: Underlying compute resources (storage, processors, RAM, load balancers, etc) entirely abstracted from the consumer Scalability and elasticity Scale up or down based on real time load On demand pricing Does this mean lower cost? not always Public Cloud Providers: Amazon Web Services, Microsoft Azure, Google Cloud, others

Datacenter vs Cloud Levels of Abstraction

Why Are so Many Companies Moving to the Cloud? Lower overhead to create, scale up (or down) infrastructure Quicker time to market Pay only for what you use – may save cost Easier to automate infrastructure and code deployment Infrastructure as Code – automatically manage infrastructure creation through code Many companies have adopted the ”DevOps” model and have created strong demand for engineers that can work across the entire application lifecycle, or have some knowledge of it

Workshop Overview Amazon Web Services Application stack Infrastructure Amazon RDS, Amazon EC2, Amazon S3 Deployment scripts AWS Cloud Formation AWS boto3 API (python) Install Prerequisites Let’s deploy our app!

Amazon Web Services 16 Regions 44 Availability Zones (separate datacenters) within regions Products include compute, storage, databases, networking, IoT, etc

Workshop: Application Stack Application: simple web app that shows catalog information Backend: MySQL database Middleware: python REST API with flask-restful Frontend: static html and javascript

Workshop: Deployment Tools AWS CloudFormation Allows you to use JSON or YAML templates to describe AWS resources and dependencies to run your application Create and modify ”stacks” – collection of AWS infrastructure such as EC2 Instances, S3 buckets, etc Automated, repeatable, can be version-controlled AWS boto3 API http://boto3.readthedocs.io/en/latest/guide/quickstart.html Python API to interact with AWS and automate your deployments

Infrastructure: Amazon RDS Managed Relational Database Service Can choose from different database engines: MySQL, PostgreSQL, etc Considered a “Platform as a Service” meaning you do not have access to the operating system. AWS takes care of the administrative tasks like patching software and creating backups.

Infrastructure: Amazon EC2 Basically Virtual Machines in the cloud Considered IaaS (Infrastructure as a Service). AWS takes care of hardware resources while user is responsible for managing the Operating System and application AMI (Amazon Machine Image): the OS run by the Virtual Machine to host your application code Can be scaled up and down based rules you define: https://aws.amazon.com/autoscaling/

Infrastructure: Amazon S3 Storage service Highly available Simple, no need to manage servers Can be used to host a HTML/javascript as static website Fast and cheap for static content delivery

Getting Started Review Setup Instructions: https://github.com/sloekito/WWCode-cloud-deploy Correction for one of the steps: pip install mysql-connector==2.1.3 Also, Refresh the repo git pull origin master Login to AWS, make sure you’re in region us-west-2

Database Deployment Steps Explained Using AWS CloudFormation with boto3 API: Create RDS MySQL Instance with admin username/password Seed database with application data

Database Deployment Script Review WWCode-cloud-deploy/catalog-db/deploy.py WWCode-cloud-deploy/catalog-db/catalog-db.yaml To deploy, run: cd catalog-db python deploy.py \ --stack_name <db stack name> \ --db_admin_user <db admin user> \ --db_admin_password <db password> \ --db_name <db name> For example: --stack_name catalog-db \ --db_admin_user admin \ --db_admin_password adminwwCode1%^%%%% \ --db_name catalog

Middleware Deployment Steps Explained Create EC2 keypair Save this in your computer, we will use it later PEM file is certificate file that lets you ssh to the instance Create EC2 instance Use “UserData” section to install packages Python flask packages Download the application from github Run the application

Middleware Deployment Script Review WWCode-cloud-deploy/catalog-middleware/deploy.py WWCode-cloud-deploy/catalog-middleware/catalog-middleware.yaml Deploy command: cd catalog-middleware python deploy.py \ --stack_name <middleware stack name> \ --db_stack_name <database stack name> \ # Use the database stack name we previously created --db_user <db username> \ # DB username/password we previously created --db_password <db password> \ --db_name <db name> Example: cd catalog-middleware python deploy.py \ --stack_name catalog-middleware \ --db_stack_name catalog-db \ --db_user admin \ --db_password adminwwCode1%^%%%% \ --db_name catalog

Let’s Review Our Deployment ssh to the ec2 instance ssh -i ~/wwcode.pem ec2-user@<ec2 public IP> Troubleshooting Userdata logs: /var/lib/cloud/instance/user-data.txt /var/log/cloud-init-output.log

Frontend Deployment Steps Explained Create a bucket Bucket names are globally unique! Enable static hosting Set up permissions Upload static files to the bucket Website is available in: <bucket-name>.s3-website-<AWS-region>.amazonaws.com

Frontend Deployment Script Review WWCode-cloud-deploy/catalog-frontend/deploy.py WWCode-cloud-deploy/catalog-frontend/catalog-frontend.yaml Deploy Command: Bucket names must be globally unique! So pick something that will be unique. cd catalog-frontend python deploy.py \ --stack_name <stack name> \ --s3_bucket_name <s3 bucket name – must be globally unique!> \ --middleware_stack_name <middleware stack name we created from before> Example: --stack_name catalog-frontend \ --s3_bucket_name catalog-frontend-sheilal \ --middleware_stack_name catalog-middleware

Clean Up Tear down stacks so you won’t get charged

Other Considerations Security Scalability Other ways to deploy API and Database can be secured using VPC (Virtual Private Cloud) For example, you can create a public-facing subnet for your webservers that has access to the Internet, and place your backend systems such as databases or application servers in a private-facing subnet with no Internet access. Passwords need to be secured Or manage security using AWS IAM (Identity and Access Management) Scalability Use redundant EC2 instances, autoscaling and load balancing: http://docs.aws.amazon.com/autoscaling/latest/userguide/autoscaling- load-balancer.html Other ways to deploy Docker/containers with ECS Serverless with AWS Lambdas

How to level up AWS Certifications https://aws.amazon.com/certification/our-certifications/ Entry level exam: AWS Certified Developer Study guide by A Cloud Guru: https://acloud.guru/course/aws-certified-developer-associate/dashboard AWS Blog: https://aws.amazon.com/blogs/aws/

Questions? Comments? Connect with me! sheila.loekito@gmail.com https://www.linkedin.com/in/sheilaloekito/

Sources https://msdn.microsoft.com/en-us/library/ee658120.aspx http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication80 0-145.pdf