SlideShare a Scribd company logo
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!
Ad

More Related Content

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
DevOps.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 Data
Yan 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.com
Alluxio, 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 Performance
Aerospike, 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 Zhang
Ceph 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 Supremind
Alluxio, 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 Cloud
Dropsolid
 
Global deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon OhGlobal deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon Oh
Ceph 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 Installation
Nagios
 
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
thelabdude
 
SAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home ProvisioningSAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home Provisioning
Ian 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 OpenStack
Nicolas 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 Xie
Ceph 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 Code
smalltown
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1
Aerospike, Inc.
 
Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2
Chartbeat
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud Native
InnoTech
 
Terraform
TerraformTerraform
Terraform
Christophe Marchal
 
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
 
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
DevOps.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 Data
Yan 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.com
Alluxio, 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 Performance
Aerospike, 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 Zhang
Ceph 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 Supremind
Alluxio, 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 Cloud
Dropsolid
 
Global deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon OhGlobal deduplication for Ceph - Myoungwon Oh
Global deduplication for Ceph - Myoungwon Oh
Ceph 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 Installation
Nagios
 
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
thelabdude
 
SAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home ProvisioningSAOUG 2018 - Rapid Home Provisioning
SAOUG 2018 - Rapid Home Provisioning
Ian 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 OpenStack
Nicolas 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 Xie
Ceph 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 Code
smalltown
 
Configuring Aerospike - Part 1
Configuring Aerospike - Part 1Configuring Aerospike - Part 1
Configuring Aerospike - Part 1
Aerospike, Inc.
 
Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2Tuning TCP and NGINX on EC2
Tuning TCP and NGINX on EC2
Chartbeat
 
Be a Cloud Native
Be a Cloud NativeBe a Cloud Native
Be a Cloud Native
InnoTech
 
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
 

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...
Donny Wals
 
DevOps for Your Mobile App
DevOps for Your Mobile AppDevOps for Your Mobile App
DevOps for Your Mobile App
Seth 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 Solution
Zuhaib Ansari
 
Automate the Application Deployment Process
Automate the Application Deployment ProcessAutomate the Application Deployment Process
Automate the Application Deployment Process
IBM
 
Modern Deployment Strategies
Modern Deployment StrategiesModern Deployment Strategies
Modern Deployment Strategies
Perforce
 
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
Therese Wells
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
Axel 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 Cloud
CloudBees
 
Cloud service models 101
Cloud service models 101Cloud service models 101
Cloud service models 101
Nagaraj Shenoy
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
Jim Kaskade
 
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...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
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 App
Seth 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 Solution
Zuhaib Ansari
 
Automate the Application Deployment Process
Automate the Application Deployment ProcessAutomate the Application Deployment Process
Automate the Application Deployment Process
IBM
 
Modern Deployment Strategies
Modern Deployment StrategiesModern Deployment Strategies
Modern Deployment Strategies
Perforce
 
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
Therese Wells
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
Axel 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 Cloud
CloudBees
 
Cloud service models 101
Cloud service models 101Cloud service models 101
Cloud service models 101
Nagaraj Shenoy
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
Jim Kaskade
 
Ad

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
Tapio 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 – EMEA
NGINX, 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 Drange
Hå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 applications
Cesar Cardenas Desales
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu
 
NGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best PracticesNGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best Practices
NGINX, 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 Jones
Ortus 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 Cloud
Subbu Rama
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
Giovanni Galloro
 
Володимир Цап "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 Stack with Bare Metal, presented in Apache Con Europe 2016
Cloud Stack with Bare Metal, presented in Apache Con Europe 2016Cloud Stack with Bare Metal, presented in Apache Con Europe 2016
Cloud Stack with Bare Metal, presented in Apache Con Europe 2016
irvan352366
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
Manuel 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 Google
Patrick Pierson
 
23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards
Denis 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 PCF
Lars Rosenquist
 
Cloud Platform as a Service: Heroku
Cloud Platform as a Service: HerokuCloud Platform as a Service: Heroku
Cloud Platform as a Service: Heroku
L&T Technology Services Limited
 
Using OpenShift PaaS
Using OpenShift PaaSUsing OpenShift PaaS
Using OpenShift PaaS
Anuchit Chalothorn
 
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
Ciklum 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 Deployment
Aerospike, Inc.
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
Tapio 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 – EMEA
NGINX, 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 Drange
Hå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 applications
Cesar Cardenas Desales
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu
 
NGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best PracticesNGINX ADC: Basics and Best Practices
NGINX ADC: Basics and Best Practices
NGINX, 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 Jones
Ortus 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 Cloud
Subbu 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 Stack with Bare Metal, presented in Apache Con Europe 2016
Cloud Stack with Bare Metal, presented in Apache Con Europe 2016Cloud Stack with Bare Metal, presented in Apache Con Europe 2016
Cloud Stack with Bare Metal, presented in Apache Con Europe 2016
irvan352366
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
Manuel 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 Google
Patrick Pierson
 
23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards23 LAMP Stack #burningkeyboards
23 LAMP Stack #burningkeyboards
Denis 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 PCF
Lars 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 developers
Ciklum 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 Deployment
Aerospike, Inc.
 
Ad

Recently uploaded (20)

Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 

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/