Difference between revisions of "Cloud Computing"

From BC$ MobileTV Wiki
Jump to: navigation, search
 
(44 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
With '''Cloud Computing''', companies can scale up to massive capacities in an instant without having to invest in new infrastructure, train new personnel, or license new software. '''Cloud Computing''' is of particular benefit to small and medium-sized businesses who wish to completely outsource their data-center infrastructure, or large corporations who wish to get peak load capacity without incurring the higher cost of building larger data centers internally. In both instances, service consumers use what they need on the Internet and pay only for what they use.
 
With '''Cloud Computing''', companies can scale up to massive capacities in an instant without having to invest in new infrastructure, train new personnel, or license new software. '''Cloud Computing''' is of particular benefit to small and medium-sized businesses who wish to completely outsource their data-center infrastructure, or large corporations who wish to get peak load capacity without incurring the higher cost of building larger data centers internally. In both instances, service consumers use what they need on the Internet and pay only for what they use.
  
The service consumer no longer has to be at a PC, use an application from a powerful OS with large computing resources and processor speeds, or purchase a specific version that's configured for each smartphone, PDA, or other device on which they intend to subscribe to or utilize the service. The consumer does not own the infrastructure, software, or platform in the cloud. He has lower upfront costs, capital expenses, and operating expenses. He does not care about how servers and networks are maintained in the cloud. The consumer can access multiple servers anywhere on the globe without knowing which ones and where they are located.
+
The service consumer no longer has to be at a [[PC]], use an application from a powerful [[OS]] with large computing resources and processor speeds, or purchase a specific version that's configured for each [[SmartPhone]], [[PDA]], or other device on which they intend to subscribe to or utilize the service. The consumer does not own the infrastructure, software, or platform in the cloud. He has lower upfront costs, capital expenses, and operating expenses. He does not care about how servers and networks are maintained in the cloud. The consumer can access multiple servers anywhere on the globe without knowing which ones and where they are located.
  
 
While '''Cloud Computing''' eliminates many of the initial costs and complexities of buying, configuring, and managing the hardware and software needed to build and deploy applications, and the applications are conveniently delivered on-demand, as a service over the Internet (the cloud), there are other pitfalls and hidden costs associated with moving to a cloud-based solution. First and foremost (and probably most obvious of the "hidden" costs is the learning curve required to deploy an application to a cloud-based solution as opposed to on a locally controlled and managed server, or, a hosted solution (although this barrier is getting smaller and smaller every day, as the interfaces for controlling cloud-based solutions improve). Another big hidden cost to consider is the pricing model, in particular if a '''Cloud Computing''' service provider calculates billing based on storage, network bandwidth consumed, time deployed (all too commonly misleadingly referred to as "compute time"), or actual '''compute time''' (i.e. time spent utilizing memory and computing resources, accessing a database or transferring data over a network). Lastly, whether a provider charges more like a traditional utility (i.e. Electricity) based on actual usage, or, whether the meter is running regardless of the state of a deployment or its usage (like a taxi-cab from hell that has huge upfront/after-service fees and/or one that charges whether the person is in the car or not, or does not at least slow down the meter while idling).<ref>Cloud .vs. Grid: http://www.ibm.com/developerworks/web/library/wa-cloudgrid/index.html?ca=drs-</ref>
 
While '''Cloud Computing''' eliminates many of the initial costs and complexities of buying, configuring, and managing the hardware and software needed to build and deploy applications, and the applications are conveniently delivered on-demand, as a service over the Internet (the cloud), there are other pitfalls and hidden costs associated with moving to a cloud-based solution. First and foremost (and probably most obvious of the "hidden" costs is the learning curve required to deploy an application to a cloud-based solution as opposed to on a locally controlled and managed server, or, a hosted solution (although this barrier is getting smaller and smaller every day, as the interfaces for controlling cloud-based solutions improve). Another big hidden cost to consider is the pricing model, in particular if a '''Cloud Computing''' service provider calculates billing based on storage, network bandwidth consumed, time deployed (all too commonly misleadingly referred to as "compute time"), or actual '''compute time''' (i.e. time spent utilizing memory and computing resources, accessing a database or transferring data over a network). Lastly, whether a provider charges more like a traditional utility (i.e. Electricity) based on actual usage, or, whether the meter is running regardless of the state of a deployment or its usage (like a taxi-cab from hell that has huge upfront/after-service fees and/or one that charges whether the person is in the car or not, or does not at least slow down the meter while idling).<ref>Cloud .vs. Grid: http://www.ibm.com/developerworks/web/library/wa-cloudgrid/index.html?ca=drs-</ref>
Line 32: Line 32:
  
  
 +
=== Orchestration ===
 +
 +
==== TOSCA ====
 +
 +
'''T'''opology and '''O'''rchestration '''S'''pecification for '''C'''loud '''A'''pplications (''TOSCA'') is a specification that aims to standardize how we describe software applications, its dependencies, supporting libraries and everything else that is required for them to run within "Cloud" infrastructure.
 +
 +
* TOSCA Cloud Orchestration for Beginners: http://getcloudify.org/2015/07/21/what-is-TOSCA-cloud-application-orchestration-tutorial-cloudify.html
 +
* TOSCA and YANG for Application and Network Orchestration: http://getcloudify.org/2015/01/07/VNF-network-function-virtualization-netconf-yang-NFV.html
 +
 +
 +
== Types of Cloud Services ==
 +
 +
=== SaaS ===
 +
 +
* [[wikipedia: SaaS]]
 +
 +
=== PaaS ===
 +
 +
* [[wikipedia: PaaS]]
 +
 +
=== CaaS ===
 +
 +
* [[wikipedia: Content as a service]] (''CaaS'')
 +
 +
=== DBaaS ===
 +
 +
* [[wikipedia: DBaaS]]
 +
 +
=== FaaS ===
 +
 +
* [[wikipedia: FaaS]]
 +
* OpenFaaS: https://www.openfaas.com/
 +
 +
== Scalability ==
 +
 +
'''Scalability''' is the measure of an organization or individual's ability to adapt to some conditions and over time increase vital characteristics of a product or service through higher efficiency, higher capacity and/or higher availability to larger segments of the market. One of the primary selling point of Cloud-based services is that scalability to increasingly large number of customers can be achieved much more quickly than architecting and building out internally/on-premise all the required hardware, network, security and other required infrastructure.
 +
 +
* Journey To A Million Users: http://www.rackspace.com/blog/journey-to-a-million-users-infographic (INFOGRAPHIC)
  
  
Line 66: Line 104:
 
* Rackspace Cloud: http://www.rackspace.com/cloud/
 
* Rackspace Cloud: http://www.rackspace.com/cloud/
  
==== OpenStack ====
+
===== OpenStack =====
  
 
Collaboration between Rackspace and NASA to build an [[open source]] public/private cloud computing infrastructure.  
 
Collaboration between Rackspace and NASA to build an [[open source]] public/private cloud computing infrastructure.  
  
* '''OpenStack: http://openstack.org''' (open source software for buildingprivate and public clouds)
+
* '''OpenStack: http://openstack.org''' (open source software for buildingprivate and public clouds)<ref>OpenStack and Linux Foundations plan OpenStack skills certification: http://www.zdnet.com/article/openstack-and-linux-foundations-plan-openstack-skills-certification-by-early-2016openstack-and-linux/</ref>
 +
<ref>IBM launches OpenStack services: http://www.zdnet.com/article/ibm-launches-openstack-services/</ref><ref>8 new tutorials for OpenStack users and developers: http://opensource.com/business/15/8/new-guides-mastering-openstack-cloud</ref>
 +
* DevStack - an OpenStack Community Production: http://docs.openstack.org/developer/devstack/<ref>OpenStack - Core Components: https://dzone.com/articles/openstack-core-components</ref>
 +
* Dzone Guide to the CLoud - IAAS, PAAS, SAAS: http://cdn.dzone.com/sites/all/files/whitepapers/PaaS-IaaS-Guide-06072013.pdf
 +
* '''Is OpenStack Object Store a Base for a Video CDN?: http://java.dzone.com/articles/openstack-object-store-base'''
 +
* 10 Steps To The Cloud (for your developed apps): http://www.activestate.com/blog/2014/02/10-steps-cloud
 +
* DevStack: http://devstack.org/ (documented shell script to build complete OpenStack development environments)
 +
 
 +
==== Apache CloudStack ====
 +
 
 +
Apache's leading [[open source]] public/private cloud computing architecture and management software. It has been "designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform".
 +
 
 +
* Apache CloudStack: http://cloudstack.apache.org/
 +
* Apache CloudStack vs. OpenStack -- Which Is the Best?: http://dzone.com/articles/apache-cloudstack-vs-openstack-which-is-the-best
 +
 
 +
 
  
 
==== RedHat ====
 
==== RedHat ====
Line 79: Line 132:
  
 
* OpenShift: https://openshift.redhat.com/app/
 
* OpenShift: https://openshift.redhat.com/app/
 +
* OpenShift for Developers, Second Edition (BOOK): https://developers.redhat.com/e-books/openshift-for-developers
 
<ref>'''Installing OpenShift RHC Client Tools (on your local DEV environment): https://www.openshift.com/developers/rhc-client-tools-install'''</ref>
 
<ref>'''Installing OpenShift RHC Client Tools (on your local DEV environment): https://www.openshift.com/developers/rhc-client-tools-install'''</ref>
 
<ref>Deploying a Java EE Web Application to OpenShift Express: http://developinjava.weebly.com/deploying-a-java-ee-web-application-to-openshift-express.html</ref>
 
<ref>Deploying a Java EE Web Application to OpenShift Express: http://developinjava.weebly.com/deploying-a-java-ee-web-application-to-openshift-express.html</ref>
 
<ref>TicketMonster - OpenShift (SAMPLE APP): http://www.jboss.org/jdf/examples/ticket-monster/tutorial/WhatIsTicketMonster/</ref>
 
<ref>TicketMonster - OpenShift (SAMPLE APP): http://www.jboss.org/jdf/examples/ticket-monster/tutorial/WhatIsTicketMonster/</ref>
 +
<ref>'''Using OpenShift 3 on your local environment: https://blog.openshift.com/using-openshift-3-on-your-local-environment/'''</ref>
 +
<ref>The Red Hat Ecosystem (with OpenShift) for Microservice & Container Development: http://rhelblog.redhat.com/2016/02/23/the-red-hat-ecosystem-for-microservice-and-container-development/</ref>
 +
<ref>Day 13 -- Dropwizard — The Awesome Java REST Server Stack: https://blog.openshift.com/day-13-dropwizard-the-awesome-java-rest-server-stack/</ref>
 +
<ref>How to "enable SCL" in PodTemplate with Maven & NodeJS?: https://github.com/openshift/jenkins/issues/582</ref>
 +
<ref>OpenShift quick start -- Build, Deployment, Pipeline: https://dzone.com/articles/openshift-quick-start-build-deployment-and-pipelin</ref>
 +
<ref>Deploying Java EE Microservices on OpenShift: https://dzone.com/articles/deploying-java-ee-microservices-on-openshift</ref>
 +
<ref>4 Ways to Build Applications in OpenShift : https://dzone.com/articles/4-ways-to-build-applications-in-openshift-1</ref>
  
 
==== Xen ====
 
==== Xen ====
Line 106: Line 167:
  
 
* Google Drive: https://drive.google.com
 
* Google Drive: https://drive.google.com
 +
 +
===== Google Cloud Platform =====
 +
 +
Google Cloud Platform (GCP).
 +
 +
* CI/CD Pipelines for Java (Maven) - Docker Project deployment to Kubernetes in Google Cloud Platform (GCP): https://dzone.com/articles/cicd-pipelines-for-java-maven-docker-project-to-ku
 +
<ref>Compare Google App Engine (WebApp hosting/server) .vs. Google Cloud Platform (container-based full OS): https://comparisons.financesonline.com/google-app-engine-vs-google-cloud-platform</ref>
  
 
==== Windows Azure ====
 
==== Windows Azure ====
  
* Windows Azure: http://windows.azure.com/<ref>Microsoft needs to stop scamming MSDN Subscribers with Azure: http://social.msdn.microsoft.com/Forums/en-ZW/windowsazurepurchasing/thread/0edca3f0-874e-4e53-ae86-7ba2740a277c?prof=required</ref>
+
* Windows Azure: http://windows.azure.com/<ref>Microsoft needs to stop scamming MSDN Subscribers with Azure: http://social.msdn.microsoft.com/Forums/en-ZW/windowsazurepurchasing/thread/0edca3f0-874e-4e53-ae86-7ba2740a277c?prof=required</ref><ref>How much is Microsoft making from Azure?: http://www.zdnet.com/article/how-much-is-microsoft-making-from-azure/</ref>
 
* Windows Azure SDK: http://www.microsoft.com/windowsazure/sdk/<ref>Internet Information Services (IIS) 7.0 installation for working with Windows Azure: http://msdn.microsoft.com/en-us/library/hh403991.aspx#IIS</ref>
 
* Windows Azure SDK: http://www.microsoft.com/windowsazure/sdk/<ref>Internet Information Services (IIS) 7.0 installation for working with Windows Azure: http://msdn.microsoft.com/en-us/library/hh403991.aspx#IIS</ref>
 
* Windows Azure - Portal overview: http://java.dzone.com/articles/azure-portal-z
 
* Windows Azure - Portal overview: http://java.dzone.com/articles/azure-portal-z
 +
 +
<ref>Microsoft Azure tutorials -- (Cross-Platform) Rock, Paper, Scissors, Lizard, Spock game example: https://docs.microsoft.com/en-us/samples/microsoft/rockpaperscissorslizardspock/azure-rock-paper-scissors/</ref>
 +
<ref>Microsoft Azure tutorials -- Choose the right Azure service for deploying your Java application: https://docs.microsoft.com/en-us/learn/modules/java-target-destinations/</ref>
 +
<ref>Microsoft Azure tutorials -- Deploy a Spring app to App Service with MySQL: https://docs.microsoft.com/en-us/azure/developer/java/spring-framework/spring-app-service-e2e?tabs=bash</ref>
 +
<ref>Using XML Policies to Log and Analyze API Calls from Azure API Management: https://dzone.com/articles/how-log-and-analyze-api-calls-from-azure-api-manag</ref>
 +
  
 
===== SkyDrive =====
 
===== SkyDrive =====
Line 122: Line 196:
  
 
* iCloud: https://www.icloud.com/<ref>About iCloud: http://www.apple.com/icloud/</ref>
 
* iCloud: https://www.icloud.com/<ref>About iCloud: http://www.apple.com/icloud/</ref>
 +
  
 
==== Oracle MyCloud ====
 
==== Oracle MyCloud ====
Line 137: Line 212:
 
* SalesForce - CRM and Employee Management apps: http://www.salesforce.com/platform/
 
* SalesForce - CRM and Employee Management apps: http://www.salesforce.com/platform/
 
* SalesForce SDKs: http://wiki.developerforce.com/index.php/Tools
 
* SalesForce SDKs: http://wiki.developerforce.com/index.php/Tools
 +
* SalesForce for HR: http://www.salesforce.com/platform/solutions/hr-apps/<ref>Salesforce for HR aims to be front end of employee engagement: http://www.zdnet.com/article/salesforce-a-play-for-hr-aims-to-be-front-end-of-employee-engagement/</ref><ref>Salesforce Makes Hard Push Into Human Resources With New Platform: http://techcrunch.com/2015/04/23/salesforces-new-hr-platform-could-be-part-of-wider-enterprise-expansion/</ref>
  
  
 +
===== Heroku =====
  
 +
The following commands can be used to deploy to Heroku, which has a "free tier" for JavaEE WebApps.<ref>Getting Started on Heroku with Java: https://devcenter.heroku.com/articles/getting-started-with-java#deploy-the-app</ref><ref>Deploying Tomcat-based Java Web Applications with Webapp Runner: https://devcenter.heroku.com/articles/java-webapp-runner#configure-maven-to-download-webapp-runner</ref>
  
 +
heroku login
 +
heroku git:remote -a APP_NAME
 +
git remote -v
 +
git status
 +
git add .
 +
git commit -m "message"
 +
git status
 +
git checkout master
 +
git merge develop
 +
git merge --no-ff develop
 +
git status
 +
git push heroku master
 +
heroku open
 +
heroku logs --tail
 +
<ref>Why am I seeing "Couldn't find that process type" when trying to scale dynos?: https://help.heroku.com/W23OAFGK/why-am-i-seeing-couldn-t-find-that-process-type-when-trying-to-scale-dynos</ref><ref>Deploying with GIT on Heroku: https://devcenter.heroku.com/articles/git</ref>
 +
 +
* Heroku: https://www.heroku.com | [https://proctorscheduler.herokuapp.com EXAMPLE - ProctorScheduler]
 +
* Heroku - Dev center: https://devcenter.heroku.com
 +
<ref>GitHub Integration (Heroku GitHub Deploys): https://devcenter.heroku.com/articles/github-integration</ref>
 +
<ref>Automating a conference submission workflow - deploying to production (on Heroku): https://blog.frankel.ch/automating-conference-submission-workflow/3/</ref>
 +
<ref>How to Create Review Apps on Heroku (using "AutoIdle Heroku add-on" show how to cut down on monthly costs): https://dzone.com/articles/how-to-create-review-apps-on-heroku</ref>
 +
 +
==== Cloud Storage ====
 +
 +
* Micrsoft OneDrive: [[Cloud_Computing#SkyDrive | OneDrive]] (renamed from "SkyDrive" to "OneDrive" in 2014<ref>Microsoft renames SkyDrive to OneDrive: https://www.pcworld.com/article/2091412/microsoft-renames-skydrive-to-onedrive.html</ref>)
 +
* Google [[Cloud_Computing#Google_Drive | Drive]] (heavily used by Android device users for additional storage, and pushed by Google's mobile OS services)
 +
* Apple [[Cloud_Computing#Apple_iCloud | iCloud]] (heavily used by iOS device users for additional storage, and pushed by Apple's mobile OS services)
 +
* Dropbox: https://www.dropbox.com
 +
* Box: https://www.box.net
 +
<ref>What Happened When I Told Marie Kondo I Have a Better, Higher-Tech Method of Tidying Up: https://getpocket.com/explore/item/what-happened-when-i-told-marie-kondo-i-have-a-better-higher-tech-method-of-tidying-up?utm_source=pocket-newtab</ref>
  
 
=== Public Clouds ===
 
=== Public Clouds ===
Line 244: Line 352:
 
* Cisco - Cloud Enablement platform: http://www.cisco.com/web/services/enterprise-it-services/cloud-enablement-services/ (enables businesses to build their own Public, Private or Hybrid cloud solutions)
 
* Cisco - Cloud Enablement platform: http://www.cisco.com/web/services/enterprise-it-services/cloud-enablement-services/ (enables businesses to build their own Public, Private or Hybrid cloud solutions)
  
 +
==== Dasein Cloud API ====
  
 
+
* The Dasein Cloud API: http://dasein-cloud.sourceforge.net/
  
  
Line 254: Line 363:
  
 
== Tools ==
 
== Tools ==
 
=== Dasein Cloud API ===
 
 
* The Dasein Cloud API: http://dasein-cloud.sourceforge.net/
 
 
=== cloudtools ===
 
  
 
* '''cloudtools''' -- Tools for deploying Java Spring and Grails applications in the Cloud: http://code.google.com/p/cloudtools/
 
* '''cloudtools''' -- Tools for deploying Java Spring and Grails applications in the Cloud: http://code.google.com/p/cloudtools/
 
* cloudtools -- Amazon EC2 Keypair (info): http://code.google.com/p/cloudtools/wiki/Ec2KeyPair
 
* cloudtools -- Amazon EC2 Keypair (info): http://code.google.com/p/cloudtools/wiki/Ec2KeyPair
 +
* Microsoft Sustainability Calculator -- Emissions Impact Dashboard: https://appsource.microsoft.com/en-us/product/power-bi/coi-sustainability.emissions_impact_dashboard<ref>Microsoft "Sustainability Calculator" helps enterprises analyze the carbon emissions of their "Cloud" IT infrastructure: https://azure.microsoft.com/en-gb/blog/microsoft-sustainability-calculator-helps-enterprises-analyze-the-carbon-emissions-of-their-it-infrastructure/</ref>
  
  
Line 284: Line 388:
 
* '''Public versus Private Clouds: http://blogs.msdn.com/b/hanuk/archive/2009/06/15/public-versus-private-clouds.aspx'''
 
* '''Public versus Private Clouds: http://blogs.msdn.com/b/hanuk/archive/2009/06/15/public-versus-private-clouds.aspx'''
 
* Public vs Private Cloud Brouhaha -- My Take: http://www.cloudave.com/1670/public-vs-private-cloud-brouhaha-my-take/
 
* Public vs Private Cloud Brouhaha -- My Take: http://www.cloudave.com/1670/public-vs-private-cloud-brouhaha-my-take/
 +
* Nextcloud Box -- A cloud for your office or living room: http://www.zdnet.com/article/nextcloud-box-a-cloud-for-your-office-or-living-room/?ftag=TRE17cfd61&bhid=22562341742630883520319271226667
  
 
* Creating a Windows Azure Hello World Application Using ASP.NET MVC 3: http://www.microsoft.com/windowsazure/learn/tutorials/getting-started-web-tutorial/
 
* Creating a Windows Azure Hello World Application Using ASP.NET MVC 3: http://www.microsoft.com/windowsazure/learn/tutorials/getting-started-web-tutorial/
 +
* '''Create a Virtual Machine In Azure: http://dzone.com/articles/create-virtual-machine-in-azure'''
 +
 
* Ubuntu - EC2 Starters Guide: https://help.ubuntu.com/community/EC2StartersGuide
 
* Ubuntu - EC2 Starters Guide: https://help.ubuntu.com/community/EC2StartersGuide
 
* Getting Started with Amazon EC2 (in PHP): http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2
 
* Getting Started with Amazon EC2 (in PHP): http://paulstamatiou.com/how-to-getting-started-with-amazon-ec2
Line 293: Line 400:
 
* Getting started with PaaS Eclipse integration: https://www.openshift.com/blogs/getting-started-with-eclipse-paas-integration
 
* Getting started with PaaS Eclipse integration: https://www.openshift.com/blogs/getting-started-with-eclipse-paas-integration
 
* Getting started with SFTP and OpenShift: https://www.openshift.com/blogs/getting-started-with-sftp-and-openshift
 
* Getting started with SFTP and OpenShift: https://www.openshift.com/blogs/getting-started-with-sftp-and-openshift
 +
 +
* What is Openstack? A Quick OpenStack Tutorial: http://getcloudify.org/2014/07/10/what-is-openstack-tutorial.html
 +
  
  
Line 318: Line 428:
 
* 20 Real-Life Challenges of Cloud Computing: http://java.dzone.com/articles/20-real-life-challenges-cloud-
 
* 20 Real-Life Challenges of Cloud Computing: http://java.dzone.com/articles/20-real-life-challenges-cloud-
 
* NEC promotes global cloud computing business for telecom operators: http://www.japantoday.com/category/technology/view/nec-promotes-global-cloud-computing-business-for-telecom-operators
 
* NEC promotes global cloud computing business for telecom operators: http://www.japantoday.com/category/technology/view/nec-promotes-global-cloud-computing-business-for-telecom-operators
* National Institute of Standards and Technology, (NIST) Information Technology Laboratory has published an updated version of their Working Definition of Cloud Computing: http://csrc.nist.gov/groups/SNS/cloud-computing/index.html
+
* '''The NIST Definition of Cloud Computing: https://csrc.nist.gov/publications/detail/sp/800-145/final'''<ref>National Institute of Standards and Technology, (NIST) Information Technology Laboratory has published an updated version of their Working Definition of Cloud Computing: http://csrc.nist.gov/groups/SNS/cloud-computing/index.html</ref>
 
* Stress tests rain on Amazon's cloud: http://www.itnews.com.au/News/153451,stress-tests-rain-on-amazons-cloud.aspx
 
* Stress tests rain on Amazon's cloud: http://www.itnews.com.au/News/153451,stress-tests-rain-on-amazons-cloud.aspx
 
* More data released on cloud stress tests: http://www.itnews.com.au/News/153819,more-data-released-on-cloud-stress-tests.aspx
 
* More data released on cloud stress tests: http://www.itnews.com.au/News/153819,more-data-released-on-cloud-stress-tests.aspx
Line 377: Line 487:
 
* Microsoft finds a new way to deliver a private cloud in a box: http://www.zdnet.com/microsoft-finds-a-new-way-to-deliver-a-private-cloud-in-a-box-7000016279/
 
* Microsoft finds a new way to deliver a private cloud in a box: http://www.zdnet.com/microsoft-finds-a-new-way-to-deliver-a-private-cloud-in-a-box-7000016279/
 
* Amazon Beat Out IBM And Won A $600 Million Cloud Computing Contract With The CIA: http://www.businessinsider.com/amazon-vs-ibm-in-a-battle-for-the-cloud-2013-7
 
* Amazon Beat Out IBM And Won A $600 Million Cloud Computing Contract With The CIA: http://www.businessinsider.com/amazon-vs-ibm-in-a-battle-for-the-cloud-2013-7
* U.S. cloud industry stands to lose $35 billion amid PRISM fallout: http://www.zdnet.com/u-s-cloud-industry-stands-to-lose-35-billion-amid-prism-fallout-7000018974/\
+
* U.S. cloud industry stands to lose $35 billion amid PRISM fallout: http://www.zdnet.com/u-s-cloud-industry-stands-to-lose-35-billion-amid-prism-fallout-7000018974/
 
* As the cloud turns - AWS tops, but look out for Microsoft's Azure: http://www.zdnet.com/article/as-the-cloud-turns-aws-tops-but-look-out-for-microsofts-azure/
 
* As the cloud turns - AWS tops, but look out for Microsoft's Azure: http://www.zdnet.com/article/as-the-cloud-turns-aws-tops-but-look-out-for-microsofts-azure/
 
* Understanding the New Economics of Cloud Computing: http://java.dzone.com/articles/understanding-new-economics
 
* Understanding the New Economics of Cloud Computing: http://java.dzone.com/articles/understanding-new-economics
 +
* HP drops out of the public cloud storm: http://www.zdnet.com/article/hp-drops-out-of-the-public-cloud-storm/
 +
* IBM cloud chief LeBlanc on OpenStack, analytics, PaaS, in-country data: http://www.zdnet.com/article/ibm-cloud-chief-leblanc-on-openstack-analytics-paas-in-country-data/
 +
* The cloud IT arms race is going to the no-name infrastructure providers: http://www.zdnet.com/article/the-cloud-it-arms-race-is-going-to-the-no-name-infrastructure-providers/
 +
* Move Over Amazon, IBM Can Also Claim Top Spot In Cloud Services: http://www.forbes.com/sites/gregsatell/2015/04/27/move-over-amazn-ibm-now-rules-cloud-services/
 +
* OpenStack Embraces Containers: http://techcrunch.com/2015/05/19/openstack-embraces-containers/
 +
* The OpenStack Interoperability Paradox and How to Bridge It: http://dzone.com/articles/the-openstack-interoperability-paradox-and-how-to
 +
* Perfect storm - How 3 cloud fronts will rain on your (traditional IT shop's) parade: http://www.zdnet.com/article/perfect-storm-how-3-cloud-fronts-will-rain-on-your-it-parade/ (Containers, Converged networks and hardware Commoditization will greatly influence your future cloud and datacenter strategy)
 +
* Why Amazon dominates cloud computing yet should not be your knee-jerk choice: http://www.zdnet.com/article/as-cloud-computing-matures-a-closer-look-at-why-amazon-dominates/
 +
* IBM inks $180 million cloud deal with energy company Columbia Pipeline: http://www.zdnet.com/article/ibm-inks-180-million-cloud-deal-with-energy-company-columbia-pipeline/
 +
* Moving to the Cloud - Transforming Technology and the Team: http://dzone.com/articles/moving-to-the-cloud-transforming-technology-and-th
 +
* Corporate Cloud Compliance: http://dzone.com/articles/corporate-cloud-compliance
 +
* Reduce the Cloud Bill of Your Java Applications: https://dzone.com/articles/reduce-the-cloud-bill-of-your-java-applications
 +
* Cloud sustainability - Could using the cloud help your organisation reach net zero?: https://blog.scottlogic.com/2022/04/07/cloud-sustainability-reach-net-zero.html
  
  
Line 388: Line 511:
 
== See Also ==
 
== See Also ==
  
[[CDN]] | [[SOA]] | [[SaaS]] | [[PaaS]] | [[IaaS]] | [[Energy]]
+
[[VM]] | [[CDN]] | [[SOA]] | [[SaaS]] | [[PaaS]] | [[IaaS]] | [[Energy]]

Latest revision as of 19:47, 16 April 2022

Cloud Computing is computing resources and access platforms which are stored, hosted and carried out in a foreign (3rd party) data server configuration. A Cloud Computing service provider is sometimes also referred to as a Managed Services Provider (MSP)[1] as literally they are providing the management of a variety of technology services traditionally managed by a single company's internal IT department.


With Cloud Computing, companies can scale up to massive capacities in an instant without having to invest in new infrastructure, train new personnel, or license new software. Cloud Computing is of particular benefit to small and medium-sized businesses who wish to completely outsource their data-center infrastructure, or large corporations who wish to get peak load capacity without incurring the higher cost of building larger data centers internally. In both instances, service consumers use what they need on the Internet and pay only for what they use.

The service consumer no longer has to be at a PC, use an application from a powerful OS with large computing resources and processor speeds, or purchase a specific version that's configured for each SmartPhone, PDA, or other device on which they intend to subscribe to or utilize the service. The consumer does not own the infrastructure, software, or platform in the cloud. He has lower upfront costs, capital expenses, and operating expenses. He does not care about how servers and networks are maintained in the cloud. The consumer can access multiple servers anywhere on the globe without knowing which ones and where they are located.

While Cloud Computing eliminates many of the initial costs and complexities of buying, configuring, and managing the hardware and software needed to build and deploy applications, and the applications are conveniently delivered on-demand, as a service over the Internet (the cloud), there are other pitfalls and hidden costs associated with moving to a cloud-based solution. First and foremost (and probably most obvious of the "hidden" costs is the learning curve required to deploy an application to a cloud-based solution as opposed to on a locally controlled and managed server, or, a hosted solution (although this barrier is getting smaller and smaller every day, as the interfaces for controlling cloud-based solutions improve). Another big hidden cost to consider is the pricing model, in particular if a Cloud Computing service provider calculates billing based on storage, network bandwidth consumed, time deployed (all too commonly misleadingly referred to as "compute time"), or actual compute time (i.e. time spent utilizing memory and computing resources, accessing a database or transferring data over a network). Lastly, whether a provider charges more like a traditional utility (i.e. Electricity) based on actual usage, or, whether the meter is running regardless of the state of a deployment or its usage (like a taxi-cab from hell that has huge upfront/after-service fees and/or one that charges whether the person is in the car or not, or does not at least slow down the meter while idling).[2]


Architecture

Virtualization

Virtualization is probably the core component of Cloud Computing as offering a way to intelligently divide and manage the available resources on a given hardware/software configuration into specific representations for specific users, organizations or communities.

Cluster

Cluster computing is one subset of Cloud Computing. It is most commonly used for bursty, high bandwidth ativities (such as streaming a live video feed to thousands of users from several different temporarily replicated endpoints).

Grid

Grid computing is another main subset of Cloud Computing. Grid focuses on sharing (distributing) computing resources (for example, processing experiment data output by a highly advanced lab instrument). Grids tend to be more loosely coupled, heterogeneous, and geographically dispersed compared to conventional cluster computing systems. Forming a Grid is commonly done in Academia and in the Scientific Research community, as it helps to analyze and store massive amounts of data across a network of computing resources.[3] It is commonly done for intensive compute jobs such as crunching numbers (i.e. massive statistical analysis) or processing a massive amount of data output from a particular device (such as a Mass Spectrometer in a lab, underwater sensors on a submarine, etc).


Orchestration

TOSCA

Topology and Orchestration Specification for Cloud Applications (TOSCA) is a specification that aims to standardize how we describe software applications, its dependencies, supporting libraries and everything else that is required for them to run within "Cloud" infrastructure.


Types of Cloud Services

SaaS

PaaS

CaaS

DBaaS

FaaS

Scalability

Scalability is the measure of an organization or individual's ability to adapt to some conditions and over time increase vital characteristics of a product or service through higher efficiency, higher capacity and/or higher availability to larger segments of the market. One of the primary selling point of Cloud-based services is that scalability to increasingly large number of customers can be achieved much more quickly than architecting and building out internally/on-premise all the required hardware, network, security and other required infrastructure.


Cloud APIs

Generally there are three types of Cloud API's.

1. Blind APIs - API's that don't tell you their restrictions. Amazon Web Services is the best example. (Personally I'd rather know what I can or can't do then not know at all)

2. Closed APIs - API's that do tell you their restrictions. Google App Engine is a good example using a highly restrictive license. The Google terms state in section 7.2. that "you may not (and you may not permit anyone else to): (a) copy, modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to extract the source code of the Google App Engine Software or any part thereof, unless this is expressly permitted" Which would make things like AppScale which is an open-source implementation of the Google AppEngine illegal under Google's terms of use.

3. Open APIs - API's that generally let you do whatever you want as long as you give attribution. Rackspace, GoGrid and Sun are the best examples. A major issue facing a lot of these so called open API's is although you maybe free to remix and use the API, you could be limited by the use of a company's name or trademark. Making the attribution clause a potential mine field.


Services

List of Open .vs. Closed Cloud Computing Providers

Open Cloud

Open Cloud Computing services are defined as those which allow full not only read/write access to their paying users but also the ability to download the entire environment, as well as to customize which software and platforms are installed in the environment. In addition, the full source code for the Cloud platform is made available so that more advanced users could potentially run their own instances on their own commodity servers/hardware.

Amazon Web Services

Rackspace

OpenStack

Collaboration between Rackspace and NASA to build an open source public/private cloud computing infrastructure.

[5][6]

Apache CloudStack

Apache's leading open source public/private cloud computing architecture and management software. It has been "designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform".


RedHat

OpenShift

[8] [9] [10] [11] [12] [13] [14] [15] [16] [17]

Xen

The Xen® hypervisor, the powerful open source industry standard for virtualization, offers a powerful, efficient, and secure feature set for virtualization of x86, x86_64, IA64, ARM, and other CPU architectures. It supports a wide range of guest operating systems including Windows®, Linux®, Solaris®, and various versions of the BSD operating systems


Closed Cloud

Closed Cloud Computing services are defined as those which allow only partial (or possibly full) read/write access to their paying users but differ drastically from Open Clouds in that they do not provide the capability to download the entire environment, and the options for customizzation are limited to preset options for which software and platforms are installed in the environment (in particular, that company's own technology would likely feature prominently; as in the case of Windows Azure which only runs Microsoft technologies such as C# and ASP.net on a Windows Server and/or IIS, or, Oracle MyCloud which runs only Java-based technologies on Solaris and/or Glassfish). In addition, the source code for the Cloud platform itself is not available thus customers typically do not have the option of running an instance of the cloud platform on their own commodity servers/hardware.

Google AppEngine

[18] [19] [20] [21]

Google Drive
Google Cloud Platform

Google Cloud Platform (GCP).

[22]

Windows Azure

[26] [27] [28] [29]


SkyDrive

SkyDrive is Microsoft's consumer-focused cloud storage solution for personal media files and documents.

Apple iCloud


Oracle MyCloud


IBM BlueMix


SalesForce


Heroku

The following commands can be used to deploy to Heroku, which has a "free tier" for JavaEE WebApps.[35][36]

heroku login
heroku git:remote -a APP_NAME
git remote -v
git status
git add .
git commit -m "message"
git status
git checkout master
git merge develop
git merge --no-ff develop
git status
git push heroku master
heroku open
heroku logs --tail

[37][38]

[39] [40] [41]

Cloud Storage

  • Micrsoft OneDrive: OneDrive (renamed from "SkyDrive" to "OneDrive" in 2014[42])
  • Google Drive (heavily used by Android device users for additional storage, and pushed by Google's mobile OS services)
  • Apple iCloud (heavily used by iOS device users for additional storage, and pushed by Apple's mobile OS services)
  • Dropbox: https://www.dropbox.com
  • Box: https://www.box.net

[43]

Public Clouds

Also known as a shared cloud, such services are provided "as a service" over the Internet with little or no control over the underlying technology infrastructure. This cloud is appealing to many decision-makers as it reduces complexity and long lead times in testing and deploying new products. It is generally cheaper, too.

Ubuntu

[44] [45]

Eucalyptus

Eucalyptus is an open-source system for implementing on-premise private and hybrid clouds using the hardware and software infrastructure that is in place, without modification. Eucalyptus adds capabilities such as end-user customization, self-service provisioning, and legacy application support to data center virtualization features, making IT customer service easier, more fully featured, and less expensive. Eucalyptus can be downloaded for free and used forever. It includes Amazon Web Services API (EC2, S3, EBS) and support for Xen and KVM, and allows you to build a cloud in 6 steps.

The Eucalyptus slogan is:

Your Hardware. Your Data. Your Cloud.

EyeOS

Unified Cloud Interface

Unified Cloud Computing is an attempt to create an open and standardized cloud interface for the unification of various cloud api's. A singular programmatic point of contact that can encompass the entire infrastructure stack as well as emerging cloud centric technologies all through a unified interface. One of the key drivers of the unified cloud interface is to create an api about other api's. A singular programmatic point of contact that can encompass the entire infrastructure stack as well as emerging cloud centric technologies all through a unified interface.

In this vision for a unified cloud interface the use of the resource description framework (RDF) is an ideal method to describe a semantic cloud data model (taxonomy & ontology). The benefit to an RDF based ontology languages is they act as general method for the conceptual description or modeling of information that is implemented by web resources. These web resources could just as easily be "cloud resources" or API's. This approach may also allow us to easily take an RDF -based cloud data model and use it within other ontology languages or web services making it both platform and vendor agnostic. Using this approach we're not so much defining how, but instead describing what.

OpenNebula

OpenNebula is a Virtual Infrastructure Manager that orchestrates storage, network and virtualization technologies to enable the dynamic placement of multi-tier services (groups of interconnected virtual machines) on distributed infrastructures, combining both data center resources and remote cloud resources, according to allocation policies.

CloudLoop

cloudloop is a universal, open-source Java API and command-line tool for cloud storage, which lets you store, manage, and sync your databetween all major providers.

CloudFoundry

Cloud Foundry SpringSource Cloud Foundry is the first self-service, pay-as-you-go, public cloud deployment platform for full-feature Java web applications that unifies the entire build, run, and manage application lifecycle for Java.

vCloud

VMware (upon purchase of SpringSource) announced their own Cloud Environment with the following characteristics:

  1. RESTful with full programmatic control
  2. Open Virtualization Framework (OVF) standards based
  3. Platform independent
  4. Pure virtual
  5. Supports multi-tenancy

VMware also provides critical Virtualization software for partitioning your own Operating System and Hardware.


Private Cloud

Also called an internal cloud or enterprise cloud, this also offers activities and functions "as a service" but is deployed over a company intranet or internally hosted and managed datacenter. This is private product for a company or organization offering advance security and highly available or fault tolerant solutions not possible in a public cloud. In this scenario, the private cloud owner shares few, if any, resources with other organizations. Hence, multi-tenancy is not an issue.

JoliCloud

NASA's Nebula Cloud


Hybrid Clouds

This is an integrated approach, combining the power of both public and private clouds. Customized rules and policies govern areas such as security and the underlying infrastructure. In this scenario, activities and tasks are allocated to internal or external clouds as required. [46] [47]

Cisco CloudEnablement

Dasein Cloud API




Tools


Resources


Tutorials


External Links


References

  1. ThinkGrid MSP: http://www.thinkgrid.com/msps.aspx
  2. Cloud .vs. Grid: http://www.ibm.com/developerworks/web/library/wa-cloudgrid/index.html?ca=drs-
  3. Difference - Cloud Computing vs Grid Computing: http://www.thepicky.com/tech/difference-cloud-computing-vs-grid-computing/
  4. OpenStack and Linux Foundations plan OpenStack skills certification: http://www.zdnet.com/article/openstack-and-linux-foundations-plan-openstack-skills-certification-by-early-2016openstack-and-linux/
  5. IBM launches OpenStack services: http://www.zdnet.com/article/ibm-launches-openstack-services/
  6. 8 new tutorials for OpenStack users and developers: http://opensource.com/business/15/8/new-guides-mastering-openstack-cloud
  7. OpenStack - Core Components: https://dzone.com/articles/openstack-core-components
  8. Installing OpenShift RHC Client Tools (on your local DEV environment): https://www.openshift.com/developers/rhc-client-tools-install
  9. Deploying a Java EE Web Application to OpenShift Express: http://developinjava.weebly.com/deploying-a-java-ee-web-application-to-openshift-express.html
  10. TicketMonster - OpenShift (SAMPLE APP): http://www.jboss.org/jdf/examples/ticket-monster/tutorial/WhatIsTicketMonster/
  11. Using OpenShift 3 on your local environment: https://blog.openshift.com/using-openshift-3-on-your-local-environment/
  12. The Red Hat Ecosystem (with OpenShift) for Microservice & Container Development: http://rhelblog.redhat.com/2016/02/23/the-red-hat-ecosystem-for-microservice-and-container-development/
  13. Day 13 -- Dropwizard — The Awesome Java REST Server Stack: https://blog.openshift.com/day-13-dropwizard-the-awesome-java-rest-server-stack/
  14. How to "enable SCL" in PodTemplate with Maven & NodeJS?: https://github.com/openshift/jenkins/issues/582
  15. OpenShift quick start -- Build, Deployment, Pipeline: https://dzone.com/articles/openshift-quick-start-build-deployment-and-pipelin
  16. Deploying Java EE Microservices on OpenShift: https://dzone.com/articles/deploying-java-ee-microservices-on-openshift
  17. 4 Ways to Build Applications in OpenShift : https://dzone.com/articles/4-ways-to-build-applications-in-openshift-1
  18. Google App Engine for Java, Part 1 - Rev it up!: http://www.ibm.com/developerworks/java/library/j-gaej1/
  19. Google App Engine for Java, Part 2 - Building the killer app: http://www.ibm.com/developerworks/java/library/j-gaej2/
  20. Google App Engine for Java, Part 3 - Persistence and relationships: http://www.ibm.com/developerworks/java/library/j-gaej3/
  21. Install Google App Engine on Ubuntu 12.10: http://cloud.dzone.com/articles/install-google-app-engine
  22. Compare Google App Engine (WebApp hosting/server) .vs. Google Cloud Platform (container-based full OS): https://comparisons.financesonline.com/google-app-engine-vs-google-cloud-platform
  23. Microsoft needs to stop scamming MSDN Subscribers with Azure: http://social.msdn.microsoft.com/Forums/en-ZW/windowsazurepurchasing/thread/0edca3f0-874e-4e53-ae86-7ba2740a277c?prof=required
  24. How much is Microsoft making from Azure?: http://www.zdnet.com/article/how-much-is-microsoft-making-from-azure/
  25. Internet Information Services (IIS) 7.0 installation for working with Windows Azure: http://msdn.microsoft.com/en-us/library/hh403991.aspx#IIS
  26. Microsoft Azure tutorials -- (Cross-Platform) Rock, Paper, Scissors, Lizard, Spock game example: https://docs.microsoft.com/en-us/samples/microsoft/rockpaperscissorslizardspock/azure-rock-paper-scissors/
  27. Microsoft Azure tutorials -- Choose the right Azure service for deploying your Java application: https://docs.microsoft.com/en-us/learn/modules/java-target-destinations/
  28. Microsoft Azure tutorials -- Deploy a Spring app to App Service with MySQL: https://docs.microsoft.com/en-us/azure/developer/java/spring-framework/spring-app-service-e2e?tabs=bash
  29. Using XML Policies to Log and Analyze API Calls from Azure API Management: https://dzone.com/articles/how-log-and-analyze-api-calls-from-azure-api-manag
  30. About iCloud: http://www.apple.com/icloud/
  31. IBM is a leader in cloud open standards: http://www.ibm.com/cloud-computing/us/en/open-standards.html
  32. IBM's open cloud architecture: http://www.ibm.com/developerworks/cloud/library/cl-open-architecture/
  33. Salesforce for HR aims to be front end of employee engagement: http://www.zdnet.com/article/salesforce-a-play-for-hr-aims-to-be-front-end-of-employee-engagement/
  34. Salesforce Makes Hard Push Into Human Resources With New Platform: http://techcrunch.com/2015/04/23/salesforces-new-hr-platform-could-be-part-of-wider-enterprise-expansion/
  35. Getting Started on Heroku with Java: https://devcenter.heroku.com/articles/getting-started-with-java#deploy-the-app
  36. Deploying Tomcat-based Java Web Applications with Webapp Runner: https://devcenter.heroku.com/articles/java-webapp-runner#configure-maven-to-download-webapp-runner
  37. Why am I seeing "Couldn't find that process type" when trying to scale dynos?: https://help.heroku.com/W23OAFGK/why-am-i-seeing-couldn-t-find-that-process-type-when-trying-to-scale-dynos
  38. Deploying with GIT on Heroku: https://devcenter.heroku.com/articles/git
  39. GitHub Integration (Heroku GitHub Deploys): https://devcenter.heroku.com/articles/github-integration
  40. Automating a conference submission workflow - deploying to production (on Heroku): https://blog.frankel.ch/automating-conference-submission-workflow/3/
  41. How to Create Review Apps on Heroku (using "AutoIdle Heroku add-on" show how to cut down on monthly costs): https://dzone.com/articles/how-to-create-review-apps-on-heroku
  42. Microsoft renames SkyDrive to OneDrive: https://www.pcworld.com/article/2091412/microsoft-renames-skydrive-to-onedrive.html
  43. What Happened When I Told Marie Kondo I Have a Better, Higher-Tech Method of Tidying Up: https://getpocket.com/explore/item/what-happened-when-i-told-marie-kondo-i-have-a-better-higher-tech-method-of-tidying-up?utm_source=pocket-newtab
  44. Ubuntu promises DIY Amazon cloud: http://www.theregister.co.uk/2009/03/25/ubuntu_amazon_cloud/
  45. Why Microsoft should fear Ubuntu’s cloud efforts: http://www.ubuntu-news.net/2009/02/23/why-microsoft-should-fear-ubuntus-cloud-efforts/
  46. Comparing Public, Private, and Hybrid Cloud Computing Options: http://www.dummies.com/how-to/content/comparing-public-private-and-hybrid-cloud-computin.html
  47. Public vs. Private Cloud - Best of Both Worlds a Reality?: http://www.wired.com/insights/2012/11/public-vs-private-cloud-best-of-both-worlds-a-reality/
  48. Microsoft "Sustainability Calculator" helps enterprises analyze the carbon emissions of their "Cloud" IT infrastructure: https://azure.microsoft.com/en-gb/blog/microsoft-sustainability-calculator-helps-enterprises-analyze-the-carbon-emissions-of-their-it-infrastructure/
  49. New ​Linux Foundation's guide to the open-source cloud: http://www.zdnet.com/article/new-linux-foundations-guide-to-the-open-cloud/
  50. National Institute of Standards and Technology, (NIST) Information Technology Laboratory has published an updated version of their Working Definition of Cloud Computing: http://csrc.nist.gov/groups/SNS/cloud-computing/index.html
  51. Oracle's Ellison nails cloud computing": http://news.cnet.com/8301-13953_3-10052188-80.html

See Also

VM | CDN | SOA | SaaS | PaaS | IaaS | Energy