The advent of cloud computing has changed the way applications are being built, deployed and hosted. One important development in recent years has been the emergence of DevOps — a discipline at the crossroads between application development and system administration.
Empowered developers have been given a wide new set of tools to enable:
- Application lifecycle management with continuous integration software like Jenkins, Travis CI, CircleCI, and CodeShip;
- Server provisioning with software and metadata using configuration management tools like Chef, Puppet, Salt, and Ansible;
- Hosting applications in the cloud, whether they use an IaaS provider like Amazon Web Services, Google Compute Engine, or Digital Ocean, or a PaaS solution like Heroku, Google App Engine, or any technology-specific offering.
The nature of the IT industry is one of constantly emerging and refining processes and trends. One of these trends that has taken the IT world by storm is the emergence of DevOps. As more and more groups adopt DevOps organizational strata, understanding this new structure is key to keeping fresh and innovative. Read more
Software development these days is about iterating fast, and releasing often. In the 10 years since Martin Fowler wrote his original paper, continuous integration has become a cornerstone of the software development process. It is a fundamental part of Agile development (being one of the core tenants of Extreme Programming) and has helped to spawn organizational change with the creation of the DevOps approach to application development. Read more
In this two part series we explore Play Framework, and see how it can be used for rapidly developing RESTful APIs. In part one, we introduce Play, covering the main design decisions behind its architecture and potential reasons for choosing this framework over others. Read more
In the API realm, one of the most rewarding practices a developer can undertake is to unify their system functionality. Having disparate updates, library versioning, and documentation can harm the user through confusion and obsolescence, can harm the provider with rough updates, and can harm the API itself through low adoption and retention rates. Read more