This article is contributed. See the original author and article here.

There are 16 million developers in the world today. So an understanding of cloud development is therefore a good skill to have as you are looking to land that first job and build a career in Cloud Computing.


 


CMUClouddeveloper.PNG


 


 


But where do you begin to learn all that? With this path 



Cloud developer


Cloud Developers design and develop cloud applications, services, and products. With the support of these Microsoft Learn Modules students will gain knowledge and develop hands-on experience solving real-world problems in the field of cloud development. This learning path will introduce this domain and cover the topics of cloud infrastructures, virtualization, software-defined networks and storage, cloud storage, and programming models (analytics frameworks). Modern data centers enable many of the economic and technological benefits of the cloud paradigm; hence, we will describe several concepts behind data center design and management and software deployment. Subsequently, students will learn about different cloud storage concepts including data distribution, durability, consistency and redundancy. Student will gain experience of how to use MapReduce, clean, prepare and analyze a large data set as well as serverless computing through Functions as a Service. It is our goal that students will develop the required skills needed to become a cloud developer.



This learn path covers everything from using virtualization, work with Cloud storage. Apply techniques around streaming data, and stream processing using Spark and more. These modules were developed in Partnership with Prof. Majd Sakr and Carnegie Mellon University.


 


Students who complete the Cloud Developer Learning Path should be able to:




  • Explain the core concepts of the cloud computing paradigm: how and why this paradigm shift came about, the characteristics, advantages and challenges brought about by the various models and services in cloud computing.

  • Apply fundamental concepts in cloud infrastructures to understand the tradeoffs in power, efficiency and cost, and then study how to leverage and manage single and multiple datacenters to build and deploy cloud applications that are resilient, elastic and cost-efficient.

  • Discuss system, network and storage virtualization and outline their role in enabling the cloud computing system model.

  • Describe the overall organization of data and the fundamental concepts of cloud storage. Compare and contrast different types of distributed file systems and discuss their design considerations. Compare and contrast different types of databases and discuss their design tradeoffs. Discuss the concepts of cloud object storage.

  • Explain the main execution flow, scheduling and fault tolerance concepts in various cloud programming models. Recall and contrast different cloud programming models (MapReduce, Spark, GraphLab, Spark Streaming and Samza).

  • Design, architect, implement, test, deploy, monitor and maintain cloud-based applications.

  • Identify the appropriate tools and architectures to implement a cloud-based design.

  • Analyze the tradeoffs between different tools and cloud offerings to meet real-world constraints.

  • Evaluate performance characteristics of cloud-based services to implement optimizations.



The Cloud Developer Learning path contains the following modules. 





 


Share cloud resources







Get an introduction to virtualization, one of the many technologies that power the cloud. Learn what virtualization is, its benefits, and how cloud resources are shared.


 







Understand virtualization







Take a deep dive into virtualization by understanding its formal definition as well as the different types of virtual machines.




Virtualize computing power







Learn about how computing power is virtualized to create cloud resources. Covers different types of CPU virtualization.




Virtualize memory







Learn how memory is virtualized to support cloud resources. Covers different types of memory mapping and related issues.


 




Virtualize I/O







Learn about how computer input/output is virtualized. Covers I/O basics and a case study of virtualizing I/O.


 




Storage and network virtualization







Learn about how storage and network resources can be virtualized to support software defined datacenters.


 





Discover what the cloud is, the history of cloud computing, what types of clouds are available, and how you might use the cloud.


 




Economics of cloud computing







Learn how developers pay to use the cloud and how cloud providers are able to charge for their services. Get an overview of how the cloud is kept secure.


 




Datacenter trends in cloud computing







Datacenters power the cloud. Learn what they are, how they work, and challenges in managing them.


 




Datacenter components







Take a deep dive into datacenters to discover how they are laid out and how computing resources are provisioned and metered.


 




Cloud management







Get into the nitty-gritty of cloud computing to understand how resources are provisioned, billed, and monitored. Learn about how to orchestrate cloud infrastructure with examples.


 




Build applications on the cloud







Learn how developers write programs that run on the cloud, including how to deploy, be fault-tolerant, load balance, scale, and deal with latency.


 




Cloud storage overview







Learn all about data and get an overview of how it’s stored, including local and distributed file systems, databases, and object storage.


 




Case studies: Distributed file systems







Discover how distributed file systems work, then learn about Hadoop and Ceph.


 





Learn about two more types of storage – NoSQL databases and object storage – with case studies from industry.


 




What is distributed programming?







Learn about distributed programming and why it’s useful for the cloud, including programming models, types of parallelism, and symmetrical vs. asymmetrical architecture.


 





MapReduce was a breakthrough in big data processing that has become mainstream and been improved upon significantly. Learn about how MapReduce works.


 





GraphLab is a big data tool developed by Carnegie Mellon University to help with data mining. Learn about how GraphLab works and why it’s useful.


 




Distributed computing on the cloud: Spark







Spark is an open-source cluster-computing framework with different strengths than MapReduce has. Learn about how Spark works.


 




Message queues and stream processing







The increase of available data has led to the rise of continuous streams of real-time data to process. Learn about different systems and techniques for consuming and processing real-time data streams.







































Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.