Raju is a software craftsman with almost 20 years of hands-on experience scoping, architecting, designing, implementing full stack applications.
He provides a 360 view of the development cycle, is proficient in a variety of programming languages and paradigms, experienced with software development methodologies, as well an expert in infrastructure and tooling.
He has long been in the pursuit of hermeticism across the development stack by championing immutability during development (with languages like Clojure), deployment (leveraging tools like Docker and Kubernetes), and provisioning and configuration via code (toolkits like Ansible, Terraform, Packer, everything-as-code).
Raju is a published author, internationally known public speaker and trainer.
Raju can be found on Twitter as @looselytyped.
In his spare time, you will find Raju reading, playing with technology, or spending time with his wonderful (and significantly better) other half.
In this session we'll take a tour of some features that you might or might not have heard of, but can significantly improve your workflow and day-to-day interaction with Git.
Git continues to see improvements daily. However, work (and life) can take over, and we often miss the changelog. This means we don't know what changed, and consequently fail to see how we can incorporate those in our usage of Git.
In this session we will look at some features you are probably aware of, but haven't used, alongside new features that Git has brought to the table. Examples include:
By the end of this session, you will walk away with a slew of new tools in your arsenal, and a new perspective on how this can help you and your colleagues get the most out of Git.
You've heard of Terraform, maybe even written some scripts using it. You've heard that Terraform is capable of dynamic behavior using blocks, for loops and counters. And you've glanced at the Terraform functions list, but wondered how one would ever go about using those?
We've got you covered.
In this session, we'll build a set of Terraform scripts that can be fed a YAML file, and using Terraform's dynamic capabilities, we'll build infrastructure as specced out in the YAML file.
We'll be covering a host of different topics in this session
Terraform's dynamic capabilities including dynamic blocks, for
and for_each
loops
Terraform's functions and datastructures
In a world where automation is king, when it comes to configuration management, Ansible rules. Ansible, an opensource project from RedHat allows you to automate configuration including installing software, applying security patches, managing networks across the whole spectrum—be that locally, onprem, in the cloud.
In this exercise driven session, we’ll learn Ansible from the ground up. We’ll see how to declare your inventory, use modules to run arbitrary tasks on hosts, collect related tasks into playbooks, make reusable units of work using roles, and how to use variables. By the end of this session, you will walk away with a comprehensive understanding of how Ansible works, and how you can start to use it to automate away the mundane.
Detailed agenda:
Why Ansible?
How does Ansible work?
Ansible characteristics
Run ansible for the first time
Run an ansible module with args
Escalating privileges
Keeping track of your inventory
Groups of groups (of groups?)
Variables, specifically inventory variables
Extracting group and host variables into group/host variable files
Plays and playbooks
Our first play
Environment specific variables
Making a useful playbook
Jinja2 string interpolation
Roles
Using ansible.builtin.copy
and ansible.builtin.template
in roles
Using handlers
Using Ansible facts and filters
Using Ansible datastructures
Using tags
Encrypting passwords using ansiblevault
Checking your scripts
Benefits of Ansible
Tradeoffs
In a world where automation is king, when it comes to configuration management, Ansible rules. Ansible, an opensource project from RedHat allows you to automate configuration including installing software, applying security patches, managing networks across the whole spectrum—be that locally, onprem, in the cloud.
In this exercise driven session, we’ll learn Ansible from the ground up. We’ll see how to declare your inventory, use modules to run arbitrary tasks on hosts, collect related tasks into playbooks, make reusable units of work using roles, and how to use variables. By the end of this session, you will walk away with a comprehensive understanding of how Ansible works, and how you can start to use it to automate away the mundane.
Detailed agenda:
Why Ansible?
How does Ansible work?
Ansible characteristics
Run ansible for the first time
Run an ansible module with args
Escalating privileges
Keeping track of your inventory
Groups of groups (of groups?)
Variables, specifically inventory variables
Extracting group and host variables into group/host variable files
Plays and playbooks
Our first play
Environment specific variables
Making a useful playbook
Jinja2 string interpolation
Roles
Using ansible.builtin.copy
and ansible.builtin.template
in roles
Using handlers
Using Ansible facts and filters
Using Ansible datastructures
Using tags
Encrypting passwords using ansiblevault
Checking your scripts
Benefits of Ansible
Tradeoffs
JavaScript has finally grown up. Armed with a slew of new features, JavaScript now makes writing the code that powers your applications elegant, concise, and easy to understand. This book is a pragmatic guide to the new features introduced in JavaScript, starting with Edition 6 of ECMAScript, and ending with Edition 9.
Using a "compare and contrast" approach, each chapter offers a deep dive into new features, highlighting how best to use them moving forward. As you progress through the book, you'll be offered multiple opportunities to see the new features in action, and in concert with one another.
Backed by an example-driven writing style, you'll learn by doing, and get ready to embrace the new world of JavaScript.
What You'll Learn
Who This Book Is For
New and experienced developers who wish to keep abreast of the changes to JavaScript and deepen their understanding of the language.