WELCOME-

This Blog is dedicated to giving an accurate compilation of notes and interpretations of Lannon's Technical Writing text book. Hopefully this will be helpful in furthering your understanding or even just giving you a look at the challenges of technical writing.

Monday, April 18, 2011

Cloud Computing, Chapter 12

CHAPTER 12: LOCAL CLOUDS AND THIN CLIENTS

A local cloud, or presentation virtualization, allows you to manage all of your data from your own datacenter. Most companies opt to go with a hybrid model, meaning instead of outsourcing they create their own cloud and use thin clients to access it.

Virtualization
Server vertualization is  when a server is partitioned into multiple servers so each appears and can run its own dedicated machine. Application virtualization is the software technology that separate them from the underlying operating system. A fully virtualized application will run as if it has been fully installed and it is tricked to believe that it is interfacing with the OS and resources. Presentation virtualization isolates the processing from the graphics which allows for the thin client to control the server. Virtualization can help with cost meaning you can have a cost-free datacenter where you buy the servers but use the options for free virtualization software and operating software. However you can use licensed software, the free software may have a higher operation cost for managing the OS and apply patches. This set up will also lover you administration burden by allowing quicker access and new server deployment. When virtualizing you should create a specialized plan depending on your needs. To create your plan you should look at usage now, CPU, Memory, adapters, file and system capacity, and total useled and unallocated disk space. Peak access should be monitored as well. Virtualized servers have the same security as normal servers.

Server Solutions
Differences in the server and the clients are major in the virtualized environment. the Server does everything in the virtualized environment. Hyper-V is Microsoft’s virtualization software, it is flexible and automatically adjusts to changing conditions. There are also solutions that configure, operate, deploy, and back up physical and virtual servers from the datacenter to the desktop. One of the benefits of Hyper-V is the use of the Windows platform. VMware is a virtualization project for the Linux platform. VMware is also teaming up with Intel to help promote the adoption of virtualization.

Thin Clients
Thin clients can be up to 80 percent more power efficient then a traditional desktop. Sun has created a thin client named Sun Ray, it is capable of displaying Solaris, Windows, or Linux on the same device.  HP the leading manufacturer of thin clients. Dell also produces a line of thin clients.

Cloud Computer, Chapter 11

Chapter 11: Developing Applications

There is a vast number of applications out there for the many different operating systems in existence.  However, if you can’t find the one you need, it’s not time to fret.  There are utilities that can be used to create the applications that are needed quickly and efficiently.

Google
Google is a great place to start if you need a quick application made and don’t have any resources to back it up.  The Google database, Google App Engine, is located in the cloud, so there is no cost to oneself for storage or management. Google’s engine uses Python as a programming language, which means, since Python is like many other languages, if you know any programming languages then you’ll have an easier time making the app through Google. Other advantages include cheap costs, being open source, and easy integration with SQL reports.

Salesforce.com has a services and tools available for use in the Google App Engine. These can help with the use of Python and its different capabilities. Also available are libraries for Python and tools for development of applications for mobile devices.

Also, Google has a system called Google Gears that can be used to create offline applications and is open-source. This targets one of the biggest concerns with cloud computing which is the fact that a lack of an internet connection would render the use of cloud computing useless.

Microsoft
Microsoft has a service called Azure Services Platform that allows you to create applications for remote server uses.  This platform allows one to create applications that can be run on many different systems including web and client servers.  It uses Microsoft Visual Studio and is run through the .NET Framework. Its management scales based on need and can be accessed through many different protocols such as HTTP, REST, SOAP, and XML.

There are many uses that come with Azure that include SQL Services, .NET Services, and SharePoint and Dynamics CRM Services.

The design of Azure Platform applications start with a zero layer as a hardware foundation. Then, Layer One, is the Azure operating system that can be used as storage and virtualization. Layer Two includes the building blocks to create applications and Layer Three has other applications already created.

Intuit QuickBase
This program allows users to make applications specifically for industries and business models that they need it for. This draws from 200 templates to make business applications. They offer SaaS services to create applications as consultants quickly, cheaply, and more effectively than going at it alone.

Cast Iron Cloud
With Cast Iron Cloud, there is the option of either creating applications in the cloud, or using them in an on-site integration. This allows for an easy transition between the two. They have a library of integration processes available for client use.

Bungee Connect
This is a platform that offers a development environment for testing and implementation and also offers hosting for these applications. They offer easy browser delivery and integration with web services such as SOAP and SQL.

Cloud Computing, Chapter 10

Chapter 10: Software plus Services

Benefits include combination of client software with Internet, working offline gives flexibility, you can keep most sensitive data housed on-site and move rest to the cloud, more efficient, software can be offered in different shapes and sizes.

Cons include cost if you are use a service heavily, quality of service, and fear of storing data on the cloud.

A broad alliance developed Android, an open and comprehensive platform for mobile devices.  This alliance shares a common goal of giving consumers a chance to experience performance improvements over existing mobile platforms.  
Thirty-four companies have formed the Open Handset Alliance, which aims to develop technologies that will significantly lower the cost of developing and distributing mobile devices and services.  

Software plus Services is a good match for mobile users, telecommuters, and others on the go, there is still value for deskbound users.  Applications can be developed by your organization or your vendor, depending on what your vendor offers or what you need.

Microsoft offering Software plus Services allows for a functional way to serve your organization, but it also provides a means to function on the cloud in a way that you are probably already used to with your in-house computers.
In addition to significant new Software plus Services to support customer and partner choice and flexibility, Microsoft also offers a spectrum a new partner opportunities.  
Microsoft has also seen broad adoption of its unified communications platform and products.  

Tuesday, April 12, 2011

Cloud Computing, Chapter 9

Chapter 9: Software as a Service


Software as a service is when an application is hosted on a server so that clients can connect to and use that application without having to have a physical copy on their side. This can be split into two categories that are a line of business services, which are business oriented applications that are subscription based, and customer-oriented services, which usually have the option for free usage with ads rather than pay-only subscriptions and are geared toward the public.


Advantages

There are many advantages to using SaaS.  These include lowered costs in installation and labor since all of the applications are in one place, lower licensing costs, tighter security, and the most up to date versions.  This can also benefit the vendor too, since the use of SaaS places less concern on hard copies of the software and pirating issues.

There are, however, some limitations that are presented.  Since SaaS is something that has to be built so that everyone can use it everywhere, it can be difficult to create the necessary software.

Driving Forces

SaaS has become very popular and this is due, in part, to the rise in cloud computing. Both software vendors and enterprises have come to welcome SaaS, one reason being the lightened work load when the applications being used area part of the cloud. Virtualization has also increase the ease of using SaaS as well as service-oriented architecture  or SOA, which is allows companies to increase the internal and external availability of their systems.

Company Offereings
  • Intuit - Quickbooks
    • Quick and easy access to financial data 24/7
    • Online hosted software for low maintenance and overhead
    • Simple retrieval of information
    • Mobile capabilities
  • Google
    • Google Apps with free and business-oriented models
    • Offers storage, business APIs, and reliability for a low cost
    • Apps include Gmail, Google Docs, Calendar, and mobile solutions
  • Microsoft - Live Small Business
    • Includes many free resources such as web hosting, productivity applications, and custom domain names
    • Online Store Manager that allows for a personal marketplace
    • Along with domain name comes a business email service allowing 100 accounts with 5 GB each
    • Simple activation, integration, and synchronization with current Microsoft products
  • IBM - Blue Cloud
    • Built for corporate data centers to allow an easier distribution of its data across connected machines
    • Includes a testing environment for different applications such as those made in Web 2.0


Other Industries
  • Healthcare
    • Microsoft HealthVault - A medical data SaaS
    • Advanced MD - A medical billing software
  • Collaboration
    • WebEx - A set of collaboration software built for meetings, event, sales, etc.
  • Construction
    • CMiC - Software solution for architecture, engineering, and construction
  • Retail
    • Epicor - A pay-as-you-go solution for store retailers for merchandising, allocation, replenishment, etc.
  • Banking
    • OpenChannel
      • Online banking through many services including mobile devices
      • Also includes electronic bill payment, value-based routing/payment preference, and high security

Monday, April 11, 2011

Cloud Computing, Chapter 8

Chapter 8: Standards

A cloud application is the software architecture that the cloud uses to eliminate the need to install and run on the client computer.  There are many applications that can be run, but there needs to be a standard way to connect between the client and the cloud.  For instance, HTTP is the standard for transferring data between the cloud and your organization.

While HTTP is the most common way to connect browsers to the cloud, the Extensible Messaging and Presence Protocol (XMPP) could be the next big thing for cloud computing. XMPP allows for two-way communicating, instead of just one-way information exchanges.  It also eliminates polling, or having the client ping the host at regular intervals.  XMPP is XML-based and and easily extensible, which makes it ideal for cloud computing, as well as being efficient and able to scale to millions of concurrent users on a single service.  


Secure Sockets Layer (SSL) is the standard security technology for establishing an encrypted link between a web server and browser, ensuring that the data passed between the browser and the web server stays private.  It includes some behind-the-scenes steps, and all you are likely to see is that the page takes a bit longer to load.


Cascading Style Sheets (CSS) are used to control how pages are presented, and make pages more accessible.  Dynamic HTML (DHTML) is a different way of looking at and controlling the standard HTML codes and commands, rather than a new specification of it.  Four parts to HTML are the Document Object Model (DOM), which allows you to access your web page and make changes with DHTML; scripts, which are used to control the objects specified in the DOM; CSS, used to control the look and feel of the web page; and XHTML, the code for writing the web pages and is used to build the elements for the CSS and the DOM to work on.  
One of the most common uses of DHTML is changing the qualities of an HTML tag, depending on an event outside of the browser. Real-time positioning allows objects, images, and text to move around the web page.  

Javascript is a scripting language used for client-side web development.  It runs locally on a user’s browser rather than on the server, so it responds quickly to user actions. It can detect user action, which HTML cannot, like sensing individual keystrokes.

Infrastructure is a way to deliver virtualization to your cloud computing solution.  Virtualization is gaining widespread adoption due to its indisputable customer benefits.  
Hypervisors are the foundational component of virtual infrastructure and enable computer system partitioning. As an initial step, VMware contributed an existing framework of interfaces, based on its virtualization products to facilitate the development of these standards in an industry-neutral manner.



As the result of VMware and its industry partners’ efforts, a standard has already been developed called the Open Virtualization Format (OVF).  It is platform-independent, extensible, and open specification for the packaging and distribution of virtual appliances composed of one or more virtual machines. OVF gives customers and developers the choice to select any hypervisor based on price, preference, or functionality, and it prevents vendor lock-in.  


A web service is a software system designed to support interoperable machine-to-machine interaction over a network that may be accessed by other cloud computing components.  JavaScript Object Notation (JSON) is a lightweight computer data interchange format, used for transmitting structured data over a network connection in a process called serialization, and is often used as an alternative to XML.  It should be used instead of XML when JavaScript is sending or receiving data. Extensible Markup Language (XML) is a standard, self-describing way of encoding text and data so that content can be accessed with very little human interaction and exchanged across a wide variety of hardware, operating systems, and applications.  XML provides a standardized way to represent text and data in a format that can be used across platforms, and can be used with a wide range of development tools and utilities.  
Web services describe how data is transferred from the cloud to the client.  Representational state transfer (REST) is a way of getting information content from a web site by reading a designated web page that contains an XML file that describes and includes the desired content.  It is similar in function to the Simple Object Access Protocol (SOAP), which offers more capability but is harder to use.
An important component in REST is the existence of resources, which are sources of specific information and each one is referenced by a global identifier.  

SOAP is a way for a program running in one kind of operating system to communicate with a program in the same or another kind of an operating system.

Cloud Computing, Chapter 7

Chapter 7: Cloud Storage

Storing data with a cloud service provider...

Overview:

If stored in the cloud, your data can be accessed from any location. There are hundreds of different cloud storage providers, ranging from general to very specific niches. Like flicker with pictures. All that is need for a storage system is a data server connected to the interwebs, most systems are made up of dozens or hundreds of servers. Due to maintenance it is necessary to store the data on multiple servers, without this data access couldn’t be guaranteed at all times. Cloud storage is used, often, as a safety net so that if something happens to their computer- like a hijacking-  the data is still accessible. Storage as a Service (SaaS) is when a third party rents space on their dataservers to end users.

Specialized Cloud providers are google docs (documents, spreadsheets, powerpoints), web email from gmail, yahoomail and hotmail, flickr and picasa specialize in pictures, youtube hosts user videos, and facebook and myspace are networking sites that allow users to post pictures and videos. Many of these are free, but some storage charges per GB of data. Securityt takes the form of encryption using complex algorithms to encode information, authentication through a user name and password, and authorization practices  where the client creates a list of people authorized to access the data. However the threat of hackers is always hanging in the air.

The reliability of the system, if you are unable to access the data stored due to a system crash, but with how many different services available those unreliable providers will have few clients and often aren’t around long. Cloud providers move and balance the information on their dataservers making the information close and easily accessed. Cloud storage is a great safety net for data in case of a disaster, the files are okay and backed up off site.



It is best, at this point in time, to used a mixed approach as cloud storage is still immature. It is recommended that the cloud is used for noncritical purposes. The most critical factors to take into consideration when thinking of moving to the cloud is price and reliability, try different services to find the one best for your needs. Outages are a possibility, so take that into account when deciding on a provider. Security and theft are risks with cloud storage, when the data is away from your own datacenter; make sure to encrypt your data and secure the data transit.

Providers:
(non comprehensive list)

Amazon Simple Storage Service (S3)-
Launched in 2006, S3 was designed to make wed-scale computing easier and can be used to “store and retrieve any amount of data, at any time, from anywhere on web”(142). It allows any client to use the infrastructure Amazon uses. It allow for an unlimited amount of objects to be stored, written, read and deleted. Each object is stored and retrieved with a unique key, they can be public, private, or for specific users. S3 was built to be scalable, reliable, fast, inexpensive, and simple. In order to do this Amazon made the system decentralized to remove single points of failure, autonomic so that individual components can make decisions using local data, localized responsibility, little or now concurrency control required, failure of components normal, parallelism, build small components that can then been built on for other services, simplicity.
S3 works using a “bucket system” where each object (up to 5GB) is stored with 2KB of Metadata, these objects are organized by “buckets” and are owned by an AWS account and identified by a unique key. Developers only pay for what they use!

Nirvanix-
Software file system stored on intel storage servers, they are expecting to add more server locations. The Nirvanix Storage Delivery Network (SDN) turns a server into network attached storage.

Google Bigtable Datastore-
Made public in 2008, Bigtable was developed to be highspeed, flexible, and high scalability. It is available as part of the google app engine. Developers have been cautious about using bigtable as they get locked into google. Cost wise it runs about the same as Amazon.

MobleMe-
Apple’s solution with email, contacts and calendar. They also provide ad-free web applications for a desktop like experience. Push keep contacts, email and calendars up to date no matter what you use to access the MobleMe.  20GB is $99 a year for an individual or $149 for a family, additional space can be purchased.

Live Mesh-
Microsoft’s solution, which allows PC’s and other devices to be aware of each other. Live mesh is made of a platform defining and modeling a user’s digital relationship among devices, data, applications, and people; hosted in Microsoft datacenters, software that enables local applications to run offline. The software, Mesh Operating Environment is available for XP, Vista, Mobile and OS X.


Cloud Computing, Chapter 6

Accessing the Cloud

Platforms: how cloud computing is delivered
AJAX,  Asynchronous JavaScript and XML, consists of multiple technologies and languages used for creating interactive web applications. The interaction of the languages and other tools allow for the retrieval of information from other sources, as opposed to rewriting the repeating information. However these sites are hard to favorite and often they do not show up on the History engine, meaning the back button will not show the previous page.
Web hosting service, often referred to as the “cloud provider”, are organizations that will host your information. Amazon Elastic Compute Cloud and Mosso are examples of cloud providers. Individual companies like microsoft and salesforce, have designed their own infrastructure for cloud interfaces.
***side note- pre-existing libraries can be used to create web applications

Web Applications
When using applications in the cloud, there are many, many choices from which to decided. Finding the right one for your needs comes down to the provider and what they offer. Google is a huge cloud operator and offers many different applications including mail, im, calenders, a customizable homepage, documents, and access from mobile devices.

Web APIs
APIs, application programming interface, is an interface that allows one program to talk to another. In a way, you could see it as translating from one language to another. This is done very often in web design and is commonly used as a way to communicate between different types of servers so that information can be transferred and processed quickly and accurately. An example of this is the verification of credit card information when making an online purchase.
There are a vast number of APIs with numerous purposes.  These interfaces exchange data through web services using programming languages like XML, which is used as a standar, so that they can be modified to perform various tasks.  SOAP, a standard for any network protocol, UDDI, which functions like a directory, and WSDL, which is used within UDDI for network descriptions, are other standards that can be used.
There are many ways to make your own APIs if you aren’t able to find one that suits your needs. Using Google Data APIs and a website known as Salesforce.com, you have all the tools and information necessary to create many different types of APIs.
One type of API is the GoGrid system that allows individuals to communicate to and control their GoGrid cloud server.  The API allows for many different features, such as listing of information and control of data servers, and lets you use multiple programming languages like Java, PHP, Python, and Ruby.
Apex is another often used web service API that supports approximately fifty percent of the APIs on Salesforce. This API allows for complex instructions through a single command and is executed quickly through the JOIN functionality that only Apex’s API uses. There are multiple capacities that are offered by Apex which include Apex Builder, allowing for drag and drop customization, Apex API, the service that allows for data exchange, and Apex Code, a server-side language for Apex that reduces the stress that the server takes from API data calls.



Web Browsers
Browsers tend to be mostly the same, with a few functional differences, so you can use any browser you want.  Internet Explorer is the most popular, probably because it is included with Windows, but there are several other options.

Internet Explorer 8 is the latest version (unless you’ve used a computer more recently than the book was published).  The biggest change was in its multiple content-rendering modes - both supporting strict interpretation of certain web standards and also supporting behaviors designed to maintain compatibility with existing web sites.  The newest rendering mode is forward-looking and preferred by web designers, while the others are around to enable compatibility with sites optimized for earlier browser versions.  

Firefox 3 was released in June 2008, offering over 15,000 improvements and 2-3 times faster.  The smart location bar, known as the “Awesome Bar,” learns as people use it; the library archives history, bookmarks, and tags; and the new full-page zoom displays any part of a web page, up close and readable in seconds.  Built on top of the Gecko 1.9 platform, Firefox 3 is safer, easier-to-use, and uses less memory while its running.  There is  new malware and phishing protection, and the one-click site ID information allows users to verify the site.  

Apple claims that Safari 3.1 is the world’s fastest web browser, as well as being the first browser to support the latest standards needed to deliver Web 2.0 experiences.  Safari features include drag-and-drop bookmarks, integrated Find capability that shows the number of matches in a page, and a built-in RSS reader.  

Google Chrome was designed to make it easy to search and navigate for content.  Features include a combined search and address bar; new tabs show most-visited sites, recent searches, and bookmarks; and each browser tab operates as a separate process.  Chrome could be a great tool for cloud computing: it extends the cloud into your organization’s computer, and vice versa, because of the V8 JavaScript engine and built-in Google Gear.  It is believed that Chrome will allow desktop and web applications to merge, putting everything into the cloud so that you won’t even have to think about both terms.

**Note: I don’t know all the new features of IE 9,  Firefox 4, Safari 5, or Google Chrome.  I used the “current” information from the book.