Cloud Computing Courses
The full FTT Cloud Computing curriculum can be found at the cloudyappstraining web site. Here we provide an overview of Cloud Computing and FTT's vision of what a comprehensive Cloud Computing curriculum is provided.
Cloud computing is both a framework and a technology. It is both new and exciting, and its future success depends on the development of novel applications, or the porting and scaling of existing data intensive and web applications.
Background:
The Cloud , generally, refers to the World Wide Web, or Web or Internet for short.
From simple beginnings in the 1980's based on the integration of hypertext documents and TCP/IP networking the Web has evolved spectacularly into its present form, which itself is, almost certainly, a starting point for even further developments. The Cloud also alludes to Cloud Computing. Cloud computing itself can be thought of as a development of Client - Server computing and the technologies that it gave rise to such as computing using remote procedure calls (RPC, DCE RPX, DCOM), broker based distributed computing architectures such as CORBA, and the newer web service based distributed computing technologies such as SOAP and REST. As well as Cloud computing frameworks such as Amazon's EC2 (Elastic Comput Cloud) and OpenStack it also embraces the view of the internet of things .. an internet formed by connecting lots of devices both big and small into one huge network. Again, history repeats itself, as it could be argued that one of the original visionary groups behind the internet of things was James Gosling's team working on Green computing in the early 1990's, research that led, eventually, to the development of Java. Another strand in this “epic saga” is the development and evolution of Microcontrollers from relatively simple and expensive 8 bit devices to the powerful and relatively cheap 8, 16 and 32 bit peripheral rich devices available today. Add in the desire to provide access to powerful computing technologies to creative artists and to schoolchildren we come, via Processing, to the Arduino and its various offshoots and also the RaspberryPi and its various relations such as Gumstix, BeagleBone and Pandaboard. Following yet another thread leads us to Smart Sensors, Smart Sensor based AdHoc networks and applications of these to the environment and to "intelligent" urban systems (Smart Cities). On still another dimension there are developments associated with data visualisation, data analytics and social networking.
Overview:
The Wikipedia entry on Cloud Computing uses the analogy of an electricity grid to describe the basic concepts underlying cloud computing. "Cloud computing provides computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers the services. Parallels to this concept can be drawn with the electricity grid, wherein end-users consume power without needing to understand the component devices or infrastructure required to provide the service."
The attraction of cloud computing is the in the possibility of adding extra IT capacity, or data processing capabilities or access to new applications without having to invest in extra infrastructure, having to train new admin staff, or having to purchase new software, but, instead being able to make use of a usage or subscription-based service. This is now a realistic possibility thanks to the widespread availability of broadband internet connectivity and web service oriented technology.
Applications can be accessed either via a web browser, or by applications that make use of the basic HTTP protocol such as those based on RESTful services (which do not necessarily need a web browser) , or via thin client technologies (Linux, or Windows based).
The various services that constitute a cloud computing infrastructure may be either private, or, commercial, delivered through shared data-centers. The courses outlined below cover the range from a high level technical overview, through to cloud service deployment and application framework development on either Linux or Microsoft Windows platforms.
As a training and consultancy company that learns from its customers and the pupils that they send on our courses some of our insights into the potential of cloud computing has come from running technical system administration and configuration oriented courses to companies such as Rackspace and NewEgg. Cloud computing frameworks are amazingly complex technologies and it is a real joy to see them in action, and to witness their flexibility and scalability. As well as providing a range of standardised cloud computing courses we are open to challenges and requests for more challenging courses.
Cloud Computing Courses:
- Course CLD101 - Overview of Cloud Computing
- Course CLD102 - Introduction to Building and Deploying OpenStack Cloud Systems
- Course CLD103 - Introduction to deploying and building Apache CloudStack Systems
- Course CLD104 - Cloud Computing using Microsoft's Azure Framework
- Course CLD105 - Building Cloud Computing Applications Using Amazon Web Services
- Course CLD106 - Building Google App Engine Applications in Python
Data Processing in the Cloud - Data Analysis and Data Visualisation Courses:
- Overview of Data Analysis and Visualisation Courses
- Introduction to Data Analysis and Visualisation with R
- Data Visualisation using D3.js
- Data Visualisation with Processing
- Financial Data Analysis and Visualisation using R
- Financial Data Analysis using Pandas, Scipy and Matplotlib
- Introduction to Data Mining with R
- Introduction to Data Mining with Python
- Introduction to Networks Graphs and Network Visualisation
- Introduction to Building Recommender Systems with Python
- Introduction to Building Recommender Systems with Java
Data Processing in the Cloud - BigData and NoSQL Courses:
- Overview of Big Data and NoSQL Courses
- Introduction to Big Data and NoSQL Technologies , Strategies, Practice and Concepts
- Practical Introduction to Big Data and Hadoop
- Java Programming in Big Data with Hadoop
- Python Programming in Big Data with Hadoop
- Hadoop System Administration
- Hadoop Data Analysis with Hive and Pig
- Big Data Analysis with Hadoop and R
- Data Mining of Big Data
Data Processing in the Cloud - Parallel Programming and MapReduce Courses:
- Overview of Parallel Programming Courses
- Introduction to Heterogenous Parallel Programming in C and C++ Using CUDA
- Introduction to Parallel Programming with OpenCL
- Introduction to Parallel Programming with MPI
- Introduction to MapReduce
- Advanced MapReduce Programming
Data Processing in the Cloud - GIS (Geographic Information Systems) and the cloud:
- Overview of GIS and Cloud Computing Courses
- Introduction to PostGIS
- PostGIS Application Development with Python
- ArcGIS Python Programming
- Deploying PostGIS in the Cloud
- Spatial Data Mining with PostGIS and R
- Spatial Data Mining with PostGIS and Python
The Internet of Things - Arduino courses:
- Overview of Arduino IoT Courses
- Introduction to Arduino Application Building and Programming
- Mastering Arduino Tinkering Programming and Problem Solving
- Advanced Arduino Programming with PIC32 Devices
- Advanced Arduino Programming with ARM Cortex devices
- From Arduino to C Embedded Systems Programming
- From Arduino to C++ Embedded Systems Programming
- Building and Programming Arduino Based Smart Sensor Networks
- Building Combined Arduino Android Applications
The Internet of Things - RaspberryPi courses:
- Introduction to the RaspberryPi
- RaspberryPi Shell Programming
- RaspberryPi C Programming
- RaspberryPi C++ Programming
- RaspberryPi Python Programming
- RaspberryPi Wireless Networking
- RaspberryPi 6lowPan Networking
- Building Combined RaspberryPi Arduino Applications
The Internet of Things - Smart Sensors AdHoc Networks and 6lowPAN Courses:
- Introduction to AdHoc Sensor Networking
- Introduction to Practical Wireless Sensor Network Design and Deployment
- Introduction to TinyOS Programming
- Introduction to Contiki Programming
The Internet of Things - Smart Cities and Integrated Smart Sensor Data Generation:
- Introduction to Smart Cities Concepts and Technologies
- Smart Cities - Ethics, Civil Liberties and Human Righs - a Multi-Disciplinary Workshop
- Developing Smart City Applications - The Art of Combining Soft and Hard Systems
The Internet of Things - Networking and Software Defined Networking - TCP. IPv4, IPv6 and 6lowPAN :
The Internet of Things - Networking and Software Defined Networking - Network Technology - Switches, Routers, Ethernet WiFi :
- Introduction to Networking
- Introduction to Switches and Routers for Cloud Systems
- Introduction to DNS, SNMP, and LDAP for Cloud Systems