programming4us
programming4us
ENTERPRISE

Simplifying Deployment On The Cloud With Heroku

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019

Many developers assume cloud deployment to be tedious, costly, insecure and even sometimes unreliable. However, with the advent of platforms like Heroku, deployment on the cloud is being widely adopted and it is empowering a large number of developers. Let us dive into Heroku and its offerings.

Heroku is a PaaS (Platform as a Service) cloud infrastructure service. Wikipedia defines the Platform as a Service (PaaS) model as a “…category of service models that provide a computing platform and a solution stack as a service”. Simply put, a PaaS offering facilitates application deployment without the need to administer the underlying software and hardware stack. Developers can focus their energies on building applications, which matters most.

There are tons of cloud players competing for developer attention, yet Heroku stands out from the herd. Instead of users purchasing virtualized server instances and managing software installations on them, the Heroku approach is different and innovative – code is pushed into a Git (a distributed version control system) repository, which is then instantly deployed.

There are tons of cloud players competing for developer attention, yet Heroku stands out from the herd.

There are tons of cloud players competing for developer attention, yet Heroku stands out from the herd.

With Heroku, hackers get the flexibility of writing applications in the language of their choice, while using the most appropriate database back-end, and flexibly adding the software and hardware infrastructure resources they require. Heroku also subtly pushes developers to follow recommended software development practices such as using version control, isolating dependencies, storing application configurations in environment variables and scaling via concurrency (parallel utilization of multiple hardware instances). Personally, as a developer, Heroku is my first choice for work or hobby projects; here are some of the reasons why.

1.    Ease and simplicity: For a stable, robust and scalable deployment, Heroku requires just a basic acquaintance with the platform’s terminologies, and a combination of core development and command-line skills.

2.    Trust: Heroku is built on Amazon Web Services, which is known for its excellent uptime and scalability. Also, Heroku’s parent company, Salesforce.com, is a trusted enterprise across the world.

3.    Community support and documentation: With an excellent community backing the platform, and rich detailed documentation for beginners, lots of developers are introduced to Heroku early in their career, and stay loyal to the platform.

4.    Its polyglot nature: Heroku supports a wide number of programming languages—the popular ones are Ruby, Python, Java, PHP and JavaScript. The comfort of sharing a single deployment platform for a variety of languages is much appreciated by many developers.

5.    Free basic usage: Every user-deployed application in the Heroku ecosystem has access to a free plan. We will discuss the pricing model soon.

A brief history lesson

Heroku had a humble beginning, graduating from the famous American start-up accelerator, Y Combination’s batch of 2008. Back then, the Ruby on Rails Web framework had started to gain traction, but lacked an easy-to-deploy platform. Heroku established itself as a popular choice among the Rails developer niche. Salesforce.com later acquired Heroku in December 2010. Slowly, support for a large number of languages and databases was added. Major tie-ups with Facebook to promote using Heroku for deploying applications and games further strengthened the platform. Heroku also enjoyed the limelight for employing respected developers such as Yukihiro Matsumoto, the creator of the Ruby programming language.

Dynos, stacks and add-ons

A dyno is a single instance of an application running on Heroku. Under the hood, a dyno is an Ubuntu server with a Quad Core Processor and 512 MB of RAM. Each dyno has an isolated chroot jail environment (implying restriction to a single directory, with no system files access). A dyno can run any type of service such as Web (serving HTTP requests), worker (asynchronous jobs) and scheduler (for scheduling capabilities like cron).

The flexibility of Heroku lies in scaling the number of dynos active at a certain point in time. All incoming HTTP requests are passed through a load balancer that routes them to multiple dynos, allowing an application to serve more users concurrently. Heroku’s architecture is sure to fascinate any scalability geek. Visit http:// www.heroku.com/how to delve deeper into the architecture.

The OS, along with language runtime and libraries, makes up a ‘Heroku stack’ that provides a software environment for the applications. Heroku currently uses an Ubuntu 10.04-based ‘Cedar’ stack, and an older Debian Lenny 5-based ‘Badious Bamboo’ stack. However, you cannot use the ‘Badious Bamboo’ for a new application. You can read more about the Heroku stacks at https://devcenter.heroku.com/articles/stack.

Heroku add-ons are great infrastructure services that simplify deployment. To name a few benefits, add-ons provide data stores, caching servers, searching infrastructure, media management and payment gateways. Like dynos, add-ons can be dynamically attached or removed. For the complete add-on list, visit: https://addons.heroku.com/.

Heroku add-ons are great infrastructure services that simplify deployment

Heroku add-ons are great infrastructure services that simplify deployment

Pricing

The Heroku pricing model takes a while to get used to. The cost is calculated on ‘wall-clock’ usage rather than CPU time, implying usage regardless of the traffic an application receives. Each application receives 750 free dyno-hours per month. Beyond that, a charge of $ 0.05 per hour is incurred per dyno.

To use an add-on, you need to verify your account first with credit card information. Every add-on has a different pricing model, and many come bundled with a limited free plan as well. To get a more concrete understanding of pricing, visit: https://devcenter.heroku.com/articles/usage-and-billing.

The Heroku workflow

Let us walk through the process of creating a Heroku account and deploying a project. Before you can proceed any further, you need to create an account at: https://api.heroku.com/signup. After signing up, install the Heroku tool-belt command-line utility available for all major platforms – visit https://toolbelt.heroku.com/ and follow those instructions. Next, log in with the Heroku command-line utility. You will be asked to enter the email address and password for the account:

mythlabs:testapp myth$ heroku login

Enter your Heroku credentials.

Email: [email protected]

Password (typing will be hidden):

Authentication successful.

The next step is to create an application on Heroku, as follows:

mythlabs:testapp myth$ heroku create

Creating infinite-reef-6034... done, stack is cedar

http://infinite-reef-6034.herokuapp.com/ | git@heroku.

com:infinite-reef-6034.git

If you do not specify a name for the application (as in the example above), Heroku comes up with a name for you. You may, however, want to specify a name when executing the create command. Finally, in the directory where the project’s Git repository resides, issue git push Heroku master to deploy your application. This is all you need to deploy your application on Heroku. As advertised earlier, Heroku does truly simplify deployment.

After signing up, install the Heroku tool-belt command-line utility available for all major platforms – visit https://toolbelt.heroku.com/ and follow those instructions

After signing up, install the Heroku tool-belt command-line utility available for all major platforms – visit https://toolbelt.heroku.com/ and follow those instructions

Final thoughts

Heroku is an amazing platform for hackers to quickly deploy scalable Web applications. I hope you have been intrigued by it. It is now time to build something cool and have some fun! Happy hacking!

Other  
 
Top 10
Free Mobile And Desktop Apps For Accessing Restricted Websites
MASERATI QUATTROPORTE; DIESEL : Lure of Italian limos
TOYOTA CAMRY 2; 2.5 : Camry now more comely
KIA SORENTO 2.2CRDi : Fuel-sipping slugger
How To Setup, Password Protect & Encrypt Wireless Internet Connection
Emulate And Run iPad Apps On Windows, Mac OS X & Linux With iPadian
Backup & Restore Game Progress From Any Game With SaveGameProgress
Generate A Facebook Timeline Cover Using A Free App
New App for Women ‘Remix’ Offers Fashion Advice & Style Tips
SG50 Ferrari F12berlinetta : Prancing Horse for Lion City's 50th
- Messages forwarded by Outlook rule go nowhere
- Create and Deploy Windows 7 Image
- How do I check to see if my exchange 2003 is an open relay? (not using a open relay tester tool online, but on the console)
- Creating and using an unencrypted cookie in ASP.NET
- Directories
- Poor Performance on Sharepoint 2010 Server
- SBS 2008 ~ The e-mail alias already exists...
- Public to Private IP - DNS Changes
- Send Email from Winform application
- How to create a .mdb file from ms sql server database.......
programming4us programming4us
programming4us
 
 
programming4us