Hands-on with Heroku
My experience with the World Wide Web (www) started in the 90’s. Websites in those days were pushing the limits of technology if they had an embedded video player, maybe a Flash component, or blinking text. Capabilities between desktop software and the web were vastly different, and the web didn’t have the ability to address enterprise level requirements like security, bandwidth, storage and other issues involving scalability. It’s been 19 years since Google popped up in our browsers, and thanks to new advances in high speed Internet access, browser technology, server technology and the invention of IaaS (Infrastructure as a Service), PaaS (Platform as a Service) and SaaS (Software as a Service), enterprise business over the web isn’t just a possibility, it’s quickly becoming the standard.
The laaS Option
IaaS, PaaS and SaaS are more than just fun words to say; they’re major innovations in browser based technology. Back in the 90’s, if you wanted to create a browser based solution, you had to have a “full stack” infrastructure involving networking, storage, servers, server virtualization, your O/S, middleware, runtime environment, data, and finally your application. Not only did these require expensive hardware, they required expensive professionals to manage these components.
Enter Amazon Web Services (AWS) in the spring of 2006. “Cloud Computing” was (and still is) the new buzz around Silicon Valley and AWS quickly became a major innovator in the area of the “elastic cloud” and IaaS (Infrastructure as a Service). This was huge, because it enabled small, lean startups to utilize the power of an enterprise infrastructure (networking, storage, servers and virtualization) for the minimal cost of the resources used. This paved the way for further services being ran on top of IaaS, like PaaS (Heroku) and SaaS (Salesforce), which make the barrier of entry to the marketplace even lower.
Heroku, the path to PaaS
If you didn’t pick it up from the last paragraph, Heroku is actually run on AWS. As a result it takes away another layer of complexity and other barriers of entry for those who’d like to compete in the world of App development. Not only does a PaaS take care of everything IaaS does, but it also takes the burden of your O/S, middleweare and runtime off your hands (O/S meaning Windows or Linux, “Middleware” meaning software that helps to connect to other software, and “Runtime”, meaning modules like the Java Runtime Environment that interpret Java programs).
Developers, developer, developers: let’s say you have a hybrid mobile iOS App. that you’d like to develop, which needs to use Salesforce as it’s back- end and Heroku as it’s application server. You’d place your application logic in what are called “dynos”, which are like App containers to scale your system. Heroku has built in middleware to connect an instance of postgreSQL to your Salesforce instance for the ability to seamlessly sync your App database with your Salesforce data. The only things you have to worry about are managing your App and your data.
Salesforce is SaaS-y
We’ve talked about IaaS and PaaS, so what is SaaS? Software as a Service takes away those last two areas of complexity (your application and data) for a completely seamless and managed environment. Salesforce is on the leading edge of technology for enabling users to develop complex applications without having to know how to code.
What Environment is Best For Us?
It really depends on the amount of customization you’d need for your application. If you need a completely custom and flexible environment, Salesforce probably wouldn’t be for you. You’d spend all of your savings from not dealing with the stack on attempting to hack at the platform. On the other hand, if you have an App and need to get it to market ASAP and don’t have a team of people behind you, Salesforce would probably be your best solution because of the ability to quickly deploy a data source and integrate it with one of the many out-of-the-box assets Saleforce gives you access to.
Whether you need a laaS, PaaS, or SaaS, Idealist Consulting specializes in helping people decide which integration best fits their needs.