Brian Smith
OPI (Other People's Infrastructure)
Summarized using AI

OPI (Other People's Infrastructure)

by Brian Smith

In this presentation on Other People's Infrastructure (OPI), Brian Smith, a coder at Dialexa, discusses how leveraging hosted services can streamline business operations in today's tech landscape. Emphasizing the importance of focusing on application development rather than infrastructure management, Brian compares two contrasting scenarios: one where a developer uses OPI and enjoys a stress-free lifestyle, versus another who struggles with the complexities of self-managed infrastructure.

Key points discussed include:

- Definition of OPM and OPI: OPM (Other People's Money) helps minimize financial risk in business, while OPI allows developers to focus on building apps without worrying about server management.
- Hands-off approach: Using services like Heroku, developers can deploy applications without managing every detail, allowing them to concentrate on growth and improvements.
- Alternatives to Heroku: Engine Yard offers more control through semi-managed services, and Cloud Foundry supports open-source solutions for diverse backend deployments.
- Database management: By leveraging managed services such as Amazon RDS or FathomDB, developers can avoid the complexities of database scaling while ensuring reliability.
- Scalability and Support: Services for NoSQL databases (like MongoHQ) and alternatives for email management (like SendGrid) help streamline operational tasks, allowing developers to focus on their core competencies.
- Cost considerations: Evaluating pricing models is essential as hosted services may vary; some may let you run installations on inexpensive VPS for cost efficiency.
- Content processing: Solutions like Zencoder and Transloadit help handle video and image processing without overwhelming infrastructure management.
- Real-time notifications: Technologies such as Pusher provide effective real-time capabilities without the need for complex server setups.

Brian concludes with a reminder that utilizing hosted services can enhance operational efficiency, permitting businesses to focus on application innovation and growth. Selecting the right partners and understanding the implications of service choices is crucial for long-term success in the ever-evolving tech environment. By doing so, businesses can scale effectively without overburdening their teams with infrastructure management tasks.

00:00:20.640 Hello everyone, I'm here to talk today about Other People's Infrastructure. My name is Brian, and I'm a coder working at Dialexa, a high-tech consulting firm. We do all kinds of things, from embedded hardware development to telecom integration. I'm a polyglot by nature so I dabble in various technologies. Most people have probably heard of OPM if they have any interest in business. OPM stands for Other People's Money, a term commonly used in the business world which emphasizes minimizing your risk by using someone else's funds instead of your own.
00:00:48.160 What I'm here to discuss is OPI. The concept behind OPI is that nowadays there are so many hosted services available that you really don't have to focus on your own infrastructure anymore. You can center your attention entirely on building your app, iterating, and focusing on what truly matters for your business. It really doesn't matter how your web server stays operational; all that matters is that it stays up.
00:01:06.720 Let me illustrate this with two contrasting scenarios. The first is a person who embraces Other People's Infrastructure. This individual has plenty of time; he can relax in a hammock, enjoy some drinks, go scuba diving, or go parasailing, all while having a gourmet meal with good companionship. In contrast, consider the second type of person: someone who manages all of his own stuff. Over time, this person evolves into someone who simply copes with whatever he can, often leading to stale pizza meals and consuming enough energy drinks to function.
00:01:40.799 The result? He finds himself burned out, exhausted at his desk at 3 AM, trying to figure out why his server went down, with customers who do not look happy about the situation. You might say, 'Well, I know how to set up monitoring tools and I have a fair bit of control over the situation,' but my question is: why would you do that?
00:02:13.840 I’m going to cover what's out there, discussing some pros and cons, why you should or shouldn't use various services, and when it’s appropriate to do so. The first option I'll discuss is a hands-off approach, where you essentially throw your application up there and just let it be. You aren’t managing anything; instead, you’re focused solely on making your application as amazing as possible, improving customer acquisition, and driving growth.
00:02:51.760 A well-known example of this paradigm is Heroku. They were pioneers in the space and have inspired many clones. Users can build their app, deploy it, and let it run seamlessly. When it’s time to scale, there’s even an iPhone app that allows you to manage your dynos on the go, no need to be tied to your computer. You could be relaxing in a hammock, watching your Google stats, and decide to spin up another dyno just like that.
00:03:40.799 Engine Yard has evolved from self-hosted setups to a more semi-managed service where you can deploy code via Git, but you still have access to the server level, unlike Heroku. Many people might feel restricted by what they can do with Heroku and may prefer Engine Yard for this reason.
00:04:03.360 A newer contender in this space is Cloud Foundry, led by Ezra Mobius, who advocates open source solutions. I haven't personally had a chance to use it yet, but it's well-regarded and looks interesting. You can deploy your applications and it supports a variety of backends, though I’m still not completely clear on the specifics.
00:04:40.800 As we dive deeper, I want to emphasize something. If you’re hosting your own database, you might want to reconsider that strategy. I personally wouldn’t want to learn how to scale a database or be responsible for ensuring uptime. Instead, there are dedicated services like Amazon Web Services RDS that specialize in managing databases efficiently and reliably, which is one less thing for you to handle.
00:05:35.160 Moreover, while self-hosting a MySQL instance might seem cheaper upfront, using a managed service allows you to grow your capacity without the added overhead of database management. For instance, companies like FathomDB also offload your database needs with support for PostgreSQL as well.
00:06:20.560 Let’s not overlook NoSQL options. For instance, services like MongoHQ provide you with elastic scalability for MongoDB databases, allowing you to offload the complexities associated with managing such infrastructures. While there are also free plans available, I'd recommend avoiding those due to general instability. Paying for a more reliable plan can save you headaches down the line.
00:07:01.920 CouchDB is another easy-to-use option, similar to a Rails server, where you only need to post JSON to store data. There are services like Cloudant, Couchbase, and Iris Couch that offer CouchDB hosting solutions. While I have no personal experience with them, I've heard good things about their capabilities.
00:08:07.120 When it comes to email services, I strongly recommend using something to handle your email rather than configuring your mail server. Managing your email server can be overwhelming, especially with spam filters and deliverability issues. Third-party services like SendGrid handle all the complexity for you, allowing you to send emails without dealing with server configurations.
00:08:30.720 From SMS and telephony services, platforms like Twilio and Tropo allow you to set up automated phone systems. They're very cost-effective, charging you only around one cent per SMS and let you build functionalities like sending alerts or customer service responses seamlessly. The proliferation of hosted solutions for various services certainly marks an interesting trend in the tech world.
00:09:45.040 In discussing these offerings, I'm sure many of you realize the challenge with pricing. Hosted services can vary significantly and might even start at steep initial rates. Watching price changes month-to-month is common, and it can be hopeful that by delaying your decision, further price cuts might catch your favor.
00:10:31.760 Services like Redis are another area to watch: hosting costs can become exorbitant compared to the value offered. You might find that it’s easier to run your Redis installations on your own affordable VPS service. Should it come down to cost-efficiency, well-managed hosted services tend to become significant in scenarios where personalized support, rapid growth potential, and specific functionalities meet your needs.
00:12:00.240 When it comes to handling video content and processing, options like Zencoder or Encoding.com emerge as strong choices, offloading complicated video handling tasks through cost-effective, cloud-based services. Meanwhile, images can be processed through tools like Transloadit, which while still evolving in their pricing, demonstrate valuable utility.
00:12:37.600 Lastly, regarding functionalities like real-time notifications, services such as Pusher and Urban Airship provide hosted solutions for maintaining a real-time server stays up and running effortlessly while providing mobile notifications for in-app features. The idea is that focusing on specific functionalities rather than building them from scratch allows you to concentrate your time and energy on what’s vital.
00:13:39.200 As we consider all these myriad services, it's easy to envision how vast and diverse the hosted solutions landscape is. The advantageousness of hosted infrastructure revolves around your ability to enhance your operational efficiencies and hold significant focus on your application development rather than underlying infrastructure issues. The end goal is to equip yourself with tools that allow your application to interface seamlessly with users and scale rapidly as needed.
00:15:42.320 In closing, I want to emphasize that it is completely possible to relinquish managing all the intricate details of infrastructure while opting instead to leverage OPI. By doing so, the goal stays on what truly matters—shipping an application that engages with users in creative and practical ways. Serious consideration should go into selecting partners who can provide the support needed for your growth while minimizing risks and avoiding obstacles, focusing more on your business results and innovations.
00:17:21.360 I appreciate everybody's attention and thank you for your participation. Now I’d like to open the floor for possible questions about everything we've discussed today. It's important to be cautious about the services you choose, especially regarding SLAs, as these configurations dictate your operational boundaries and risk management approaches. Building a reliable communications channel with your users can also exponentially elevate their overall experience. By being proactive and often reaching out for clarity during technical challenges means risk can be navigated effectively.
00:18:54.160 Considering any tech stack utilized, what I've shared today is what I've gathered on the advantages of integrating hosted services within a tech startup, focusing on innovation without hindering growth. Balancing costs and time commitments ultimately determines the trajectory of your project, and as the environment evolves, the flexibility to adapt to changing needs becomes paramount for long-term success.
00:21:12.160 Do remember: embarking on infrastructure management exclusively can be overwhelming unless you have the necessary support. Utilize what’s available while ensuring your tech partner provides adequate customer care and reliability should unforeseen circumstances arise. This way, you can focus on scaling your business smoothly as you build the variable complexities that arise with technological advancements.
00:21:54.799 In summary, the emphasis should remain rooted not just in mitigating frustration or challenges that arise but also tasking experts who dedicate themselves to ensuring the boxes remain checked along the technological journey you embark upon. The collaborative approach is vital and it sets the stage for ensuring each section, from development to deployment remains optimal in its delivery, fostering a flourishing development ecosystem as you continue on your path.
00:23:35.360 Thank you once again for your time today. Let me know if there are any follow-up questions or concerns you might have about the integration of advanced hosted services into your development strategies.
Explore all talks recorded at LoneStarRuby Conf 2011
+15