SlideShare a Scribd company logo
1 of 36
www.tothenew.com
APPLICATION DEPLOYMENT ON
CLOUD
- Ajey Pratap Singh
www.tothenew.com
Agenda
● Introduction to cloud computing
● SAAS, PAAS and IAAS - A quick comparison
● Benefits of deploying on cloud
● Challenges while deploying on cloud
● Things to consider when moving to cloud - Business and Architectural aspects
● A thing about clustering
● Comparison between various Platform as a Service (PAAS) providers.
● Demo using:
○ Firebase - https://firebase.google.com/
○ AWS - https://aws.amazon.com/
○ Heroku - http://heroku.com/
○ Cloud Foundry - https://www.cloudfoundry.org/
www.tothenew.com
Wondering What Cloud Computing is?
www.tothenew.com
Cloud Computing
In the simplest terms,
cloud computing means
storing and accessing data and programs over
the Internet instead of your computer's hard drive.
www.tothenew.com
SaaS, PaaS and IaaS - A Quick Comparison
www.tothenew.com
Benefits of Deploying on the Cloud
www.tothenew.com
A Few More Reasons to Use Cloud
● Scalability
● Availability
● No need for DevOps expertise
● If a pre-packaged service is not suitable for one’s need, you can get a custom solution with added cost
www.tothenew.com
Challenges While Deploying on the Cloud
• Dependency on the Internet connection
• Legal issues (ownership of data)
• Data transfer can be time consuming
• Dependency on the service provider
• Limited control and reliability
• May require new training
• Security and privacy of the data as per rules and regulations
• Security measures against a cyber attack
• App structure may require changes
www.tothenew.com
Even with all of the above challenges associated with Cloud computing, the environment has immense
potential for many business models. As platforms mature and the economies of scale continue to grow, costs
will continue to fall and reliability and security standards will improve further.
Immense Potential of the Cloud Environment
www.tothenew.com
Things to Consider When Moving to Cloud - Business Aspects
● Implementation & Integration
○ Planning
○ Compatibility
○ Flexibility
● Cost
○ Cost Variations
○ Hardware Costs
○ System Complexity
● Availability & Performance
○ Bandwidth
○ Uptime
○ Support & Maintenance
● Data Security & Protection
○ Data Protection
○ Hardware Security
○ Backup & Disaster Recovery
● Standards & Regulations
○ Compliance
○ Confidentiality
○ Policies and Procedures
www.tothenew.com
Things to Consider When Moving to Cloud - Architectural Aspects
● Single Instance vs Clustered
● Deployment
● Green-blue deployment
● Rescaling
● Auto-scaling
○ RPM, Swap Utilization, Message Queue, CPU Utilization
● Restarting
● Rollback
● Config
○ Changing config requires restart of all servers
● Logs - Logstash, Logentries, Papertrail, etc.
● Performance monitoring - New relic, Airbrake
www.tothenew.com
A Thing About Clustering
● A way to provide high-availability by replicating your system
● Handles hardware/software failure
● Traffic is not always high
● Provides for horizontal scaling
● Overcomes CPU/RAM limitations
www.tothenew.com
Setting up a Local Cluster
/etc/nginx/sites-available/default
------------------------
server {
listen 80;
location / {
proxy_pass http://intellimeetservers;
}
}
upstream intellimeetservers {
server 127.0.0.1:7070;
server 127.0.0.1:8080;
}
● nginx Load Balancing - http://goo.gl/78uu8O
● Apache Load Balancing - http://goo.gl/c5seF2
www.tothenew.com
Comparison between various
Platform as a Service (PaaS) providers
www.tothenew.com
www.tothenew.com
● Firebase is known primarily as a PaaS
● It is deeply integrated with Google Cloud Platform, allowing you to use Google's Infrastructure-as-a-Service directly within your Firebase
project.
Key Features:
It's more than capable of handling real-time data updates between devices. Provides
cross platform API if you are using firebase DB with an app.
Limitations:
Storage format is entirely different to that of SQL, (Firebase uses JSON) so you won’t
be able to migrate that easily. Reporting tools won't be anywhere near to the ones of
standard SQL.
Pricing:
It has a free plan for hobbyists along with a fixed price plan of $25/Month for
predictable pricing for growing apps and a pay as you go plan for commodity
pricing.
Bonus:
New users can get real time db with up to 1GB of database storage, 5GB of file
storage to handle file uploads and 1GB of hosting space to upload your static site
content. This is more than enough to launch a small website.
Few Insights
www.tothenew.com
Hosting Your Web-app on Firebase
• Setup Firebase CLI for ubuntu - here
• Visit Firebase website - here
• Create a web-app on Firebase console
• Set auth to access database
• Sign-in to Google
– firebase login
• Initialize Firebase on your development machine
– firebase init
• Check your application
– firebase serve
• Deploy your application
– firebase deploy
www.tothenew.com
www.tothenew.com
● AWS is primarily known as an IaaS
● Many of the services available in AWS are comparable to services available in PaaS offerings
Key Features:
Since AWS is largely an IaaS, there is virtually no limit to the languages,
databases or server side technologies you can install and run.
Limitations:
AWS services may require more management overhead than other PaaS
options.
Pricing:
Pricing is based on instances, storage, application services and data egress
charges. Amazon, however, offers a monthly calculator to help you estimate your
costs.
Bonus:
New users can get 750 hours, 30GB storage, and 15GB bandwidth for free with
AWS's Free Usage Tier.
Few Insights
www.tothenew.com
Hosting Your Web-app on AWS
• Launch an EC2 instance
• Select an AMI- preferably Linux
• Choose instance type
• Configure instance (can be left alone and the default settings will be applied)
• Add Storage
• Tag instance
• Configure the Security Group by adding rules - Create new or use existing
• Review and launch
• Create a new key and download or use an existing key that is listed
• After the instance is up and running, you can set it up as you want
www.tothenew.com
Deploying Your Grails App on AWS
• Create a new EC2 instance from the AWS dashboard. Please ensure that the Security Group is configured to allow SSH on port 22 and HTTP
on port 80
• Login to the system using ssh and run the following commands:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install nginx tomcat7 unzip git oracle-java7-installer
• Install "sdkman" to manage your Grails version
curl -s http://get.sdkman.io | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install grails <grails version>
www.tothenew.com
Deploying Your Grails App on AWS (contd.)
• Modify the default nginx site to redirect all traffic to the tomcat instance running on port 8080
default
----------
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://localhost:8080;
proxy_redirect default;
}
}
Restart nginx and check if your site is showing the default tomcat page
www.tothenew.com
Deploying Your Grails App on AWS (contd.)
● Generate a new ssh key for your instance and add the public key (id_rsa.pub) as a deploy key to your app. This will allow the instance to
clone the code repository every time you want to deploy
ssh-keygen -t rsa
● Once you have cloned the code repository on the instance, run the "grails war" command to create a new WAR file
sudo service tomcat7 stop
rm -rf /var/lib/tomcat7/webapps/*
grails war
sudo mv target/*.war /var/lib/tomcat7/webapps/ROOT.war
sudo service tomcat7 start
● Check if the site is working correctly
www.tothenew.com
www.tothenew.com
Key Features:
One of the early PaaS providers, Heroku is ideal for quick deployments and fits a
wide range of distributed applications.
Limitations:
Cost of add-ons varies and estimating costs can be challenging as the number of
add-ons increases and loads vary across application components.
Pricing:
Based on the number and size of dynos deployed ($0.05/hour - $0.10/hour), the
size of Postgres database and add-ons used.
Bonus:
Starter databases with up to 10,000 rows are free. It has a huge marketplace and
one can find a lot of add-ons and support.
● Provides abstract computing environments called dynos
● Dynos are classified as: Web dynos or worker dynos; the former respond to HTTP requests and the latter to task requests in a queue
● Ideal for quick deployments
Few Insights
www.tothenew.com
Hosting Your Web-app on Heroku
• Setup Heroku toolbelt for ubuntu- link
• Deployment
– git push heroku master
• Rescaling
– heroku ps:scale web=2
– heroku ps:scale web+2
• Restarting
– heroku restart
• Rollback to old deployment version
– heroku rollback v46
• Config // automatic restarts all dynos/instances
– heroku config:set KEY=VALUE
• Logs
– heroku logs –t
– heroku logs –t –p web
www.tothenew.com
www.tothenew.com
● You can deploy apps written in 8 languages to your private infrastructure of choice
● 5 frameworks are also available at your disposal
Key Features:
Cloud Foundry is extensible, so you can add more functionality via buildpacks or
similar mechanisms.
Limitations:
You cannot specify command line parameters like JAVA_OPTS and auto-scaling is
not provided.
Pricing: 0.03$/hr after 60 days free trial
Bonus: First class support for Grails.
Few Insights
www.tothenew.com
Deploying Your Grails App on Cloud Foundry
● Register a new account at https://run.pivotal.io/
● Install their CLI tool and run the following command:
cf login -a https://api.run.pivotal.io
● Add a manifest.yml file to be read by Cloud Foundry
manifest.yml
---
applications:
- name: im-todo
memory: 2G
instances: 1
path: target/AngularJS-0.1.war
buildpack: java_buildpack
services:
- mysql
www.tothenew.com
Deploying Your Grails App on Cloud Foundry (contd.)
● Provision a new mysql service using the following command:
cf create-service cleardb spark mysql
Read more about services here: https://docs.cloudfoundry.org/devguide/services/
● Modify the DataSource.groovy file to use the DATABASE_URL environment variable
Sample code:
https://github.com/cloudfoundry-samples/pong_matcher_grails/blob/master/grails-app/conf/DataSource.groovy
● Create the war file using the "grails war" command. This will create a war file in the target folder of your application
● Create a new app in your cloud foundry account
● To deploy, just run the command:
cf push im-todo
www.tothenew.com
Microsoft
Azure
www.tothenew.com
● Microsoft eventually added Infrastructure-as-a-Service (IaaS) functionality to Azure and included Linux servers in the IaaS line-up as well as
Windows operating systems.
● 5 frameworks are also available at your disposal.
● If current deployment fails, it automatically deploys the last known successful war.
Key Features:
Since Windows Azure is an IaaS and PaaS in one, developers can mix and match
IaaS components with PaaS offerings giving you more control.
Limitations: Minimalist administration portal.
Pricing:
Based on size of instances running; prices range from $0.02/hour (768MB of RAM &
1 shared virtual core) to $0.64/hour (14GB of RAM & 8 virtual cores). Pricing for high
memory machines is also available.
Bonus: Free 30-day trial with a limit of up to $200 is available for new users.
Few Insights
www.tothenew.com
www.tothenew.com
● You can deploy apps written in 6 languages to 2 different infrastructures.
● You can scale your applications vertically , horizontally or let OpenShift Online automatically scale your instances
Key Features:
It has a large number of component options spanning the application stack from
frontend to backend services. Developers can interface with OpenShift through a web
console, the command line or through an integrated development environment.
Limitations: It works well with Git, but non-Git deployments might require additional steps.
Pricing:
OpenShift Online pricing is based on the number and types of components (called
gears) you deploy. Gear prices range from $0.02/hour to $0.10/hour, depending on the
size: 512MB (small), 1GB (medium), or 2GB (large). The Silver support plan is $20/month
plus usage costs.
Bonus:
A limited number of resources are available as a trial; 3 small gears and 1GB of storage
per gear are free.
Few Insights
www.tothenew.com
References
❏ http://www.tomsitpro.com/articles/paas-providers,1-1517.html
❏ http://www.paasify.it/vendors
❏ http://www.smartceo.com/dp-solutions-5-things-to-consider-when-moving-to-the-cloud/
❏ https://www.simple-talk.com/cloud/development/moving-applications-to-the-cloud-part-1-8211-what-are-the-considerations/
www.tothenew.com
Thank you!

More Related Content

What's hot

Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformDevOps.com
 
Automation of Hadoop cluster operations in Arm Treasure Data
Automation of Hadoop cluster operations in Arm Treasure DataAutomation of Hadoop cluster operations in Arm Treasure Data
Automation of Hadoop cluster operations in Arm Treasure DataYan Wang
 
The Practice of Alluxio in JD.com
The Practice of Alluxio in JD.comThe Practice of Alluxio in JD.com
The Practice of Alluxio in JD.comAlluxio, Inc.
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...Puppet
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike, Inc.
 
Linux Block Cache Practice on Ceph BlueStore - Junxin Zhang
Linux Block Cache Practice on Ceph BlueStore - Junxin ZhangLinux Block Cache Practice on Ceph BlueStore - Junxin Zhang
Linux Block Cache Practice on Ceph BlueStore - Junxin ZhangCeph Community
 
Atom: A cloud native deep learning platform at Supremind
Atom: A cloud native deep learning platform at SupremindAtom: A cloud native deep learning platform at Supremind
Atom: A cloud native deep learning platform at SupremindAlluxio, Inc.
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDropsolid
 
Global deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon OhGlobal deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon OhCeph Community
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationNagios
 
Running Solr in the Cloud at Memory Speed with Alluxio
Running Solr in the Cloud at Memory Speed with AlluxioRunning Solr in the Cloud at Memory Speed with Alluxio
Running Solr in the Cloud at Memory Speed with Alluxiothelabdude
 
SAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home ProvisioningSAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home ProvisioningIan Baugaard
 
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStackAdobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStackNicolas Brousse
 
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming XieRGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming XieCeph Community
 
DevOpsDays Taipei 2017 - Terraform: Everything Is Code
DevOpsDays Taipei 2017 - Terraform: Everything Is CodeDevOpsDays Taipei 2017 - Terraform: Everything Is Code
DevOpsDays Taipei 2017 - Terraform: Everything Is Codesmalltown
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Aerospike, Inc.
 
Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Chartbeat
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud NativeInnoTech
 
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...Ceph Community
 

What's hot (20)

Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
Automation of Hadoop cluster operations in Arm Treasure Data
Automation of Hadoop cluster operations in Arm Treasure DataAutomation of Hadoop cluster operations in Arm Treasure Data
Automation of Hadoop cluster operations in Arm Treasure Data
 
The Practice of Alluxio in JD.com
The Practice of Alluxio in JD.comThe Practice of Alluxio in JD.com
The Practice of Alluxio in JD.com
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
 
Aerospike: Maximizing Performance
Aerospike: Maximizing PerformanceAerospike: Maximizing Performance
Aerospike: Maximizing Performance
 
Linux Block Cache Practice on Ceph BlueStore - Junxin Zhang
Linux Block Cache Practice on Ceph BlueStore - Junxin ZhangLinux Block Cache Practice on Ceph BlueStore - Junxin Zhang
Linux Block Cache Practice on Ceph BlueStore - Junxin Zhang
 
Atom: A cloud native deep learning platform at Supremind
Atom: A cloud native deep learning platform at SupremindAtom: A cloud native deep learning platform at Supremind
Atom: A cloud native deep learning platform at Supremind
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
 
Global deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon OhGlobal deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon Oh
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios InstallationMike Guthrie - Revamping Your 10 Year Old Nagios Installation
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
 
Running Solr in the Cloud at Memory Speed with Alluxio
Running Solr in the Cloud at Memory Speed with AlluxioRunning Solr in the Cloud at Memory Speed with Alluxio
Running Solr in the Cloud at Memory Speed with Alluxio
 
SAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home ProvisioningSAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home Provisioning
 
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStackAdobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
Adobe Advertising Cloud: The Reality of Cloud Bursting with OpenStack
 
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming XieRGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
 
DevOpsDays Taipei 2017 - Terraform: Everything Is Code
DevOpsDays Taipei 2017 - Terraform: Everything Is CodeDevOpsDays Taipei 2017 - Terraform: Everything Is Code
DevOpsDays Taipei 2017 - Terraform: Everything Is Code
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1
 
Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud Native
 
Terraform
TerraformTerraform
Terraform
 
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
 

Viewers also liked

Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...Donny Wals
 
DevOps for Your Mobile App
DevOps for Your Mobile AppDevOps for Your Mobile App
DevOps for Your Mobile AppSeth Valdetero
 
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...Leslie Dare
 
End to End Cloud App Deployment Solution
End to End Cloud App Deployment SolutionEnd to End Cloud App Deployment Solution
End to End Cloud App Deployment SolutionZuhaib Ansari
 
Automate the Application Deployment Process
Automate the Application Deployment ProcessAutomate the Application Deployment Process
Automate the Application Deployment ProcessIBM
 
Modern Deployment Strategies
Modern Deployment StrategiesModern Deployment Strategies
Modern Deployment StrategiesPerforce
 
Model-Driven Deployment : The Best Practice Successor to Virtual Appliances
Model-Driven Deployment : The Best Practice Successor to Virtual AppliancesModel-Driven Deployment : The Best Practice Successor to Virtual Appliances
Model-Driven Deployment : The Best Practice Successor to Virtual AppliancesTherese Wells
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentAxel Fontaine
 
Managing Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the CloudManaging Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the CloudCloudBees
 
Cloud service models 101
Cloud service models 101Cloud service models 101
Cloud service models 101Nagaraj Shenoy
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud DeploymentJim Kaskade
 

Viewers also liked (12)

Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
Developing in the Fastlane -> How LookLive uses Fastlane to automate and spee...
 
DevOps for Your Mobile App
DevOps for Your Mobile AppDevOps for Your Mobile App
DevOps for Your Mobile App
 
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
Defining Mobile App Deployment for the Modern Campus: Benchmarking and Best P...
 
End to End Cloud App Deployment Solution
End to End Cloud App Deployment SolutionEnd to End Cloud App Deployment Solution
End to End Cloud App Deployment Solution
 
Automate the Application Deployment Process
Automate the Application Deployment ProcessAutomate the Application Deployment Process
Automate the Application Deployment Process
 
Modern Deployment Strategies
Modern Deployment StrategiesModern Deployment Strategies
Modern Deployment Strategies
 
Model-Driven Deployment : The Best Practice Successor to Virtual Appliances
Model-Driven Deployment : The Best Practice Successor to Virtual AppliancesModel-Driven Deployment : The Best Practice Successor to Virtual Appliances
Model-Driven Deployment : The Best Practice Successor to Virtual Appliances
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
 
Managing Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the CloudManaging Software from Development to Deployment in the Cloud
Managing Software from Development to Deployment in the Cloud
 
Cloud service models 101
Cloud service models 101Cloud service models 101
Cloud service models 101
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
 
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
 

Similar to App Deployment on Cloud

Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and HerokuTapio Rautonen
 
NGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX, Inc.
 
Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)Michael Dobe, Ph.D.
 
2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon Drange
2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon Drange2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon Drange
2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon DrangeHåkon Eriksen Drange
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsCesar Cardenas Desales
 
AWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWSAWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWSAmazon Web Services
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native BootcampVMware Tanzu
 
NGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best PracticesNGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best PracticesNGINX, Inc.
 
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesOrtus Solutions, Corp
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudSubbu Rama
 
Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Fwdays
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native DevelopmentManuel Garcia
 
Cloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GoogleCloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GooglePatrick Pierson
 
23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboardsDenis Ristic
 
Spring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFSpring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFLars Rosenquist
 
Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developersCiklum Ukraine
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to DeploymentAerospike, Inc.
 

Similar to App Deployment on Cloud (20)

Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
NGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEANGINX ADC: Basics and Best Practices – EMEA
NGINX ADC: Basics and Best Practices – EMEA
 
Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)
 
2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon Drange
2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon Drange2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon Drange
2016-02-09 - Breakfast Seminar - Redpill Linpro - Chef at Aptoma - Håkon Drange
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applications
 
AWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWSAWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWS
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
NGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best PracticesNGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best Practices
 
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin JonesITB2019 NGINX Overview and Technical Aspects - Kevin Jones
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the Cloud
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
 
Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"Володимир Цап "Constraint driven infrastructure - scale or tune?"
Володимир Цап "Constraint driven infrastructure - scale or tune?"
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
 
Cloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GoogleCloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs Google
 
23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards
 
Spring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFSpring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCF
 
Cloud Platform as a Service: Heroku
Cloud Platform as a Service: HerokuCloud Platform as a Service: Heroku
Cloud Platform as a Service: Heroku
 
Using OpenShift PaaS
Using OpenShift PaaSUsing OpenShift PaaS
Using OpenShift PaaS
 
Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developers
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to Deployment
 

Recently uploaded

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

App Deployment on Cloud

  • 2. www.tothenew.com Agenda ● Introduction to cloud computing ● SAAS, PAAS and IAAS - A quick comparison ● Benefits of deploying on cloud ● Challenges while deploying on cloud ● Things to consider when moving to cloud - Business and Architectural aspects ● A thing about clustering ● Comparison between various Platform as a Service (PAAS) providers. ● Demo using: ○ Firebase - https://firebase.google.com/ ○ AWS - https://aws.amazon.com/ ○ Heroku - http://heroku.com/ ○ Cloud Foundry - https://www.cloudfoundry.org/
  • 4. www.tothenew.com Cloud Computing In the simplest terms, cloud computing means storing and accessing data and programs over the Internet instead of your computer's hard drive.
  • 5. www.tothenew.com SaaS, PaaS and IaaS - A Quick Comparison
  • 7. www.tothenew.com A Few More Reasons to Use Cloud ● Scalability ● Availability ● No need for DevOps expertise ● If a pre-packaged service is not suitable for one’s need, you can get a custom solution with added cost
  • 8. www.tothenew.com Challenges While Deploying on the Cloud • Dependency on the Internet connection • Legal issues (ownership of data) • Data transfer can be time consuming • Dependency on the service provider • Limited control and reliability • May require new training • Security and privacy of the data as per rules and regulations • Security measures against a cyber attack • App structure may require changes
  • 9. www.tothenew.com Even with all of the above challenges associated with Cloud computing, the environment has immense potential for many business models. As platforms mature and the economies of scale continue to grow, costs will continue to fall and reliability and security standards will improve further. Immense Potential of the Cloud Environment
  • 10. www.tothenew.com Things to Consider When Moving to Cloud - Business Aspects ● Implementation & Integration ○ Planning ○ Compatibility ○ Flexibility ● Cost ○ Cost Variations ○ Hardware Costs ○ System Complexity ● Availability & Performance ○ Bandwidth ○ Uptime ○ Support & Maintenance ● Data Security & Protection ○ Data Protection ○ Hardware Security ○ Backup & Disaster Recovery ● Standards & Regulations ○ Compliance ○ Confidentiality ○ Policies and Procedures
  • 11. www.tothenew.com Things to Consider When Moving to Cloud - Architectural Aspects ● Single Instance vs Clustered ● Deployment ● Green-blue deployment ● Rescaling ● Auto-scaling ○ RPM, Swap Utilization, Message Queue, CPU Utilization ● Restarting ● Rollback ● Config ○ Changing config requires restart of all servers ● Logs - Logstash, Logentries, Papertrail, etc. ● Performance monitoring - New relic, Airbrake
  • 12. www.tothenew.com A Thing About Clustering ● A way to provide high-availability by replicating your system ● Handles hardware/software failure ● Traffic is not always high ● Provides for horizontal scaling ● Overcomes CPU/RAM limitations
  • 13. www.tothenew.com Setting up a Local Cluster /etc/nginx/sites-available/default ------------------------ server { listen 80; location / { proxy_pass http://intellimeetservers; } } upstream intellimeetservers { server 127.0.0.1:7070; server 127.0.0.1:8080; } ● nginx Load Balancing - http://goo.gl/78uu8O ● Apache Load Balancing - http://goo.gl/c5seF2
  • 16. www.tothenew.com ● Firebase is known primarily as a PaaS ● It is deeply integrated with Google Cloud Platform, allowing you to use Google's Infrastructure-as-a-Service directly within your Firebase project. Key Features: It's more than capable of handling real-time data updates between devices. Provides cross platform API if you are using firebase DB with an app. Limitations: Storage format is entirely different to that of SQL, (Firebase uses JSON) so you won’t be able to migrate that easily. Reporting tools won't be anywhere near to the ones of standard SQL. Pricing: It has a free plan for hobbyists along with a fixed price plan of $25/Month for predictable pricing for growing apps and a pay as you go plan for commodity pricing. Bonus: New users can get real time db with up to 1GB of database storage, 5GB of file storage to handle file uploads and 1GB of hosting space to upload your static site content. This is more than enough to launch a small website. Few Insights
  • 17. www.tothenew.com Hosting Your Web-app on Firebase • Setup Firebase CLI for ubuntu - here • Visit Firebase website - here • Create a web-app on Firebase console • Set auth to access database • Sign-in to Google – firebase login • Initialize Firebase on your development machine – firebase init • Check your application – firebase serve • Deploy your application – firebase deploy
  • 19. www.tothenew.com ● AWS is primarily known as an IaaS ● Many of the services available in AWS are comparable to services available in PaaS offerings Key Features: Since AWS is largely an IaaS, there is virtually no limit to the languages, databases or server side technologies you can install and run. Limitations: AWS services may require more management overhead than other PaaS options. Pricing: Pricing is based on instances, storage, application services and data egress charges. Amazon, however, offers a monthly calculator to help you estimate your costs. Bonus: New users can get 750 hours, 30GB storage, and 15GB bandwidth for free with AWS's Free Usage Tier. Few Insights
  • 20. www.tothenew.com Hosting Your Web-app on AWS • Launch an EC2 instance • Select an AMI- preferably Linux • Choose instance type • Configure instance (can be left alone and the default settings will be applied) • Add Storage • Tag instance • Configure the Security Group by adding rules - Create new or use existing • Review and launch • Create a new key and download or use an existing key that is listed • After the instance is up and running, you can set it up as you want
  • 21. www.tothenew.com Deploying Your Grails App on AWS • Create a new EC2 instance from the AWS dashboard. Please ensure that the Security Group is configured to allow SSH on port 22 and HTTP on port 80 • Login to the system using ssh and run the following commands: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install nginx tomcat7 unzip git oracle-java7-installer • Install "sdkman" to manage your Grails version curl -s http://get.sdkman.io | bash source "$HOME/.sdkman/bin/sdkman-init.sh" sdk install grails <grails version>
  • 22. www.tothenew.com Deploying Your Grails App on AWS (contd.) • Modify the default nginx site to redirect all traffic to the tomcat instance running on port 8080 default ---------- server { listen 80; server_name 127.0.0.1; location / { proxy_pass http://localhost:8080; proxy_redirect default; } } Restart nginx and check if your site is showing the default tomcat page
  • 23. www.tothenew.com Deploying Your Grails App on AWS (contd.) ● Generate a new ssh key for your instance and add the public key (id_rsa.pub) as a deploy key to your app. This will allow the instance to clone the code repository every time you want to deploy ssh-keygen -t rsa ● Once you have cloned the code repository on the instance, run the "grails war" command to create a new WAR file sudo service tomcat7 stop rm -rf /var/lib/tomcat7/webapps/* grails war sudo mv target/*.war /var/lib/tomcat7/webapps/ROOT.war sudo service tomcat7 start ● Check if the site is working correctly
  • 25. www.tothenew.com Key Features: One of the early PaaS providers, Heroku is ideal for quick deployments and fits a wide range of distributed applications. Limitations: Cost of add-ons varies and estimating costs can be challenging as the number of add-ons increases and loads vary across application components. Pricing: Based on the number and size of dynos deployed ($0.05/hour - $0.10/hour), the size of Postgres database and add-ons used. Bonus: Starter databases with up to 10,000 rows are free. It has a huge marketplace and one can find a lot of add-ons and support. ● Provides abstract computing environments called dynos ● Dynos are classified as: Web dynos or worker dynos; the former respond to HTTP requests and the latter to task requests in a queue ● Ideal for quick deployments Few Insights
  • 26. www.tothenew.com Hosting Your Web-app on Heroku • Setup Heroku toolbelt for ubuntu- link • Deployment – git push heroku master • Rescaling – heroku ps:scale web=2 – heroku ps:scale web+2 • Restarting – heroku restart • Rollback to old deployment version – heroku rollback v46 • Config // automatic restarts all dynos/instances – heroku config:set KEY=VALUE • Logs – heroku logs –t – heroku logs –t –p web
  • 28. www.tothenew.com ● You can deploy apps written in 8 languages to your private infrastructure of choice ● 5 frameworks are also available at your disposal Key Features: Cloud Foundry is extensible, so you can add more functionality via buildpacks or similar mechanisms. Limitations: You cannot specify command line parameters like JAVA_OPTS and auto-scaling is not provided. Pricing: 0.03$/hr after 60 days free trial Bonus: First class support for Grails. Few Insights
  • 29. www.tothenew.com Deploying Your Grails App on Cloud Foundry ● Register a new account at https://run.pivotal.io/ ● Install their CLI tool and run the following command: cf login -a https://api.run.pivotal.io ● Add a manifest.yml file to be read by Cloud Foundry manifest.yml --- applications: - name: im-todo memory: 2G instances: 1 path: target/AngularJS-0.1.war buildpack: java_buildpack services: - mysql
  • 30. www.tothenew.com Deploying Your Grails App on Cloud Foundry (contd.) ● Provision a new mysql service using the following command: cf create-service cleardb spark mysql Read more about services here: https://docs.cloudfoundry.org/devguide/services/ ● Modify the DataSource.groovy file to use the DATABASE_URL environment variable Sample code: https://github.com/cloudfoundry-samples/pong_matcher_grails/blob/master/grails-app/conf/DataSource.groovy ● Create the war file using the "grails war" command. This will create a war file in the target folder of your application ● Create a new app in your cloud foundry account ● To deploy, just run the command: cf push im-todo
  • 32. www.tothenew.com ● Microsoft eventually added Infrastructure-as-a-Service (IaaS) functionality to Azure and included Linux servers in the IaaS line-up as well as Windows operating systems. ● 5 frameworks are also available at your disposal. ● If current deployment fails, it automatically deploys the last known successful war. Key Features: Since Windows Azure is an IaaS and PaaS in one, developers can mix and match IaaS components with PaaS offerings giving you more control. Limitations: Minimalist administration portal. Pricing: Based on size of instances running; prices range from $0.02/hour (768MB of RAM & 1 shared virtual core) to $0.64/hour (14GB of RAM & 8 virtual cores). Pricing for high memory machines is also available. Bonus: Free 30-day trial with a limit of up to $200 is available for new users. Few Insights
  • 34. www.tothenew.com ● You can deploy apps written in 6 languages to 2 different infrastructures. ● You can scale your applications vertically , horizontally or let OpenShift Online automatically scale your instances Key Features: It has a large number of component options spanning the application stack from frontend to backend services. Developers can interface with OpenShift through a web console, the command line or through an integrated development environment. Limitations: It works well with Git, but non-Git deployments might require additional steps. Pricing: OpenShift Online pricing is based on the number and types of components (called gears) you deploy. Gear prices range from $0.02/hour to $0.10/hour, depending on the size: 512MB (small), 1GB (medium), or 2GB (large). The Silver support plan is $20/month plus usage costs. Bonus: A limited number of resources are available as a trial; 3 small gears and 1GB of storage per gear are free. Few Insights
  • 35. www.tothenew.com References ❏ http://www.tomsitpro.com/articles/paas-providers,1-1517.html ❏ http://www.paasify.it/vendors ❏ http://www.smartceo.com/dp-solutions-5-things-to-consider-when-moving-to-the-cloud/ ❏ https://www.simple-talk.com/cloud/development/moving-applications-to-the-cloud-part-1-8211-what-are-the-considerations/