{"id":228,"date":"2018-10-16T04:11:27","date_gmt":"2018-10-16T04:11:27","guid":{"rendered":"http:\/\/www.appservgrid.com\/paw93\/index.php\/2018\/10\/16\/introducing-jetstacks-kubernetes-for-application-developers-course-jetstack-blog\/"},"modified":"2018-10-16T04:11:27","modified_gmt":"2018-10-16T04:11:27","slug":"introducing-jetstacks-kubernetes-for-application-developers-course-jetstack-blog","status":"publish","type":"post","link":"https:\/\/www.appservgrid.com\/paw93\/index.php\/2018\/10\/16\/introducing-jetstacks-kubernetes-for-application-developers-course-jetstack-blog\/","title":{"rendered":"Introducing Jetstack&#8217;s Kubernetes for Application Developers Course \/\/ Jetstack Blog"},"content":{"rendered":"<p> 9\/Oct 2018<\/p>\n<p> By <a target=\"\">Charlie Egan<\/a><\/p>\n<h3>Introduction<\/h3>\n<p>Our <a href=\"https:\/\/www.jetstack.io\/training\/\">Kubernetes training programme<\/a> forms a considerable part of our services at Jetstack. In 2017 alone we trained more than 1,000 engineers from over 50 different companies, and so far in 2018 we have already delivered over 60 courses. We are constantly making an effort to ensure that our course content is refined and up-to-date, and that it reflects both the real-world experience of our engineers and also the evolving Kubernetes ecosystem. 2018 has seen us dedicate a lot of time to our training programme: As well as maintaining our <a href=\"https:\/\/jetstack.io\/in-person-training\/\">current courses<\/a>, we have developed online resources available through Flight Deck, the <a href=\"https:\/\/www.jetstack.io\/subscription\/\">Jetstack Subscription<\/a> customer portal, for self-paced learning.<\/p>\n<p><img decoding=\"async\" alt=\"people\" src=\"https:\/\/blog.jetstack.io\/blog\/app-dev-deploy\/participants.jpg\" \/><\/p>\n<p>However, we had a recurring theme in feedback from attendees and customers. As more and more of them deployed Kubernetes, they wanted to learn how to make best use of the features it has to offer. For this reason, we decided to build the Application Developer\u2019s course, to be announced at <a href=\"https:\/\/cloud.withgoogle.com\/next18\/london\">Google Cloud Next London \u201818<\/a>. This blog post details our motivation for building the course, as well as some of the main topics.<\/p>\n<h3>Why Application Development?<\/h3>\n<p>Jetstack\u2019s current course offering is largely aimed at those in an operational role &#8211; deploying and managing clusters. After the beginner level course, we immediately get stuck into more \u2018cluster admin\u2019 type tasks as well as the internals of Kubernetes itself.<\/p>\n<p>With this new course, we\u2019re introducing a new \u2018track\u2019 for a developer audience. This course is for developers building and architecting applications to be deployed on a Kubernetes-based platform.<\/p>\n<p><img decoding=\"async\" alt=\"fig2\" src=\"https:\/\/blog.jetstack.io\/blog\/app-dev-deploy\/app-dev-1.jpg\" \/><\/p>\n<h3>Agenda<\/h3>\n<p>The course is very hands-on and entirely based around workshops where attendees extend a simple application to explore Kubernetes from an application developer\u2019s perspective.<\/p>\n<p>We start the day with a number of workshops around better integrating your applications with Kubernetes, covering topics such as probes and managing pod environment. The course then progresses to cover a number of features that are specifically useful to application developers, including <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/cron-jobs\/\">CronJobs<\/a>, <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/containers\/container-lifecycle-hooks\/\">Lifecycle Hooks<\/a> and <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/init-containers\/\">Init Containers<\/a>.<\/p>\n<p>Further workshops are designed to be selected based on the interests of attendees with more in-depth workshops available on the following topics:<\/p>\n<ul>\n<li>Wrapping an application in a <a href=\"https:\/\/docs.helm.sh\/developing_charts\">Helm chart<\/a><\/li>\n<li>Developing in-cluster with <a href=\"https:\/\/kubernetes.io\/blog\/2018\/05\/01\/developing-on-kubernetes\/#skaffold\">skaffold<\/a><\/li>\n<li>Debugging with <a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/install-kubectl\/\">kubectl<\/a><\/li>\n<li>Connecting to an database deployed with Helm<\/li>\n<li>Logging and custom metrics<\/li>\n<\/ul>\n<h3>Kubernetes features for Application Developers<\/h3>\n<p>One highlight is the workshops covering features that can directly reduce complexity versus a more traditional deployment.<\/p>\n<p><img decoding=\"async\" alt=\"fig3\" src=\"https:\/\/blog.jetstack.io\/blog\/app-dev-deploy\/bates.jpg\" \/><\/p>\n<p>As an example, CronJobs greatly simplify the common problem of running cron for recurring jobs on a fleet of autoscaling application instances. Solutions to handle duplicate jobs and the issues that arise from this architecture are often handmade and a bit of a hack. In this workshop we see how this is much simpler leveraging Kubernetes to run new containers for jobs on a schedule.<\/p>\n<p>Recurring jobs are a feature that a huge number of applications need. Kubernetes offers a language-agnostic standard for running this type of work &#8211; it\u2019s really valuable.<\/p>\n<h3>Conclusion<\/h3>\n<p>If you think that you and your team would benefit from this course, <a href=\"https:\/\/www.jetstack.io\/contact\/\">contact us<\/a> to take part in the pilot scheme. We will be running one-day courses from November 2018.<\/p>\n<p> <a href=\"https:\/\/blog.jetstack.io\/blog\/app-dev-deploy\/\" target=\"_blank\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>9\/Oct 2018 By Charlie Egan Introduction Our Kubernetes training programme forms a considerable part of our services at Jetstack. In 2017 alone we trained more than 1,000 engineers from over 50 different companies, and so far in 2018 we have already delivered over 60 courses. We are constantly making an effort to ensure that our &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.appservgrid.com\/paw93\/index.php\/2018\/10\/16\/introducing-jetstacks-kubernetes-for-application-developers-course-jetstack-blog\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Introducing Jetstack&#8217;s Kubernetes for Application Developers Course \/\/ Jetstack Blog&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-228","post","type-post","status-publish","format-standard","hentry","category-kubernetes"],"_links":{"self":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/comments?post=228"}],"version-history":[{"count":0,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/posts\/228\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/media?parent=228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/categories?post=228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appservgrid.com\/paw93\/index.php\/wp-json\/wp\/v2\/tags?post=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}