Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Cloud-Native Applications in Java
Rating: 4.0 out of 5(48 ratings)
399 students

Cloud-Native Applications in Java

Build highly scalable microservice-based applications with Java for the cloud
Last updated 9/2019
English

What you'll learn

  • Create Docker containers for microservices and set up continuous integration with Jenkins
  • Monitor and troubleshoot applications in the cloud
  • Use Docker and Kubernetes for containerization
  • Perform log aggregation and visualization with the Elasticsearch, Logstash, and Kibana (ELK) stack
  • Explore a variety of XaaS APIs and build your own XaaS model
  • Migrate from a monolithic architecture to a cloud-native deployment

Course content

12 sections79 lectures13h 48m total length
  • Course Overview6:07

    Let’s begin the course with the content coverage.

  • Installation and Setup5:41

    If you want to replicate the setup used throughout the course on your personal systems, you will now see how to install the tools we’ll use in this course.

  • Lesson Overview1:31

    The first lesson addresses the what and why of cloud-native applications: what are the drivers of moving to cloud application? Why is cloud development and deployment different from regular applications? What is a 12-factor app?

  • What is cloud-native?7:51

    When applications are designed and architected to take advantage of the underlying IaaS and PaaS services supported by the cloud computing platform, they are called cloud-native applications. Let us learn more about it with the following topics:

    • Lift and shift

    • Going native

  • Cloud-native and microservices7:09

    To enable the adoption of the IaaS and PaaS services, a change in how the applications are designed and architected needs to be made. The model of designing enterprise applications on a base platform (read: application server) meant that the heavy lifting of the application's scalability and availability was the responsibility of the platform. Enterprise developers would focus on using the standardized JEE patterns and developing components (Presentation, Business, Data, and Integration) to build fully functional and transactional applications. Let us learn more about it with the following topics:

    • Cloud-native

    • Microservices

  • The 12-factor app16:09

    In order to build a distributed, microservices-based application that can be deployed across cloud providers, engineers at Heroku came up with 12 factors that need to be implemented by any modern cloud-native application. Let us learn more about it with the following topics:

    • Microservices-enabling service ecosystem

    • Service discovery

    • Config server

    • Service management/monitoring

    • Container management/orchestration

    • Log aggregation

    • API Gateway/management

    • DevOps

  • Microservice adoption3:38

    Microservice adoption within an enterprise is driven by a common theme of digital transformation, whether they are looking to re-architect the existing monolithic applications in the system of innovations to increase business agility and reduce technical debt, or to develop greenfield applications that allow them to rapidly innovate and experiment with different business models.

  • Lesson Summary1:21

    Summarize your learning from this lesson.

  • Test your knowledge

Requirements

  • Some knowledge of Java, Spring, web programming and public cloud providers such as AWS and Azure will be useful to get the most out of this course.

Description

Businesses today are rapidly evolving and cloud-native applications are now needed more than ever before. To build these types of applications, you must be able to determine the right environment, tools, and resources.

This course is designed to help you get to grips with all the concepts and techniques you need to build secure, robust, and scalable applications for cloud-based deployment. The course begins by explaining the driving factors behind cloud adoption and how cloud deployment is different from regular application deployment. You’ll learn about design patterns specific to apps running in the cloud, and discover how you can build a microservice in Java Spring using REST APIs. Next, you’ll focus on how to build, test, and deploy applications with maximum automation to reduce the deployment cycle time. A dedicated section will then guide you through configuring the Amazon Web Services (AWS) and Azure platforms and working with their APIs to deploy your apps. Toward later chapters, you’ll understand how to write efficient code by exploring API design concerns and their best practices. Finally, you’ll learn to migrate an existing monolithic app to a distributed cloud-native app.

By the end of this course, you’ll have learned how to confidently build and monitor a cloud-native application that is highly available and fault tolerant.

About the Authors :

Ajay Mahajan
is a distinguished member of technical staff (DMTS) at Wipro Technologies and currently is in the role of chief technologist of the retail vertical. In his current role, he helps customers adopt cloud-native and digital architecture for next-generation retail applications. He worked with retail and banking clients in Europe and the USA on large-scale mission-critical systems. He has seen the evolution of enterprise Java from the Netscape Application Server to servlets/JSP, JEE, Spring, and now the cloud and microservices during the course of 19 years of working on Java platform.

Munish Kumar Gupta is a lead system architect with Visa. Based in Bangalore, India, his day-to-day work involves solution architectures for applications with stringent non-functional requirements, application performance engineering, managing application infrastructure, and exploring the readiness of cutting-edge, open-source technologies for enterprise adoption. He is the author of Akka Essentials. He is very passionate about software programming and craftsmanship. He blogs about technology trends, application performance engineering, and Akka.

Shyam Sundar is a senior architect with Wipro Technologies based in Bangalore. He is part of the Emerging Technologies Architecture group within Wipro. He is responsible for helping teams adopt new and emerging technologies in their projects. He focuses primarily on the client-side and cloud technologies. He is a lifelong learner who cares deeply about software craftsmanship. He is constantly experimenting with new tools and technologies to improve the development experience.

Anirudh has multiple years of experience developing in languages such a Python, HTML, and of course Java. Over the years he has implemented the ideas ranging from the basics to more complex paradigms, and have acquired a bounty of knowledge that he loves to share. He spends multiple months preparing his courses and enjoys teaching those new to the Computer Science field as well as those who are more experienced. He has been teaching for a couple of years now, and it's his primary passion. Hopefully, you enjoy his courses as much as he enjoyed making them!

Who this course is for:

  • This course is for Java developers who want to build scalable applications for the cloud.