* Learn to write responsive code that can be deployed on any device.
* Become a well-rounded developer and be able to understand the entire development cycle.
* Learn to utilize free open source and cloud services to deploy production-grade code.
The 5th edition of this popular book has been fully updated for PHP 7, including replacing the PEAR package manager with Composer, and new material on Vagrant and PHP standards. It provides a solid grounding in PHP's support for objects, it builds on this foundation to instill core principles of software more » design and then covers the tools and practices needed to develop, test and deploy robust code.
PHP Objects, Patterns, and Practicebegins by covering PHP's object-oriented features. It introduces key topics including class declaration, inheritance, reflection and much more.
The next section is devoted to design patterns. It explains the principles that make patterns powerful. The book covers many of the classic design patterns and includes chapters on enterprise and database patterns.
The last segment of the book covers the tools and practices that can help turn great code into a successful project. The section shows how to manage multiple developers and releases with git, how to manage builds and dependencies with Composer. It also explores strategies for automated testing and continuous integration.Taken together these three elements: object fundamentals, design principles, and best practice will help the reader develop elegant and rock solid systems.
PHP Objects, Patterns, and Practice:
* Describes and demonstrates PHP's built-in object-oriented features
* Breaks down the principles of object-oriented design, explaining key design patterns using practical examples.
* Discusses the tools and practices necessary for developing, testing and deploying exemplary applications.
What You'll Learn:
* How to work with object fundamentals: writing classes and methods, instantiating objects, creating powerful class hierarchies using inheritance.
* Master advanced object-oriented features, including static methods and properties, managing error conditions with exceptions, and creating abstract classes and interfaces.
* Learn about the new object-oriented features introduced by PHP 7 and why they matter for your code.
* Understand and use design principles to deploy objects and classes effectively in your projects.
* Learn about design patterns, their purpose, structure and the underlying principles that govern them. Discover a set of powerful patterns that you can deploy in your own projects.
* Learn about the tools and practices that can guarantee a successful project including unit testing; version control, build, installation and package management; and continuous integration.
Who This Book is For:
This book is suitable for anyone with at least a basic knowledge of PHP who wants to use its object-oriented features in their projects.
Those who already know their interfaces from their abstracts may well still find it hard to use these features in their systems. They will benefit from the book's emphasis on design. They will learn how to choose and combine the participants of a system; how to read design patterns and how to use them in their code.
Finally this book is for PHP coders who want to learn about the practices and tools (version control, testing, continuous integration, etc) that can make projects safe, elegant and stable. « less
Harness the power of DevOps to boost your skill set and make your IT organization perform better
* Get to know the background of DevOps so you understand the collaboration between different aspects of an IT organization and a software developer
* Improve your organization's performance to ensure smooth production of software and services
* Deploy top-quality software and ensure software more » maintenance and release management with this practical guide
DevOps is a practical field that focuses on delivering business value as efficiently as possible. DevOps encompasses all the flows from code through testing environments to production environments. It stresses the cooperation between different roles, and how they can work together more closely, as the roots of the word imply―Development and Operations.
After a quick refresher to DevOps and continuous delivery, we quickly move on to looking at how DevOps affects architecture. You'll create a sample enterprise Java application that you'll continue to work with through the remaining chapters. Following this, we explore various code storage and build server options. You will then learn how to perform code testing with a few tools and deploy your test successfully. Next, you will learn how to monitor code for any anomalies and make sure it's running properly. Finally, you will discover how to handle logs and keep track of the issues that affect processes
WHAT YOU WILL LEARN
* Appreciate the merits of DevOps and continuous delivery and see how DevOps supports the agile process
* Understand how all the systems fit together to form a larger whole
* Set up and familiarize yourself with all the tools you need to be efficient with DevOps
* Design an application that is suitable for continuous deployment systems with Devops in mind
* Store and manage your code effectively using different options such as Git, Gerrit, and Gitlab
* Configure a job to build a sample CRUD application
* Test the code using automated regression testing with Jenkins Selenium
* Deploy your code using tools such as Puppet, Ansible, Palletops, Chef, and Vagrant
* Monitor the health of your code with Nagios, Munin, and Graphite
* Explore the workings of Trac―a tool used for issue tracking
ABOUT THE AUTHOR
Joakim Verona is a consultant with a specialty in Continuous Delivery and DevOps. He has worked with all aspects of systems development since 1994. He has actively contributed as the lead implementer of complex multilayered systems such as web systems, multimedia systems, and mixed software/hardware systems. His wide-ranging technical interests led him to the emerging field of DevOps in 2004, where he has stayed ever since.
Joakim completed his masters in computer science at Linkoping Institute of Technology. He has also worked as a consultant in a wide range of assignments in various industries, such as banking and finance, telecom, industrial engineering, press and publishing, and game development. He is also interested in the Agile field and is a certified Scrum master, Scrum product owner, and Java professional.
TABLE OF CONTENTS
1. Introduction to DevOps and Continuous Delivery
2. A View from Orbit
3. How DevOps Affects Architecture
4. Everything is Code
5. Building the Code
6. Testing the Code
7. Deploying the Code
8. Monitoring the Code
9. Issue Tracking
10. The Internet of Things and DevOps « less
Pro Vagrant teaches you how to effectively implement and optimize Vagrant in your everyday work environment. Master the creation and configuration of virtual development environments with an easy-to-use workflow, and focus on automation. Vagrant lowers development environment setup time, increases development/production more » parity, and makes the "works on my machine" excuse a relic of the past.
DevOps is mainstream best practice nowadays, and Vagrant sits firmly in the DevOps toolkit. This book will take you from basic usage and getting started, to provisioning with Shell, Puppet, and Chef. You will see how to use Vagrant in real-life scenarios, so that you can start to use Vagrant day-to-day in your work.
Author Wodimierz Gajda is a Vagrant expert and now brings his experience to you in Pro Vagrant. This is an indispensable book for anyone using Vagrant - add it to your library today.
**** What you’ll learn ****
* Get started with Vagrant, basic usage
* Provisioning with Shell, Puppet, and Chef
* How to use Vagrant in real-life scenarios
**** Who this book is for ****
This book is for anyone wishing to implement Vagrant as a DevOps tool, to master the creation and configuration of virtual development environments with an easy-to-use workflow, and focus on automation.
**** Table of Contents ****
1. Getting Started with Vagrant
2. Four Web Frameworks in Four Minutes
3. The States of VM
4. Default Configuration and Security Settings of the Guest VM
5. Your First Box
7. Creating Boxes from Scratch
8. Configuring virtual machines
9. One true workflow
10. Going Pro « less
Using the CloudStack Ecosystem
Planning to deploy and maintain a public, private, or hybrid cloud service? This cookbook's handy how-to recipes help you quickly learn and install Apache CloudStack, along with several API clients, API wrappers, data architectures, and configuration management technologies that work as part of CloudStack's more » ecosystem.
You'll learn how to use Vagrant, Ansible, Chef, Fluentd, Libcloud, and several other open source tools that let you build and operate CloudStack better and faster. If you're an experienced programmer, system administrator, or DevOps practitioner familiar with bash, Git, package management, and some Python, you're ready to go. « less
Create and manage virtual development environments with Puppet, Chef, and VirtualBox using Vagrant
Vagrant is a tool for building complete development environments. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases development / production parity, and makes the "it works on my machine" excuse a thing of the past.
"Creating Development more » Environments with Vagrant" is a practical, hands-on guide that walks you through the functionality of Vagrant, Puppet, and Chef to create powerful and flexible virtual development environments. Create your own virtualization environments containing configurations for different projects so that you can simulate complicated environments that can be easily shared with colleagues to get your projects up and running quickly and effortlessly. « less
Learn how to test web applications using Apache JMeter with practical, hands-on examples
If you want to use JMeter for performance testing your software products, this book is a great starting point. You'll get a great grounding in all the fundamentals and gain a wealth of new skills along the way.
* Create realistic and maintainable scripts for web applications
* Use various more » JMeter components to achieve testing goals
* Removal of unnecessary errors and code compilation
* Acquire skills that will enable you to leverage the cloud for distributed testing
* Effectively monitor server resources during performance testing
* Extend JMeter functionality by installing plugins
Performance testing with JMeter 2.9 is critical to the success of any software product launch and continued scalability. Irrespective of the size of the application’s user base, it’s vital to deliver the best user experience to consumers. Apache JMeter is an excellent testing tool that provides an insight into how applications might behave under load enabling organizations to focus on making adequate preparations.
Performance Testing with JMeter 2.9 is a practical, hands-on guide that equips you with all the essential skills needed to effectively use JMeter to test web applications using a number of clear and practical step-by-step guides. It allows you take full advantage of the real power behind Apache JMeter, quickly taking you from novice to master.
Performance Testing with JMeter 2.9 begins with the fundamentals of performance testing and gets you acquainted with JMeter. It will guide you through recording realistic and maintainable scripts.
You will acquire new skills working with tools such as Vagrant, Puppet, and AWS, allowing you to leverage the cloud to aid in distributed testing. You will learn how to do some BeanShell scripting and take advantage of regular expressions, JMeter properties, and extension points to build comprehensive and robust test suites. Also, you will learn how to test RESTful web services, deal with XML, JSON, file downloads/uploads, and much more. Topics like resource monitoring, distributed testing, managing sessions, and extending JMeter are also covered.
Performance Testing with JMeter 2.9 will teach you all you need to know to take full advantage of JMeter for testing web applications, dazzle your co-workers, and impress your boss! You will go from novice to pro in no time.
What you will learn from this book
* Set up and prepare Apache JMeter for testing
* Record test scenarios or create them from scratch
* Test RESTful web services
* Effectively monitor resources during a performance test
* Maintain and manage user sessions
* Distributed testing using Vagrant, Puppet, and AWS
* Extend JMeter functionality through plugins
* Understand and effectively use JMeter components to achieve testing needs
* Build realistic, comprehensive, and maintainable test plans
* Capture form submissions and appropriate handle server responses
Performance Testing With JMeter 2.9 is a standard tutorial that will help you polish your fundamentals, guide you through various advanced topics, and along the process help you learn new tools and skills.
Who this book is written for
This book is for developers, quality assurance engineers, testers, and test managers new to Apache JMeter, or those who are looking to get a good grounding in how to effectively use and become proficient with it. No prior testing experience is required. « less
Automate, Deploy, Scale, Maintain, and Sleep at Night
Deploying Rails takes you on a expertly guided tour of the current best practices in Rails deployment and management. You'll find in-depth explanations on effectively running a Rails app by leveraging popular open source tools such as Puppet, Capistrano, and Vagrant. Then you'll go beyond deployment more » and learn how to use Ganglia and Nagios to monitor your application's health and gather metrics so you can head off problems before they happen.
Whether you're a Rails developer who wants a better understanding of the needs of a production Rails system, if you're a system administrator who wants to manage a Rails application, or if you're bridging the gap between development and operations, this book will be your roadmap to successful production deployment and maintenance, whether your application has ten users or ten million users. « less
Deliver Scalable Web Apps using the JVM
JRuby deployments have fewer moving parts and consume less memory than traditional Ruby deployments, but to deploy your apps on the JVM, you need to learn some new approaches. This book introduces you to three JRuby deployment strategies that will give you the performance and scalability you need while more » letting you use the language you love.
You'll start by porting an existing application to JRuby, preparing the app to take advantage of the JVM platform. Then you'll use Vagrant and Puppet to build a virtual production environment so you have a stable, reproducible place to explore JRuby deployment. « less
Prepare your server for hosting multiple sites. Configure and install several sites on one instance of Drupal. Manage and share themes and modules across the multi-site configuration. Rapidly build a multi-site testing environment with VirtualBox and Vagrant. Extend the core multi-site configuration more » with add-on module. « less