Justin Garrison and Kris Nova reveal hard-earned lessons on architecting infrastructure from companies such as Google, Amazon, and Netflix. They draw inspiration from projects adopted by the Cloud Native Computing Foundation (CNCF), and provide examples of patterns seen in existing tools such as Kubernetes.
With this book, you will:
Justin Garrison is an engineer at one of the world's largest media companies. He loves open source almost as much as he loves community. He is not a fan of buzzwords but searches for the patterns and benefits behind technology trends. He frequently shares his findings and tries to disseminate knowledge through practical lessons and unique examples. He is an active member in many communities and constantly questions the status quo. He is relentless in trying to learn new things and giving back to the communities who have taught him so much.
Kris Nova is a Senior Developer Advocate for Heptio with an emphasis in containers, infrastructure, and Kubernetes. She is an ambassador for the Cloud Native Computing Foundation.Prior to Heptio, Kris worked as a developer advocate for Microsoft, as well as an engineer on Kubernetes in Azure. She has a deep technical background in the Go programming language, and has authored many successful tools in Go. Kris is a Kubernetes maintainer, and the creator of kubicorn, a successful Kubernetes infrastructure management tool. She organizes a special interest group in Kubernetes, and is a leader in the community. She understands the grievances with running cloud native infrastructure via a distributed cloud native application. She lives in Seattle, WA, and spends her free time mountaineering.
The book then looks more closely at the underlying technology and hones in on the security aspects for the following subsystems:
The Handbook of Research on End-to-End Cloud Computing Architecture Design provides architectural design and implementation studies on cloud computing from an end-to-end approach, including the latest industrial works and extensive research studies of cloud computing. This handbook enumerates deep dive and systemic studies of cloud computing from architecture to implementation. This book is a comprehensive publication ideal for programmers, IT professionals, students, researchers, and engineers.
This book is for developers and software architects who are interested in designing on the back end. Since the book uses Java to teach concepts, knowledge of Java is required.What You Will LearnLearn to form microservices from bigger SoftwaresOrchestrate and scale microservicesDesign and set up the data flow between cloud services and custom business logicGet to grips with cloud provider's APIs, limitations, and known issuesMigrate existing Java applications to a serverless architectureAcquire deployment strategiesBuild a highly available and scalable data persistence layerUnravel cost optimization techniquesIn Detail
Over the past years, all kind of companies from start-ups to giant enterprises started their move to public cloud providers in order to save their costs and reduce the operation effort needed to keep their shops open. Now it is even possible to craft a complex software system consisting of many independent micro-functions that will run only when they are needed without needing to maintain individual servers.
The focus of this book is to design serverless architectures, and weigh the advantages and disadvantages of this approach, along with decision factors to consider. You will learn how to design a serverless application, get to know that key points of services that serverless applications are based on, and known issues and solutions.
The book addresses key challenges such as how to slice out the core functionality of the software to be distributed in different cloud services and cloud functions. It covers basic and advanced usage of these services, testing and securing the serverless software, automating deployment, and more.
By the end of the book, you will be equipped with knowledge of new tools and techniques to keep up with this evolution in the IT industry.Style and approach
The book takes a pragmatic approach, showing you all the examples you need to build efficient serverless applications.
Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. By learning Kubernetes, you’ll be able to design your own serverless architecture by implementing the function-as-a-service (FaaS) model.
After an accelerated, hands-on overview of the serverless architecture and various Kubernetes concepts, you’ll cover a wide range of real-world development challenges faced by real-world developers, and explore various techniques to overcome them. You’ll learn how to create production-ready Kubernetes clusters and run serverless applications on them. You'll see how Kubernetes platforms and serverless frameworks such as Kubeless, Apache OpenWhisk and OpenFaaS provide the tooling to help you develop serverless applications on Kubernetes. You'll also learn ways to select the appropriate framework for your upcoming project.
By the end of this book, you’ll have the skills and confidence to design your own serverless applications using the power and flexibility of Kubernetes.What you will learnDeploy a Kubernetes cluster locally with MinikubeGet familiar with AWS Lambda and Google Cloud FunctionsCreate, build, and deploy a webpage generated by the serverless functions in the cloudCreate a Kubernetes cluster running on the virtual kubelet hardware abstractionCreate, test, troubleshoot, and delete an OpenFaaS functionCreate a sample Slackbot with Apache OpenWhisk actionsWho this book is for
This book is for software developers and DevOps engineers who have basic or intermediate knowledge about Kubernetes and want to learn how to create serverless applications that run on Kubernetes. Those who want to design and create serverless applications running on the cloud, or on-premise Kubernetes clusters will also find this book useful.
Mike Julian lays out a practical approach to designing and implementing effective monitoring—from your enterprise application down to the hardware in a datacenter, and everything between. Practical Monitoring provides you with straightforward strategies and tactics for designing and implementing a strong monitoring foundation for your company.
This book takes a unique vendor-neutral approach to monitoring. Rather than discuss how to implement specific tools, Mike teaches the principles and underlying mechanics behind monitoring so you can implement the lessons in any tool.
Practical Monitoring covers essential topics including:Monitoring antipatternsPrinciples of monitoring designHow to build an effective on-call rotationGetting metrics and logs out of your application
This Oracle Press guide shows, step-by-step, how to optimize database performance and cut transaction processing time using Oracle Database 12c Release 2 In-Memory. Oracle Database 12c Release 2 In-Memory: Tips and Techniques for Maximum Performance features hands-on instructions, best practices, and expert tips from an Oracle enterprise architect. You will learn how to deploy the software, use In-Memory Advisor, build queries, and interoperate with Oracle RAC and Multitenant. A complete chapter of case studies illustrates real-world applications.
• Configure Oracle Database 12c and construct In-Memory enabled databases
• Edit and control In-Memory options from the graphical interface
• Implement In-Memory with Oracle Real Application Clusters
• Use the In-Memory Advisor to determine what objects to keep In-Memory
• Optimize In-Memory queries using groups, expressions, and aggregations
• Maximize performance using Oracle Exadata Database Machine and In-Memory option
• Use Swingbench to create data and simulate real-life system workloads
Three OpenShift experts at Red Hat explain how to configure Docker application containers and the Kubernetes cluster manager with OpenShift’s developer- and operational-centric tools. Discover how this infrastructure-agnostic container management platform can help companies navigate the murky area where infrastructure-as-code ends and application automation begins.Get an application-centric view of automation—and understand why it’s importantLearn patterns and practical examples for managing continuous deployments such as rolling, A/B, blue-green, and canaryImplement continuous integration pipelines with OpenShift’s Jenkins capabilityExplore mechanisms for separating and managing configuration from static runtime softwareLearn how to use and customize OpenShift’s source-to-image capabilityDelve into management and operational considerations when working with OpenShift-based application workloadsInstall a self-contained local version of the OpenShift environment on your computer
Kubernetes is an open source system that is used to automate the deployment, scaling, and management of containerized applications. If you are running more containers or want automated management of your containers, you need Kubernetes at your disposal. To put things into perspective, Mastering Kubernetes walks you through the advanced management of Kubernetes clusters.
To start with, you will learn the fundamentals of both Kubernetes architecture and Kubernetes design in detail. You will discover how to run complex stateful microservices on Kubernetes including advanced features such as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage backend. Using real-world use cases, you will explore the options for network configuration, and understand how to set up, operate, and troubleshoot various Kubernetes networking plugins. In addition to this, you will get to grips with custom resource development and utilization in automation and maintenance workflows.
To scale up your knowledge of Kubernetes, you will encounter some additional concepts based on the Kubernetes 1.10 release, such as Promethus, Role-based access control, API aggregation, and more. By the end of this book, you’ll know everything you need to graduate from intermediate to advanced level of understanding Kubernetes.What you will learnArchitect a robust Kubernetes cluster for long-time operationDiscover the advantages of running Kubernetes on GCE, AWS, Azure, and bare metalUnderstand the identity model of Kubernetes, along with the options for cluster federationMonitor and troubleshoot Kubernetes clusters and run a highly available KubernetesCreate and configure custom Kubernetes resources and use third-party resources in your automation workflowsEnjoy the art of running complex stateful applications in your container environmentDeliver applications as standard packagesWho this book is for
Mastering Kubernetes is for you if you are a system administrator or a developer who has an intermediate understanding of Kubernetes and wish to master its advanced features. Basic knowledge of networking would also be helpful. In all, this advanced-level book provides a smooth pathway to mastering Kubernetes.
Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. It has been adopted by companies such as Google, its original developers, and Microsoft as an integral part of their public cloud platforms, so that you can develop for Kubernetes and not worry about being locked into a single vendor.
This book will initially start by introducing serverless functions. Then you will configure tools such as Minikube to run Kubernetes. Once you are up-and-running, you will install and configure Kubeless, your first step towards running Function as a Service (FaaS) on Kubernetes. Then you will gradually move towards running Fission, a framework used for managing serverless functions on Kubernetes environments. Towards the end of the book, you will also work with Kubernetes functions on public and private clouds.
By the end of this book, we will have mastered using Function as a Service on Kubernetes environments.What you will learnGet a detailed analysis of serverless/Functions as a ServiceGet hands-on with installing and running tasks in Kubernetes using MinikubeInstall Kubeless locally and launch your first functionLaunch Kubernetes in the cloud and move your applications between your local machine and your cloud clusterDeploy applications on Kubernetes using Apache OpenWhiskExplore topics such as Funktion and Fission installation on the cloud followed by launching applicationsMonitor a serverless function and master security best practices and Kubernetes use casesWho this book is for
If you are a DevOps engineer, cloud architect, or a stakeholder keen to learn about serverless functions in Kubernetes environments, then this book is for you.