Content in the Software Architecture Category
Michael Feathers overviews a number of patterns he has seen in various projects which provide a good indication that major changes are to be undertaken in the system’s future.
A presentation of Akka, a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM. The content is applicable for Java and Scala programmers.
Much has been made of the need to establish software architectures to provide the firm foundations on which successful products are constructed, but if a product is successful over the long term its architecture will not only need to evolve, but must be actively defended against malignant forces. The fact that software architectures tend to outlive the tenure of developers, architects, management teams and even companies makes the maintenance of software architectures over the long term crucial for the ability of products to deliver ongoing value.
No longer are servers the exclusive holder of smarts, and clients dumb terminals. Modern application leverage the strengths of both the client and server to accomplish their tasks. No longer can a client side developer ignore the server, nor a server side developer ignore the client.
After only two years, OpenStack has become the de-facto standard open source cloud computing platform and is the fastest growing open source project in history. With over 5,000 members from over 850 different organizations in over 80 countries supporting over 500 active developers that have contributed over 500,000 lines of code, OpenStack is the foundation of numerous products and services.
The cause of programmatic pulchritude has been championed by many over the last forty years, from the Literate Programming boomlet of the seventies, the Architecture craze of the eighties, the Patterns Movement of the nineties, and even the burgeoning Software Crafts movement of the current decade, alas, to little apparent effect. Because, for all our aspirations to the contrary, the de-facto standard software architecture remains, alas, the ubiquitous and enduring “Big Ball of Mud” school of design.
Learn how to make your Zend Framework 2 application fly using ESI (Edge Side Includes) and Varnish web application accelerator. In today’s web applications, personalized sections and data that is frequently updated mean full-page caching is rarely an option. Using ESI and Varnish, we will cache a generic site layout for as long as possible, and have it request personal data and frequently updated data in separate requests. This will result in much better perceived performance and much less load on application servers.
Software application development, especially for social, challenges us to evaluate how to code for the complexity of modern life. Examples include the growing range of labels people ascribe to their important relationships, sexual orientation, and gender. Users are giving push-back to questions that carry ill-fitted assumptions or constrain their responses.
Service Oriented Architecture (SOA) is hard. Learn how Square is approaching this problem today with JRuby and where we hope to be in the future. We’ll go from git init to cap deploy, covering Square’s approach to testing and service isolation, dependency management, API documentation, code quality metrics, data seeding, schema versioning, logging, exception handling, security and password management, deployment and more.