Automation with Chef • Existing Automation Tools and Comparison with Chef
Total Page:16
File Type:pdf, Size:1020Kb
Free Sample In this package, you will find: The authors biography A preview chapter from the book, Chapter 1 'An Overview of Automation and Advent of Chef ' A synopsis of the book’s content More information on Learning Chef About the Authors Rishabh Sharma is currently working as a chief technology officer (CTO) at JOB Forward, Singapore ( ). JOB Forward was the first social recruiting platform in Singapore. Prior to working for JOB Forward, he worked for Wipro Technologies, Bangalore, as a solution delivery analyst. He was involved in the research projects of cloud computing, proof of concepts (PoC), infrastructure automation, big data solutions, and various giant customer projects related to cloud infrastructure and application migration. He completed his master's thesis from Jaypee Institute of Information Technology, Noida, in cloud computing and has in-depth knowledge of distributed systems and cloud computing research issues of the industry. In a short span of time, he has worked on various technologies and tools, such as Java/J2EE, SAP(ABAP), AWS, OpenStack, DevOps, big data, and Hadoop. He has authored four technical textbooks until now. He recently launched Cloud Computing: fundamentals, industry approach and trends, Wiley India publication, which is a comprehensive book on cloud computing and covers academic syllabi of all Indian universities. Before this, he has authored Advance Computing Technology for Gujarat Technical University (GTU) and Software Quality Engineering and Mobile Computing for Uttar Pradesh Technical University (UPTU). He has also authored many research papers in international journals and IEEE on a variety of issues related to cloud computing. He is also an open source enthusiast and writes for the Open Source For You (OSFY) magazine. His other interests are mimicry, fun, horoscope reading, traveling, meditation, spirituality, and yoga. You can get in touch with him at . Mitesh Soni is a technical lead who has 7.5 years of experience in the IT industry. He is a SCJP, SCWCD, and VCP. While he has interest in technology, his real passion is to play with kids and with his camera and capture photographs at Indroda Park. He lives in the capital of Mahatma Gandhi's home state. He loves to spend time alone and loves walking at Punit van. Learning Chef Chef is an open source configuration management tool that helps to transform infrastructure into simple code. It implies that the process of building and rebuilding IT infrastructure, configuration management, and scaling is possible in a short span of time in accordance with the customer's needs in different deployment environments. Businesses can gain huge competitive advantage in the increasingly digital economy by enabling business transformations and by automating the pipeline of building, testing, and deploying new applications. It also provides a way to implement innovative features by utilizing less time and saving costs. Organizations expect quick response in terms of application delivery and industries to gain competitive advantages and hence, DevOps culture is getting popular day by day. The DevOps culture provides effective collaboration, efficient integration, and effectual communication and feedback between software developers and operations teams. In order to fulfill the requirements of DevOps, configuration management tools, such as Chef, are used to fill the gap. DevOps includes a continuous delivery system that is an automated process to accelerate the release of an application. Chef is an automation platform for continuous delivery, as it provides a way to model and manage infrastructure as a code. With Chef, it is possible to achieve faster or lesser time to market and good/high quality application. Chef was built from the very beginning with the cloud concepts in mind. Chef allows you to dynamically provision and deprovision cloud resources to keep up with the demands when the usage is high and when there is a peak in traffic. With Chef, you can take advantage of all the flexibility and cost savings that the cloud offers. Chef is integrated with all the major cloud service providers, such as Amazon EC2, VMware, IBM SmartCloud, HP Cloud, OpenStack, Windows Azure, Joyent Cloud, Rackspace, Google Compute Engine, and so on. This book covers all the basic and architectural concepts of Chef with step-by-step explanations, hands-on exercises, and screenshots. Some best practices and customer's case studies are also included. They provide you with practical understanding to automate your infrastructure into code. What This Book Covers Chapter 1, An Overview of Automation and Advent of Chef, introduces automation and discusses its need in the current market scenario. It also describes the DevOps culture in detail with its benefits in the Agile development. This chapter discusses the importance of cloud computing and how DevOps and cloud computing can bring competitive advantages to businesses. It includes an introduction of Chef, its features, the existing configuration management tools and their comparison. Chapter 2, Different Components of Chef's Anatomy, covers the Chef automation, Chef framework, Chef components and the types of Chef servers. It includes information of popular community cookbooks. This chapter provides a quick, hands-on experience of the Hosted Chef server. Chapter 3, Workstation Setup and Cookbook Creation, delves into VirtualBox, Vagrant, Git, and the Ruby installation. It also covers a step-by-step explanation of the workstation setup and how to create a Chef repository. This chapter also includes details on how to launch a virtual machine with Vagrant and a workstation setup; here, you will the learn steps to create and upload a simple cookbook. Chapter 4, Learning about Cookbooks, focuses on the types of cookbooks and components of a cookbook, such as definitions, fi les, libraries, resources and providers, templates, lightweight resources, and metadata in detail. Chapter 5, Managing the Nodes, covers basic operations, such as adding, deleting nodes and bootstrapping the target nodes. This chapter also introduces a search facility, data bags, and types of handlers. You will also learn different phases of a Bootstrap operation here. Chapter 6, Working with an Open Source Chef Server, focuses on in-depth explanation of how to install the open source Chef server, and how to upgrade it. This chapter also covers details of how to use and upload a community cookbook of Tomcat on an open source Chef server and how to install the Tomcat cookbook on a node registered with the open source Chef server. Chapter 7, Working with the On-premises Chef Server Setup, introduces the Private Chef server and its benefits, types of Private Chef installations, prerequisites and installing procedure for the standalone Private Chef, tiered Private Chef, high-availability Chef and also details of how to manage Private Chef. Chapter 8, Managing Chef on Cloud Infrastructure, covers the basic concepts of cloud computing, details of a Cloud's infrastructure, and why Chef can be used with a Cloud infrastructure. This chapter also describes the AWS EC2 bootstrapping and Rackspace Cloud server bootstrapping using Chef in detail. Chapter 9, Best Practices while Using Chef, introduces Chef's anti-patterns and patterns in a predefined framework. This chapter will give you insight of how to test cookbooks and best practices for usage of Chef. Chapter 10, Case Studies on Different Chef Deployments, focuses on case studies of the Hosted Chef deployment, Private Chef deployment, open source Chef deployment, and Chef-solo deployment. This chapter also describes the advantages of Chef in the current IT scenario across different industries. An Overview of Automation and Advent of Chef "The fi rst rule of any technology used in a business is that automation applied to an effi cient operation will magnify the effi ciency. The second is that automation applied to an ineffi cient operation will magnify the ineffi ciency." - Bill Gates Before moving to the details of different Chef components and other practical things, it is recommended that you know the foundation of automation and some of the existing automation tools. This chapter will provide you with a conceptual understanding of automation, and a comparative analysis of Chef with the existing automation tools. In this chapter, we will cover the following topics: • An overview of automation • The need for automation • A brief introduction of Chef • The salient features of Chef • Automation with Chef • Existing automation tools and comparison with Chef [ 1 ] An Overview of Automation and Advent of Chef Automation Automation is the process of automating operations that control, regulate, and administrate machines, disparate systems, or software with little or no human intervention. In simple English, automation means automatic processing with little or no human involvement. An automated system is expected to perform a function more reliably, effi ciently, and accurately than a human operator. The automated machine performs a function at a lower cost with higher effi ciency than a human operator, thereby, automation is becoming more and more widespread across various service industries as well as in the IT and software industry. Automation basically helps a business in the following ways: • It helps to reduce the complexities of processes and sequential steps • It helps to reduce the possibilities of human error in repeatable tasks • It helps to consistently and predictably improve the performance of a system