One of the current trends in computing is the emergence of DevOps – a set of approaches that combines elements of software development and IT operations. This means that software engineers are becoming increasingly involved in the nitty-gritty of building and maintaining infrastructure while system administrators are playing a more direct role in developing apps.
While there are plenty of IT professionals who possess both the skills and passion for working in DevOps, this may not apply to everyone. From a developer’s perspective, building apps is much more enjoyable than building infrastructure while the opposite is probably true for sysadmins. Keep in mind that most developers and sysadmins primarily have expertise in one area and are thus less adept in the other.
Ross Mason is the CTO and Founder of MuleSoft. He founded the open source Mule® project in 2003. Ross has been named in InformationWeek’s Top 10 Innovators & Influencers and InfoWorld’s Top 25 CTOs
Developers, however, cannot entirely avoid the “Ops” in DevOps. Fortunately, there is a growing number of cloud services that take the burden out of setting up infrastructure, allowing developers to focus on building apps and to get them up and running more quickly.
To go from DevOps to NoOps, here are 10 infrastructure cloud services developers should consider using:
10. Xeround is a database as a service that can be utilized in place of MySQL. Other similar infrastructure services include Amazon RDS, Rackspace and Heroku. The service is fully managed and provides auto scaling, high availability, and built-in management tools. Xeround also offers an API that supports both REST and SOAP for provisioning and controlling DB instances and makes the service scriptable.
9. Amazon S3, which stands for Amazon Simple Storage Service, is a file system service offered by Amazon Web Services. Amazon S3 features a simple API for storing large and small files and supports REST, SOAP and BitTorrent. The service is especially useful since many apps need file storage and Amazon S3 lets you store unlimited data. Alternative services include Rackspace Cloud Files and CloudLayer Storage, but the advantage of using Amazon S3 is that you can leverage the Amazon global network and CDN support.
8. Loggly offers logging as a service. It supports log management and allows users to easily search and navigate log data. With a RESTful API and Syslog for data collection, Loggly is easy to set up and provides a centralized view of application logs–this means no more SSH-ing to different boxes and tailing logs. Loggly also provides analytics as standard feature for measuring app performance. Splunk provides a similar logging service.
7. SendGrid provides email as a service, allowing users to replace existing email infrastructure. It works like normal email, but is much better, supporting bulk email, delivery management and analytics. Set up takes minutes and you don’t need to run an email server. SendGrid’s API supports both REST and SMTP. The service also offers a a web hooks Event API. Similar email infrastructure services are provided by Postmark.
6. MongoHQ is the cloud-based hosted version of MongoDB. The great thing about MongoHQ is that you can set up an account and add a database in seconds and then continue writing your application. MongoHQ is fully managed and features high availability, auto scaling, as well as built-in management tools. It is also code compatible with MongoDB and offers a MongoDB client API. You can find similar database services from Couchbase.
5. Airbrake provides error management as a service, collecting errors generated by other applications and aggregating the results for review. With Airbrake, you can see and track errors in real-time, allowing you to fix them quickly. This is an interesting approach to error management since there is no need to hit the logs. Airbrake’s API supports REST. To date, Airbrake is the only error management service of its kind.
4. Katasoft is at the forefront of application security as a service, supporting user account management, authentication and access control over your applications. Since every application requires user security, this services reduces the infrastructure burden, making it possible to avoid rolling the same code over and over. Katasoft provides a RESTful API and is currently in private beta.
3. PubNub offers publish/subscribe messaging as a service and supports real-time, global messaging for cloud and mobile apps. Pusher and Amazon SNS (Simple Notification Service) provide similar services, but PubNub is amazingly quick, getting as close to real-time as the web gets, and is very inexpensive, even for millions of messages. Developers can leverage the PubNub REST API, which is an asynchronous, streaming API.
2. Dropbox has become a widely used file-sharing service, enabling users to share files between various devices, friends and co-workers. Dropbox is great for delivering content and integrating mobile devices with desktop and web applications. The service handles all synchronization issues and just about everyone uses it now. Alternative services include Box.net, SpiderOak, Wuala.
1. Twilio provides telecommunications as a service, enabling users to build text/SMS and voice applications easily. These kinds of apps are typically difficult to build, but Twilio changes that. For instance, you can easily integrate text/SMS to alert, update and conform users or create voice access to data residing in an app, such as an account balance. Besides Twilio, Tropo also provides telecommunications as a service.
Cloud photos by Karin Dalziel and Anaa Yoo