ABOUT THIS BOOK
* Learn about modern web architectures and build real-world apps on more » top of them
WHO THIS BOOK IS FOR
WHAT YOU WILL LEARN
* Master DOM manipulation, cross-browser strategies, and ES6
* Harness the power of patterns for tasks ranging from application building to code testing
* Identify the best use cases for microservices
* Gain expertise in responsive and dynamic website design
* Enable real-time communications between client-client and client-server/server-client
* Write complete applications using functional reactive programming
This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:
STYLE AND APPROACH
This course is a comprehensive guide with a clear focus on practical use cases and patterns. Each chapter consists of best practices, useful advice, and a bunch of easy-to-follow examples that will build up your skills as you advance. « less
With Docker, CoreOS Linux, and Other Platforms
Take container cluster management to the next level; learn how to administer and configure Kubernetes on CoreOS; and apply suitable management design patterns such as Configmaps, Autoscaling, elastic resource usage, and high availability. Some of the other features discussed are logging, scheduling, more » rolling updates, volumes, service types, and multiple cloud provider zones.The atomic unit of modular container service in Kubernetes is a Pod, which is a group of containers with a common filesystem and networking. The Kubernetes Pod abstraction enables design patterns for containerized applications similar to object-oriented design patterns. Containers provide some of the same benefits as software objects such as modularity or packaging, abstraction, and reuse.
CoreOS Linux is used in the majority of the chapters and other platforms discussed are CentOS with OpenShift, Debian 8 (jessie) on AWS, and Debian 7 for Google Container Engine.
CoreOS is the main focus becayse Docker is pre-installed on CoreOS out-of-the-box. CoreOS: * Supports most cloud providers (including Amazon AWS EC2 and Google Cloud Platform) and virtualization platforms (such as VMWare and VirtualBox)
* Provides Cloud-Config for declaratively configuring for OS items such as network configuration (flannel), storage (etcd), and user accounts
* Provides a production-level infrastructure for containerized applications including automation, security, and scalability
* Leads the drive for container industry standards and founded appc
* Provides the most advanced container registry, Quay
Docker was made available as open source in March 2013 and has become the most commonly used containerization platform. Kubernetes was open-sourced in June 2014 and has become the most widely used container cluster manager. The first stable version of CoreOS Linux was made available in July 2014 and since has become one of the most commonly used operating system for containers.
What You'll Learn
* Use Kubernetes with Docker
* Create a Kubernetes cluster on CoreOS on AWS
* Apply cluster management design patterns
* Use multiple cloud provider zones
* Work with Kubernetes and tools like Ansible
* Discover the Kubernetes-based PaaS platform OpenShift
* Create a high availability website
* Build a high availability Kubernetes master cluster
* Use volumes, configmaps, services, autoscaling, and rolling updates
* Manage compute resources
* Configure logging and scheduling
Who This Book Is For
Linux admins, CoreOS admins, application developers, and container as a service (CAAS) developers. Some pre-requisite knowledge of Linux and Docker is required. Introductory knowledge of Kubernetes is required such as creating a cluster, creating a Pod, creating a service, and creating and scaling a replication controller. For introductory Docker and Kubernetes information, refer to Pro Docker (Apress) and Kubernetes Microservices with Docker (Apress). Some pre-requisite knowledge about using Amazon Web Services (AWS) EC2, CloudFormation, and VPC is also required. « less
* Get a thorough introduction to Kotlin
* Learn to use Java code alongside Kotlin without any hiccups
* Get a complete overview of null safety, Generics, and many more interesting features
Kotlin has been making waves ever since it was open sourced by JetBrains in more » 2011; it has been praised by developers across the world and is already being adopted by companies. This book provides a detailed introduction to Kotlin that shows you all its features and will enable you to write Kotlin code to production.
We start with the basics: get you familiar with running Kotlin code, setting up, tools, and instructions that you can use to write basic programs. Next, we cover object oriented code: functions, lambdas, and properties – all while using Kotlin's new features.
Then, we move on to null safety aspects and type parameterization. We show you how to destructure expressions and even write your own. We also take you through important topics like testing, concurrency, microservices, and a whole lot more. By the end of this book you will be able to compose different services and build your own applications.
WHAT YOU WILL LEARN
* Use new features to write structured and readable object-oriented code
* Find out how to use lambdas and higher order functions to write clean, reusable, and simple code
* Write unit tests and integrate Kotlin tests with Java code in a transitioning code base
* Write real-world production code in Kotlin in the style of microservices
* Leverage Kotlin's extensions to the Java collections library
* Use destructuring expressions and find out how to write your own
* Write code that avoids null pointer errors and see how Java-nullable code can integrate with features in a Kotlin codebase
* Discover how to write functions in Kotlin, see the new features available, and extend existing libraries
* Learn to write an algebraic data types and figure out when they should be used
ABOUT THE AUTHOR
Stephen Samuel is an accomplished developer with over 17 years of experience. He has worked with Java throughout his career, and in the past 5 years has focused on Scala. He has a passion for concurrency and Big Data technologies. Having spent the last few years in investment banking, he is currently working with Kotlin on a major Big Data ingestment project. Stephen is also active in the open source community, being the author of several high profile Scala and Kotlin libraries.
Stefan Bocutiu is a Big Data consultant with over 13 years of experience in software development. He enjoys coding in Scala, C#, and has a passion for stream processing technologies. With the team at DataMountaineer--a consultancy company offering delivery of solutions for streaming/ fast data platforms - he focuses on providing scalable, unified, real-time data pipelines allowing reactive decision making, analytics, and Hadoop integration.
Stefan is passionate about motorsports, and while his racing skills are not good enough to allow him to compete, he tries to attend as many MotoGP races as possible. When he is not coding, he can be found at the climbing wall or at the gym. Occasionally, hiking and scrambling trips are on his calendar, and during the winter season, skiing trips are a must for him.
TABLE OF CONTENTS
1. Getting Started with Kotlin
2. Kotlin Basics
3. Object-Oriented Programming in Kotlin
4. Functions in Kotlin
5. Higher Order Functions and Functional Programming
7. Null Safety, Reflection, and Annotations
9. Data Classes
11. Testing in Kotlin
12. Microservices with Kotlin
13. Concurrency « less
Build robust and scalable software from the start
Learn what a microservices architecture is, its advantages, and why you should consider using one when starting a new application. The book describes how taking a microservices approach from the start helps avoid the complexity and expense of moving to a service-oriented approach after applications reach more » a critical code base size or traffic load.
Microservices from Day One discusses many of the decisions you face when adopting a service-oriented approach and defines a set of rules to follow for easily adopting microservices. The book provides simple guidelines and tips for dividing a problem domain into services. It also describes best practices for documenting and generating APIs and client libraries, testing applications with service dependencies, optimizing services for client performance, and much more. Throughout the book, you will follow the development of a sample project to see how to apply the best practices described.
What You Will Learn:
* Apply guidelines and best practices for developing projects that use microservices
* Define a practical microservices architecture at the beginning of a project that allows for fast development
* Define and build APIs based on real-world best practices
* Build services that easily scale by using tools available in most programming languages
* Test applications in a distributed environment
Who This Book is For:
Software engineers and web developers who have heard about microservices, and want to either move the project/applications they work on to a service-oriented environment, or want to start a new project knowing that building services helps with ease of scaling and maintainability. The book is a reference for developers who have a desire to build software in smaller, more focused and manageable chunks, but do not know how to get started. « less