Quantcast
Channel: Morpheus Blog
Viewing all 1101 articles
Browse latest View live

New Compilers Streamline Optimization and Enhance Code Conversion

$
0
0

Researchers are developing compiler technologies that optimize and regenerate code in multiple languages and for many different platforms in only one or a handful of steps. While much of their work focuses on Java and JavaScript, their innovations will impact developers working in nearly all programming languages.

Who says you can't teach an old dog new tricks? One of the staples of any developer's code-optimization toolkit is a compiler, which checks your program's syntax, semantics, and other aspects for errors and otherwise optimizes its performance.

Infostructure Associates' Wayne Kernochan explains in an October 2014 TechTarget article that compilers are particularly adept at improving the performance of big data and business-critical online transaction processing (OLTP) applications. As recent developments in compiler technology point out, the importance of the programs goes far beyond these specialty apps.

Google is developing two new Java compilers named Jack (Java Android Compiler Kit) and Jill (Jack Intermediate Library Linker) that are part of Android SDK 21.1. I Programmer's Harry Fairhead writes in a December 12, 2014, article that Jack compiles Java code directly to a .dex Dalvik Executable rather than using the standard javac compiler to convert the source code to Java bytecode and then to Dalvik bytecode by feeding it through the dex compiler.

In addition to skipping the conversion to Java bytecode, Jack also optimizes and applies Proguard's obfuscation in a single step. The .dex code Jack generates can be fed to either the Dalvik engine or the new ART Android RunTime Engine, which uses Ahead-of-Time compilation to improve speed.

Jill converts .jar library files into the .jack library format to allow it to be merged with the rest of the object code.

Google's new Jack and Jill Java compilers promise to speed up compilation by generating Dalvik bytecode without first having to convert it from Java bytecode. Source: I Programmer

In addition to streamlining compilation, Jack and Jill reduce Google's reliance on Java APIs, which are the subject of the company's ongoing lawsuit with Oracle. At present, the compilers don't support Java 8, but in terms of retaining compatibility with Java, it appears Android has become the tail wagging the dog.

Competition among open-source compiler infrastructures heats up

The latest versions of the LLVM and Gnu Compiler Collection (GCC) are in a race to see which can out-perform the other. Both open-source compiler infrastructures generate object code from any kind of source code; they support C/C++, Objective-C, Fortran, and other languages. InfoWorld's Serdar Yegulalp reports in a September 8, 2014, article that testing conducted by Phoronix of LLVM 3.5 and a pre-release version of GCC 5 found that LLVM recorded faster C/C++ compile times. However, LLVM trailed GCC when processing some encryption algorithms and other tests.

Version 3.5 of the LLVM compiler infrastructure outperformed GCC 5 in some of Phoronix's speed tests but trailed in others, including audio encoding. Source: Phoronix

The ability to share code between JavaScript and Windows applications is a key feature of the new DuoCode compiler, which supports cross-compiling of C# code into JavaScript. InfoWorld's Paul Krill describes the new compiler in a January 22, 2015, article. DuoCode uses Microsoft's Roslyn compiler for code parsing, syntactic tree (AST) generation, and contextual analysis. DuoCode then handles the code translation and JavaScript generation, including source maps.

Another innovative approach to JavaScript compiling is the experimental Higgs compiler created by University of Montreal researcher Maxime Chevalier-Boisvert. InfoWorld's Yegulalp describes the project in a September 19, 2014, article. Higgs differs from other just-in-time (JIT) JavaScript compilers such as Google's V8, Mozilla's SpiderMonkey, and Apple's LLVM-backed FTLJIT project in that it has a single level rather than being multitiered, and it accumulates type information as machine-level code rather than using type analysis.

When it comes to optimizing your heterogeneous MySQL, MongoDB, Redis, and ElasticSearch databases, the new Morpheus Virtual Appliance makes it as easy as pointing and clicking in a single dashboard. Morpheus is the first and only database-as-a-service (DBaaS) that supports SQL, NoSQL, and in-memory databases across public, private, and hybrid clouds.

With Morpheus, you can invoke a new database instance with a single click, and each instance includes a free full replica set for failover and fault tolerance. Your MySQL and Redis databases are backed up and you can administer your databases using your choice of tools. Visit the Morpheus site to create a free account.


How Important Is It for Your Apps to Be ‘Cloud Native’?

$
0
0

Note: This article was written by Morpheus Data's CTO Brian Wheeler and was originally published by DevOps.com. To see the original article click here

There’s plenty of life left in a great number of the applications that companies have been relying on and profiting from for years. The future may belong to cloud-native apps that deliver the performance and efficiency benefits of microservices and containers, but in the here-and-now, organizations are looking for ways to combine the best of the old with the promise of the new.

With continuous development, you could argue that the software industry has eliminated the concept of product lifecycle altogether. Yet every IT manager knows that some of the applications currently used by their organization will likely be running long after they have hung up their compiler.

These legacy applications have proven their worth many times over. Some are one-offs that easily accommodate and are accommodated by new systems as they are implemented. Some are so good at what they do they epitomize “If it ain’t broke, don’t fix it.” In the mass migration of apps and data to the cloud, it’s natural that such grand old apps would come under scrutiny as candidates for replacement by their cloud-native counterparts.

In a December 8, 2015, article on The Stack, Red Hat’s Gordon Haff examines the results of a recent IDC survey of enterprise DevOps teams, which found that 83 percent anticipate having to support legacy applications and infrastructure through 2019.

It may seem counterintuitive, but the organizations that have gone furthest in adopting “distributed, scale-out, microservices-based applications” are twice as likely to delay converting existing apps to cloud architectures.

What characteristics make an application ‘cloud-native’?

The simplest definition of a cloud-native application is one that is “decoupled from the physical infrastructure,” as TechTarget’s Sean M. Kerner writes in a December 2015 article. In addition to being designed from the ground up to run in the cloud – whether private or public – the app must also scale on demand, both up and down, and across nodes.

Cloud-native apps are fault-tolerant, built to scale, and designed to process requests asynchronously, using queues to decouple functionality. Source: Munish Kumar Gupta, via Slideshare.

Another feature that is quickly becoming standard on cloud-native apps is use of Docker containers, which facilitates deployment on public Amazon Web Services (AWS) clouds and private OpenStack clouds, among other options. A more formal definition of “cloud native” will likely arrive soon from the Cloud Native Computing Foundation, an effort sponsored by the Linux Foundation and others. InfoWorld’s Sarder Yegulalp describes the foundation’s goals in a December 17, 2015, article.

Containers are a key component of the CNCF’s proposed standard for applications and services that run natively on public and private clouds, and that move seamlessly between the two environments. Rather than writing specs on paper first and then implementing the code based on the specs, CNCF will create the code for its reference implementations. Google, a CNCF member, has donated its Kubernetes container-orchestration system and stands to benefit via the foundation’s support for private and hybrid clouds, a technology the company currently lacks.

The Continuing Evolution of Cloud-Native

It’s tempting to limit the definition of a “cloud-native” app to those two primary characteristics: decoupled from the infrastructure; and scalable up, down, and across nodes. If this approach strikes you as too simplistic, you’re not alone. InformationWeek’s Charles Babcock explains in a July 30, 2015, article that the key to cloud-native is microservices – which he refers to as “discrete application services” – running in their own containers and connected via a network to create custom applications. The result is an environment for “user-driven systems” comprised of standardized parts and governed by “standardized deployment and operational procedures.”

The combination of microservices and containers pushes down the app stack and simplifies deployment in computing environments of all types. Source: Richard Harvey of Ngineered, via SlideShare

The payoff for companies is still far off, according to Babcock, but ultimately cloud-native apps will keep firms focused on their customers as the software landscape shifts around them. This translates into a competitive advantage via continuous deployment and delivery of “fresh” software. There’s no better bridge connecting today’s still-valuable legacy apps with tomorrow’s user-driven software environment than Morpheus Data. Click here to sign up for a demo now. 

Tips for Documenting REST APIs

$
0
0

Having a REST API available to interact with your system can be a great asset, and can help get more and more developers to use your service. However, incomplete or hard to read documentation of your API can make it difficult for people to make use of the API, so good documentation is a must if you want to get as many people up and running with your API as possible. So, what are some things that can be done?

Include as much helpful information as possible

This probably goes without saying, but you can help developers immensely by providing helpful, straightforward information that lets people know what to expect when they make an API call. For example, here are some key pieces of information you may wish to include in your documentation:

  1. Title: It is a good idea to lead with a meaningful title that describes the action that will be taken. Leading with the URL can be confusing, as it is less likely to convey the action to be taken quickly. For example, a title could be “Get all widgets” or “Post new message”.

  2. URL: List the path that will be used to make a call. Variable parameters are signified by a colon. Some examples:
    /widgets
    /widgets/:id
    /widgets?type=:type

  3. Request type: Be sure to include what type of request needs to be made – GET, POST, PUT or DELETE.

  4. Parameters: Include any parameters that are available, and whether each is required or optional.

  5. Expected responses: What responses should the user expect on success or failure? For example, the API might return 200 on success or 401 if the request is unauthorized.

Of course, these are just the basics. You may wish to add special notes or provide examples of what will be posted or returned for each route, all of which will prove helpful for developers making use of your API!

Be consistent

In addition to providing the right information, it is a good idea to be consistent in its presentation. Be sure to use a consistent template for displaying the documentation for each route (commonly a layout that looks visually like a table. Also, use consistent naming conventions.

For example, try to avoid using two terms that refer to the same thing, such as using the terms “users” and “members” to refer to the users of the system. If they are two different entities in your system, then be sure to make the distinction clear in your documentation, as it will help avoid confusion and make your API easier to use!

SaaS with Morpheus

Do you need to deploy APIs, apps, databases, and other infrastructure quickly? Try out Morpheus, which provides Software as a Service with excellent flexibility.


The Morpheus interface is clean and easy to use. Source: Morpheus.

Morpheus allows you to provision apps in a single click, and provides ease of use for developers with APIs and a CLI. In addition, backups are also automatic, and you can have redundancy as needed to avoid potentially long waits for disaster recovery to take place. So, why not register an account or sign up for a Morpheus demo today?

Press Release: Morpheus Data Promotes Pete Beecher to VP of Sales

$
0
0

SAN MATEO, Calif., May 4, 2016 — Morpheus Data, one of the first infrastructure-agnostic platform as a service (PaaS) solutions, today announced that Pete Beecher has been promoted to Vice President of Sales.

Beecher has been promoted to this new position after being with the company for only six months. Originally tasked with managing Morpheus Data's quickly growing channel partner program, he has now been asked to take a stronger leadership position to help grow overall sales at Morpheus Data.

"Pete has a wealth of experience in our industry," said Jeff Drazan, Chairman and CEO of Morpheus Data. "We brought Pete in initially to run channel sales, and he quickly demonstrated the leadership we are looking for to run all of our sales efforts. We're lucky to have talent like Pete so early in the game at Morpheus."

Since Beecher first jointed the Morpheus Data team, sales have increased significantly, achieving quarter over quarter growth well over 100 percent. In his new role, Beecher will continue to grow the sales team, adding more territories and representatives nationwide.

"I could not be more excited about this opportunity," said Beecher. "To join such a strong and capable team at a critical time during the company's evolution is really exciting. We've already seen more customer acceptance than any other product launch I have been exposed to, and I feel confident that this is only the beginning of a larger ramp as we expand our coverage."

Prior to Morpheus Data, Beecher spent 15 years at Cisco where he started as a product specialist and worked his way up to become a regional sales manager. Beecher earned a bachelor's degree from Idaho State University, and an MBA from University of Phoenix. He is also a Certified Information Systems Security Professional (CISSP).

About Morpheus Data

Morpheus Data is one of the first infrastructure-agnostic cloud management platforms and true DevOps solutions made for the enterprise. Created for today's technology leaders by top IT, DevOps and Engineering minds, Morpheus Data lets these leaders manage their most important workflows, servers, clouds, apps, and more from a single, easy to use, interface. One-click provisioning, automatic logging, monitoring and backup, intuitive alerts and easy security policies are a few ways Morpheus is helping customers.

Morpheus Data's founding team consists of some of the most sought after talent in the industry with experience that includes AT&T, Cisco, EMC, ServiceNow, Intuit and others.

For more information, visit www.MorpheusData.com. You can also follow Morpheus on Twitter, LinkedIn or on its blog: www.MorpheusData.com/blog.

IT Managers! What's Keeping You Up At Night?

$
0
0

Do you know what keeps IT managers awake at night?

I'll give you a hint, it's no small list. If any of these sound familiar to you, take heart, you're not alone...

  • Workers going through your IT budget like it’s bottomless
  • Employees spending nearly their entire workday doing maintenance tasks
  • One-off apps and services that turn into money pits
  • Getting stuck with a huge investment in outdated technology
  • Users leaking the organization’s sensitive, valuable data assets into unsupported, unsecured cloud services
  • The need to support legacy systems that some division or department continues to rely on – and refuses to let go of
  • And that old, insomnia-inducing standby: bad data

Is it any wonder IT managers are losing sleep like never before? The problems seem to go on forever, but fortunately, new solutions arrive in the nick of time (we hope). Here’s a look at how two IT pros solved their biggest IT and DevOps problems that robbed them of their REMs.

Automation and alerts minimize the impact of disruptions

Brent Gray, CTO of Dupray Inc., seller of steam cleaners and steam irons in six countries, shares his favorite solutions to common IT glitches:

You know what keeps me up at night? Putting in long, inefficient man-hours towards IT maintenance/upkeep problems. My team used to get majorly bogged down by this.

How have we gotten around that? Automation.

I used to be heavily invested in the day-to-day IT operations of the company, and would often sink a significant amount of time on the minor, micro details…. We decided to pivot to macro. To allow this pivot to occur, we absolutely needed to ensure that the day-to-day operations were sufficiently automated to allow us to not worry about them. Our first step was to hire the appropriate employees … who could develop the tools we needed to automate our processes. As a concrete example, we switched from the OpenERP to the much more robust Netsuite ERP.

Our most crucial processes are now integrated into our Netsuite ERP. We have automatic shipping, automatic relaying of invoices, specific tax calculations, inventory assessments, inventory restocking and transfers, automated priority customer service, automated bid adjustments for Adwords, PLAs, Bing, Amazon, Facebook, Twitter, and Instagram advertising (minimum oversight).

We have slight automation that pulls data from Google Analytics and gives us advanced analysis. We have alerts that tell us where we need to focus attention, where our brand is being mentioned, and by whom. We have automated fraud detection that has saved us thousands of dollars.

Obviously, these processes all required trial and error. Every situation will have an odd case or two that our software can’t to handle. These weird exceptions must be discovered before they can be integrated safely without hanging our code.

Moreover, these processes are generally extremely complex. We are a highly multinational corporation and consequently, we deal with significantly different laws, taxes, rules, models, and cultural mores. Creating, finding, or using tools are all exceedingly complex. Yet, when we see a repetition of orders or demands, we believe that with enough investment in automation, a process could be created which takes away the need for human oversight.

Best tool to help us with IT maintenance tasks:

Alerts. Our business automation notifies the right employee when something is not working properly, or something requires attention. For example, one of our programs notifies the phones of our employees when multiple emails are being sent by the same sender. This usually indicates a pressing issue or an unsatisfied customer who needs to be contacted immediately.

The biggest challenge remains: Bridging old technologies with new ones

It isn’t often a company can start afresh with their IT operations. In nearly every case, there are systems in use that are vital yet prove difficult or impossible to migrate or upgrade. Frank S. Nestore of technical consulting company Mathtech identifies three areas that must be addressed when adopting cloud technologies:

I am an IT consultant who works with companies to help them transform how they operate and use technology. A lot of it is modernizing legacy computer systems. Along with that comes a lot of recurring problems related to standalone “pet” systems, cultural change management (getting folks to use new systems rather than their old, manual but comfortable ones), and incorrect or incomplete data. 

 

You can’t predict every condition your data and network are likely to encounter. But, with a little planning – and a rock-solid cloud management platform– you can be confident that your company will keep rolling through the many little glitches, and, most importantly, you won't find yourself losing any more sleep over hopeless IT and DevOps problems. 

Continuous Delivery: The Holy Grail of Cloud App Management

$
0
0

The stepwise approach to software development no longer cuts it, not just because it’s too slow and too expensive, but most importantly because it fails to provide users with the mobile-ready, agile apps they need to achieve their organization’s goals.

In IT departments large and small, you can hear the sound of silos crashing to the ground. No longer do development teams, operations teams, or any other subset of a company’s technical operations work in isolation. The goal is to get everyone in the organization – from CTO to weekend help-desk operator – thinking end-to-end. Projects no longer have start and end dates. Timelines become nebulous, more flexible, and better able to adjust to fast-changing business conditions.

Welcome to the world of continuous integration, a key component of which is continuous delivery. No longer do development, testing, deployment, and maintenance happen as distinct steps in a predictable sequence. Now the process is a loop in which everything is happening at once, and everyone is working in a single team: managers, developers, operators, and end users participate at each stage of the software process.

Chris Shayan's Continuous Delivery Maturity Matrix

The continuous delivery maturity matrix devised by Chris Shayan presents five stages of implementation: from novice to expert. Source: Chris Shayan, Atlassian

It’s no surprise the switch to continuous integration/continuous delivery has met with some resistance. In a February 1, 2016, post, Software Development Times’ Christina Mulligan writes that continuous delivery requires that developers “learn new skills, work in new environments and work at a new pace.” What’s the payoff? A closer connection to the customer, which ultimately translates into higher-quality software created faster and more efficiently.

How does continuous delivery make good on such promises? Think small. The development pipeline is populated with smaller releases whose failures occur more quickly and are easier to discover and fix. By failing faster and smaller, you’re able to try more new things without worrying about long-lasting effects; any negative feedback arrives almost instantly, and changes can be made nearly as fast.

Continuous delivery requires automated testing and monitoring

The enemy of continuous integration/continuous delivery is anything that creates a bottleneck. The most likely place to encounter a bottleneck in the process is change management. According to CA Technologies executive Aruna Ravichandran, teams need to establish the value of every change based on user feedback, and they must make sure they’re always working on the most valuable components in a way that reduces risk. 

According to Mulligan, making CI/CD work requires two things: a bottom-up approach driven by developers who are inventive and curious; and the orchestration, testing, automation, container, and other tools designed for small, agile applications. Counter-intuitively, bottom-up development only works when it is supported at the top. The CTO is going to insist on the auditing, traceability, reporting, and insight that are standard components of traditional IT operations.

According to a recent Continuous Delivery Survey, few organizations currently meet the three criteria of continuous delivery:

  • The teams are confident that their code is in a shippable state after changes are made and any tests are completed.
  • Their teams perform pushbutton or fully automated deployments of code changes to any environment.
  • All stakeholders have visibility into the software delivery environment.

Martin Fowler's continuous-delivery process

Martin Fowler’s description of a successful continuous-delivery process entails making sure software is always deployable, near-instant feedback on production readiness, and pushbutton deployments of any version to any platform. Source: Martin Fowler

IT Pro Portal’s John Esposito reports on the survey results in an April 6, 2016, article. Among the findings are that only 18 percent of the 600 IT professionals who responded to the survey believe their organization achieves all three continuous-delivery goals. The 41 percent of respondents who stated they have some continuous-delivery projects in place represents a 9 percent decrease from the number recorded in the previous survey.

The three most-common obstacles cited by respondents in their efforts to realize continuous delivery are a lack of corporate culture (57 percent), insufficient time to implement continuous delivery (51 percent), and lack of required skills (49 percent). It’s no surprise that lack of corporate culture was cited more often by people at large organizations, and lack of time was the chief deterrent reported by respondents from small companies.

It’s easy for IT managers to grasp the benefits of migrating their apps and databases to the cloud. Yet many IT pros continue to manage their cloud-based systems the same way they managed their in-house hardware. Logicworks’ Jason McKay writes in a March 14, 2016, article on The Whir that treating each server instance and network configuration as a “snowflake” duplicates an in-house management approach that is unsuitable to the cloud. Soon your cloud operations are suffering from the same unnecessary overhead that plagued your on-premises servers: slow updates, poor visibility, and cumbersome troubleshooting.

By contrast, treating infrastructure as code introduces such healthy software practices as easy accommodation of the inevitable requirements changes; frequent updates; automatic, continual testing; and more time spent coding than is spent documenting and putting out fires. McKay lists six characteristics of a healthy cloud-management strategy:

  1. Think modular: Separate cloud functions into independent modules that fail independently and are easy to reuse and reconfigure.
  2. Use a configuration tool such as Puppet or Ansible to keep your infrastructure and configuration separate.
  3. Use cloud templates and configuration scripts as the central documentation for the cloud environment’s current state, and for all of its previous states.
  4. Favor standardized tools and practices over custom ones to promote best practices while also encouraging flexibility and agility.
  5. Maintain a constant iterative state that repeatedly cycles through develop, deploy, test, learn.
  6. Simulate the worst worst-case scenarios you can imagine so you can fail (and recover) early and often.

One of the greatest challenges to adopting a cloud-first approach to managing your company’s information assets is replacing the long-standing distinction between hardware and software with a singular view of apps and infrastructure as code that is in constant motion. The entire network – the apps, data, and platform they run on – is perpetually and simultaneously being developed, deployed, tested, and updated. As usual, the only constant is change.

PRESS RELEASE: BIS, MORPHEUS DATA, FORGE NEW PARTNERSHIP

$
0
0

Note: This press release was originally published by BIS. Click here to see the original announcement. 

BIS, the leading, national full-service information technology provider and integrator of high quality document and data management systems, is pleased to announce another new partner addition to its diverse portfolio.

Morpheus, a cloud application management for platforms (CAMP) solution that delivers app and database provisioning, auto-scaling, back-up & recovery, logging and monitoring, and more will be added to the deep and growing suite of options BIS provides to its clients.

Morpheus is infrastructure-agnostic, giving managers full control over their development and IT operations while avoiding the constraints of vendor lock-in.

“Morpheus represents the types of solutions and services BIS wants to provide to its clientele,” said BIS President and CEO Danny Rotelli. “Morpheus’ technology offers tremendous flexibility, adaptability and freedom, which our clients tell us is important to them. Adding them to our portfolio gives us more room to grow while offering the solutions our clients tell us they need in today’s competitive environment.”

Headquartered in San Mateo, California, Morpheus was initially developed to serve the needs of a private equity portfolio owned by Bertram Capital. Morpheus Data was later incorporated as an independent company with a focus on providing DevOps technology to modern enterprises and managed service providers.

Built on next-gen container architecture, Morpheus delivers reliable cloud scalability along with 4 – 6X better server density. Morpheus can be deployed on premise or in private, public and hybrid clouds. Users can spin up, clone, scale, or decommission a fully functional application within seconds. Morpheus’s unique app and DB lifecycle management technology consolidates disparate tools into a single management platform.

“BIS is a leader in simplifying the transition to next generation technologies,” said Jeff Drazan, Chairman and CEO of Morpheus Data. “We are honored that they have selected the Morpheus platform to partner with companies that are interested in leading the IT revolution to the hybrid cloud.”

BIS relationships are rooted in a shared vision of helping clients use technology to overcome challenges and improve operations. Adding Morpheus to the partnership roster dovetails perfectly into that objective. As a company, BIS continues to build on its areas of expertise to better assist clients to create, build, integrate and test solutions that meet their business objectives and yield a positive business outcome.

Morpheus has been recognized as a “Coolest Cloud Technology” in 2015 by CRN, as a cloud/datacenter finalist by Innovation 2016 awards, and has experienced quarter over quarter growth well over 100 percent. These recent achievements underscore the company’s widespread commitment to changing how infrastructure is built and deployed. On average, clients using Morpheus technology cut infrastructure costs by up to 20 percent. For additional information, please visit www.morpheusdata.com.

To schedule a demonstration of Morpheus and see what it can do for your business, contact a BIS Solutions consultant today at 405-507-7000 or by emailing info@bisok.com.

Since its founding in 1986, BIS has continually kept pace with the ever-changing technology landscape. The BIS solutions portfolio is one of the most diverse and trusted in the industry. Headquartered in Edmond, Oklahoma, with offices in nearly half a dozen North American cities, BIS offers the best technologies in the market today. BIS, we make business better!

MSSQL Server Now Available on Linux - What You Need To Know

$
0
0

 

In an unprecedented move, Microsoft announced on March 7, 2016, that it would provide a version of MSSQL Server for Linux in addition to Windows Server. This is big news for those that use Linux but also want to use the MSSQL database due to either preference or familiarity with the database.

Microsoft also mentioned in the announcement some other new features that will be in the newest version of the software:

  • New security encryption capabilities – Data can now be encrypted either at rest, in motion, or in memory.
  • In-memory database performance increases.
  • Business Intelligence on an increased number of devices – such as iOS devices, Android devices, and Windows Phones.

This announcement is big news for developers familiar with MSSQL Server that may wish to use it now that it is not restricted to a Windows Server environment.

How does this affect the marketplace?

It appears with this move that Microsoft is trying to get market share in a place they have not been able to before (Linux), where Oracle has reigned supreme as far as commercial databases go. It is unlikely those who prefer open-source, such as PostGres SQL or MariaDB, will want to switch, but the move may convince those who were using those databases only due to the unavailability of MSSQL Server on Linux to switch. Also, those using other commercial databases may decide to make the switch now that they can.

One other reason for this move is that more and more businesses are moving much or all of their app architecture into the cloud. With SaaS (Software as a Service) becoming quite popular, it would be more difficult for Microsoft to retain customers who move to the cloud, where Linux servers are a very popular option. Giving customers the option to continue using MSSQL Server in a Linux environment is a huge move that may help them retain customers as well as acquire new ones as databases continue to be moved into the cloud.

Databases and monitoring with Morpheus

If you are going to provision a database for your apps, a good way to go about it is to use Morpheus, a PaaS solution which allows you to provision databases, including SQL and NoSQL databases, as well as apps and servers with a user-friendly interface. In addition to this, Morpheus can monitor your apps, servers, and databases. With Morpheus, data logging is automatic as you provision servers and apps. Using the available tools, you can monitor the various parts of your system to keep track of uptime, response time, and to be alerted if an issue does arise.


The Morpheus interface is clean and easy to use. Source: Morpheus.

Morpheus allows you to provision apps in a single click, and provides ease of use for developers with APIs and a CLI. In addition, backups are also automatic, and you can have redundancy as needed to avoid potentially long waits for disaster recovery to take place. If you want to learn more click here for an exclusive demo.

 


Tips for Becoming a JavaScript Developer

$
0
0

If you are looking to become a JavaScript developer, there are a number of things to consider before jumping into the fray. Whether you develop solely on the front end (for a web browser or other client) or server-side using Node.js, you will need to learn a number of things that will help you on your path to becoming a professional JavaScript developer.

Learn the Basics

First, you will need to learn the basics of the language. However, most projects (whether in Node or on the front end) require you to have at minimum a familiarity with (and more often than not expertise with) the other major building blocks of web pages – HTML and CSS.

The image below shows how HTML, CSS, and JavaScript all cross paths for a front end developer. You will likely need to have a good understanding of all three, since JavaScript uses and interacts with elements from the other two technologies. For example, JavaScript can be used to identify an HTML element that needs updating, or to change the CSS styling of that HTML element.


The various specialties within front end development. Source: SlideShare.net.

So, you will probably want to learn HTML and CSS, then move into learning the basics of JavaScript once you have the other two languages tackled.

Learn the Web Browsers and the Console

When it comes to developing on the front end, it is essential to know how to test in all of the web browsers that may need to be supported for a given project.  This could include not only the latest version of any given browser (e.g., Chrome, Firefox, IE, Safari), but may also include older versions that may require additional testing or workarounds to make things work.

With this, it is helpful to know how to use the developer tools/consoles that come with each browser, so that you can identify and debug problems more quickly when they arise.


Example of a web browser console. Source: Mozilla.

Learn Related Libraries and Technology

While knowing the language itself is great, you will almost surely find it helpful to understand some related libraries. For example, JQuery is used in a vast number of programs and apps to help alleviate many of the browser inconsistencies you may face. Knowing how to use it can be helpful  not only for those advantages, but also for being able to transition that same code back to vanilla JavaScript if a project moves away from using it.

In addition, learning a technology such as Node.js, which allows I/O on the server with JavaScript, can be quite an addition to your resume’. This can allow you (along with learning to use and interact with a database) to transition into becoming a backend or full-stack developer if you desire. Needless to say, JavaScript offers numerous opportunities for you should you choose to learn to become a JavaScript developer!

Get PaaS with Morpheus

Looking for a good PaaS service to run your apps? Whether you are using JavaScript and its syntax throughout, or combining it with other languages, why not try out Morpheus, which makes it easy for you to develop in either case. You can provision databases, servers, and more quickly, and have your app up and running in no time! Using the available tools, you can also monitor the various parts of your system to keep track of uptime, response time, and to be alerted if an issue does arise.

Morpheus allows you to provision apps in a single click, and provides ease of use for developers with APIs and a CLI. In addition, backups are also automatic, and you can have redundancy as needed to avoid potentially long waits for disaster recovery to take place. So, why not grab your Morpheus demo now?


The Benefits of Serverless Applications in a Data-Rich World

$
0
0

Serverless applications are the source of much confusion of late. For one thing, they’re not “serverless” at all. In fact, it’s more accurate to refer to them as “multiserver apps” since their components are distributed among cloud servers far and wide, and assembled on demand.

This begs the question, “Do you know where your app is?” In today’s microservices-based computing environments, the question becomes meaningless. Exactly where particular pieces of a full-blown application live matters much less than the network’s ability to retrieve and assemble the required components accurately, and in a timely manner, when and where they’re needed.

Such widely distributed applications demand a new approach to development, deployment, maintenance, and updates. Forbes’ Janakiram writes in a March 22, 2016, article that the growing interest in serverless apps is driven by two trends: mobility, and the Internet of Things. In both cases, applications need to follow the IFTTT model: respond in an instant as current circumstances dictate in terms of location, time, input, and context.

A serverless framework meets the needs of such on-the-spot delivery of services to users via microservice-based apps. The framework is comprised of a distributed repository of code snippets that assemble themselves in response to an external event – the “if this, then that” trigger.

How serverless apps can benefit businesses of all types

In a February 26, 2016, post, InformationWeek’s Charles Babcock describes scenarios in which the serverless approach meets a real-time business need. A customer placing an order wants confirmation that a critical part is available before committing to the purchase. A business analyst uploads a JavaScript snippet (a microservice) to AWS that adds a parts-confirmation box to the order form. Selecting the box fires the snippet that triggers the required inventory check via the AWS Lambda cloud service, which is based on a serverless framework.

With Lambda, the task is completed in short order, without involving another application or requiring that a virtual server to be spun up. In addition to being done for only a few cents’ worth of AWS runtime, the snippet scales automatically to accommodate changes in demand. Any number of a business’s microservices would reside in the public cloud and would be called on when needed. The business receives the benefits of its applications without being responsible for any in-house servers – that’s what makes the applications “serverless.”

AWS Lambda introduces on-demand, instantaneous, and short-lived application deployment. (Credit: Adrian Cockcroft, Battery Ventures)

What stays in-house is the development team – the brains of the operation. Developers are responsible for ensuring that the apps are accessible, and that they run smoothly on all devices. The biggest difference between mobile apps and their web-delivered counterparts is in where the bulk of the application logic resides. On tablets and phones, much of the app logic lives on the device, whereas Web apps put their logic on the Internet server.

Whereas web apps get by with a thin user interface inside the browser, mobile apps rely on the device to ensure a pleasurable user experience: the phone or tablet hosts the business logic, and the Internet data center’s server provides the bandwidth. A big upside for developers is that the cloud service provider is responsible for the database server, the messaging system, and security functions.

When a serverless approach may not be the best choice

Running your app with 99.99 percent availability and no servers to maintain sounds too good to be true, which naturally causes seasoned developers to think, “There’s gotta be a catch.” In a March 18, 2015, post, tech blogger Hartley Brody examines some of the impediments to creating serverless apps.

Topping the list is the need for a centralized datastore across multiple clients. Such situations require a database server and application logic that runs on top of it. Possible workarounds are to use a third-party API such as Firebase or Parse, or to rely on an API from your company’s CRM system or other internal data store. Brody also recommends looking for a way to do without the database, if users don’t need an account. This limits the amount of data you need to collect and store.

Serverless apps can also be stymied by the need to integrate with third-parties for storing data, sending messages, user analytics, and other operations. Whenever you need to authenticate users, you’re looking to a server to avoid sending API keys and other credentials to clients. Similarly, apps that rely on sensitive, private business logic should run that logic on a secure server.

Another shortcoming of the serverless approach is the lack of information following an application crash. A 503 occurring on a web server generates a pretty comprehensive stack trace from the server logs, but when a JavaScript fails on a client, you’re left completely in the dark. That means you have to anticipate all the ways the app could crash or otherwise misbehave beforehand, and devise a way to communicate what happened back to your system, and to the user.

Finally, JavaScript can be overwhelmed when tasked with processing large amounts of data. On a web server, you can move some of that processing offline, then store the result and notify the user when it’s available. The Web Worker API can help prevent overtaxing a JavaScript app.

Forecast for serverless: Sunny but variable

In his March 22, 2016, post listing the five top serverless frameworks, Forbes’ Janakiram puts AWS Lambda in the top spot for its integration with other AWS services, and its support for mobile and IoT developers. For voice applications in particular, AWS Lambda seamless integration with the Alexa Skills Kit makes it a good choice for Amazon Echo voice-activated apps.

AWS Lambda integrates smoothly with other Amazon services, such as Kinesis Stream, Kinesis Firehose, and RedShift to create a serverless ETL pipeline, as in this example. Credit: Abhishek Tiwari

Google’s recently acquired Cloud Functions will be hosted as containers running on the Google Compute Engine, and while it will support only Node.js initially, other languages will likely be added over time. An obvious advantage of Google Cloud Functions is built-in API support for Gmail, Maps, Cloud Messaging, and other Google services.

Another likely competitor in serverless frameworks is Iron.io’s Project Kratos, which runs existing AWS Lambda functions packaged as Docker containers in public, private, and mixed cloud environments. IBM positions its OpenWhisk project as an open source alternative to AWS Lambda; OpenWhisk supports Node.js and runs snippets written in Swift; it is integrated with the IBM BlueMax PaaS environment based on CloudFoundry and integrates with third-party services via WebHooks.

While Microsoft has not yet joined Amazon, Google, and IBM in offering a serverless framework, the Azure Web Jobs runtime environment can be used to invoke code snippets on demand or via scheduled cron jobs. Analysts expect a complete serverless framework from Microsoft based on the company’s Service Fabric PaaS environment.

The Benefits of Serverless Applications in a Data-Rich World

$
0
0

Serverless applications are the source of much confusion of late. For one thing, they’re not “serverless” at all. In fact, it’s more accurate to refer to them as “multiserver apps” since their components are distributed among cloud servers far and wide, and assembled on demand.

This begs the question, “Do you know where your app is?” In today’s microservices-based computing environments, the question becomes meaningless. Exactly where particular pieces of a full-blown application live matters much less than the network’s ability to retrieve and assemble the required components accurately, and in a timely manner, when and where they’re needed.

Such widely distributed applications demand a new approach to development, deployment, maintenance, and updates. Forbes’ Janakiram writes in a March 22, 2016, article that the growing interest in serverless apps is driven by two trends: mobility, and the Internet of Things. In both cases, applications need to follow the IFTTT model: respond in an instant as current circumstances dictate in terms of location, time, input, and context.

A serverless framework meets the needs of such on-the-spot delivery of services to users via microservice-based apps. The framework is comprised of a distributed repository of code snippets that assemble themselves in response to an external event – the “if this, then that” trigger.

How serverless apps can benefit businesses of all types

In a February 26, 2016, post, InformationWeek’s Charles Babcock describes scenarios in which the serverless approach meets a real-time business need. A customer placing an order wants confirmation that a critical part is available before committing to the purchase. A business analyst uploads a JavaScript snippet (a microservice) to AWS that adds a parts-confirmation box to the order form. Selecting the box fires the snippet that triggers the required inventory check via the AWS Lambda cloud service, which is based on a serverless framework.

With Lambda, the task is completed in short order, without involving another application or requiring that a virtual server to be spun up. In addition to being done for only a few cents’ worth of AWS runtime, the snippet scales automatically to accommodate changes in demand. Any number of a business’s microservices would reside in the public cloud and would be called on when needed. The business receives the benefits of its applications without being responsible for any in-house servers – that’s what makes the applications “serverless.”

AWS Lambda introduces on-demand, instantaneous, and short-lived application deployment. (Credit: Adrian Cockcroft, Battery Ventures)

What stays in-house is the development team – the brains of the operation. Developers are responsible for ensuring that the apps are accessible, and that they run smoothly on all devices. The biggest difference between mobile apps and their web-delivered counterparts is in where the bulk of the application logic resides. On tablets and phones, much of the app logic lives on the device, whereas Web apps put their logic on the Internet server.

Whereas web apps get by with a thin user interface inside the browser, mobile apps rely on the device to ensure a pleasurable user experience: the phone or tablet hosts the business logic, and the Internet data center’s server provides the bandwidth. A big upside for developers is that the cloud service provider is responsible for the database server, the messaging system, and security functions.

When a serverless approach may not be the best choice

Running your app with 99.99 percent availability and no servers to maintain sounds too good to be true, which naturally causes seasoned developers to think, “There’s gotta be a catch.” In a March 18, 2015, post, tech blogger Hartley Brody examines some of the impediments to creating serverless apps.

Topping the list is the need for a centralized datastore across multiple clients. Such situations require a database server and application logic that runs on top of it. Possible workarounds are to use a third-party API such as Firebase or Parse, or to rely on an API from your company’s CRM system or other internal data store. Brody also recommends looking for a way to do without the database, if users don’t need an account. This limits the amount of data you need to collect and store.

Serverless apps can also be stymied by the need to integrate with third-parties for storing data, sending messages, user analytics, and other operations. Whenever you need to authenticate users, you’re looking to a server to avoid sending API keys and other credentials to clients. Similarly, apps that rely on sensitive, private business logic should run that logic on a secure server.

Another shortcoming of the serverless approach is the lack of information following an application crash. A 503 occurring on a web server generates a pretty comprehensive stack trace from the server logs, but when a JavaScript fails on a client, you’re left completely in the dark. That means you have to anticipate all the ways the app could crash or otherwise misbehave beforehand, and devise a way to communicate what happened back to your system, and to the user.

Finally, JavaScript can be overwhelmed when tasked with processing large amounts of data. On a web server, you can move some of that processing offline, then store the result and notify the user when it’s available. The Web Worker API can help prevent overtaxing a JavaScript app.

Forecast for serverless: Sunny but variable

In his March 22, 2016, post listing the five top serverless frameworks, Forbes’ Janakiram puts AWS Lambda in the top spot for its integration with other AWS services, and its support for mobile and IoT developers. For voice applications in particular, AWS Lambda seamless integration with the Alexa Skills Kit makes it a good choice for Amazon Echo voice-activated apps.

AWS Lambda integrates smoothly with other Amazon services, such as Kinesis Stream, Kinesis Firehose, and RedShift to create a serverless ETL pipeline, as in this example. Credit: Abhishek Tiwari

Google’s recently acquired Cloud Functions will be hosted as containers running on the Google Compute Engine, and while it will support only Node.js initially, other languages will likely be added over time. An obvious advantage of Google Cloud Functions is built-in API support for Gmail, Maps, Cloud Messaging, and other Google services.

Another likely competitor in serverless frameworks is Iron.io’s Project Kratos, which runs existing AWS Lambda functions packaged as Docker containers in public, private, and mixed cloud environments. IBM positions its OpenWhisk project as an open source alternative to AWS Lambda; OpenWhisk supports Node.js and runs snippets written in Swift; it is integrated with the IBM BlueMax PaaS environment based on CloudFoundry and integrates with third-party services via WebHooks.

While Microsoft has not yet joined Amazon, Google, and IBM in offering a serverless framework, the Azure Web Jobs runtime environment can be used to invoke code snippets on demand or via scheduled cron jobs. Analysts expect a complete serverless framework from Microsoft based on the company’s Service Fabric PaaS environment.

PaaS is Amazingly Helpful, but at What Point Do You Need It?

$
0
0

 When do you need PaaS

Platform as a Service, or PaaS, can be extremely helpful to you when it comes to developing and maintaining your applications. The question is - when should you consider using PaaS for your apps?

As your company grows, the usefulness of PaaS will also grow, as it can save you quite a bit of time on things like maintenance and consistency of your architecture. Taking a look at the primary advantages of using PaaS is a helpful way to decide if your company is ready to make the move now.

Reduces Setup Costs While Maintaining Control

Setting up servers on the cloud is simple, you simply provision them as needed. Rather than worrying about buying servers and trying to integrate the new physical server into your infrastructure, you can simply provision a new server using PaaS. This leaves the hardware worries to the PaaS provider, allowing you to concentrate on configuration and management of the new server.

While the physical setup pains are eliminated, you still get to configure and maintain the servers the way you need to, allowing you the control needed to develop your applications with the necessary tools in place.

Scalable as Needed

database scaling

The difference between vertical and horizontal scaling. 

Not sure how quickly your app will grow? 

When you are purchasing the servers on your own, you have to consider this more closely, as you will need the infrastructure to handle any scaling that needs to happen as your application and number of users grows. Whether you choose a vertical or horizontal scaling strategy, this can be expensive and requires additional setup time to implement.

On the other hand, if you use a PaaS solution, you can simply scale as needed, without worrying about possibly setting up or purchasing additional hardware. PaaS can provide a good cost-savings here, as scaling can be done automatically with many PaaS services. 

This allows you to pay as needed for scaling, rather than providing resources before they are necessary. Another advantage is that you again do not need to set up additional hardware on your end, saving you and your staff of setup time.

Decreases Maintenance Time

With PaaS, your maintenance time can be decreased dramatically, as you do not need to keep as much physical hardware maintained. Instead, the PaaS provider keeps things in working order while you work on configuring and developing your applications.

In the end, switching to PaaS is a good idea when you get to the point that setup, scaling, maintenance, or all three become too costly or time-consuming for your company. If resources are thin, PaaS can be an extremely helpful solution to keep things moving forward while the demand for your services increases.

Get PaaS with Morpheus

Looking for a good PaaS service to run your apps? Why not try out Morpheus, which makes provisioning, scaling, and maintenance a breeze. You can provision databases, servers quickly, and have your app up and running in no time! Using the available tools, you can also monitor the various parts of your system to keep track of uptime, response time, and to be alerted if an issue does arise.

Morpheus Data dashboard

The Morpheus interface is clean and easy to use. Source: Morpheus.

Morpheus allows you to provision apps in a single click, and provides ease of use for developers with APIs and a CLI. In addition, backups are also automatic, and you can have redundancy as needed to avoid potentially long waits for disaster recovery to take place. To grab a demo click here. 

Load Balancing: How to Quickly Boost the Performance of Your Apps

$
0
0

Load balancing

 

Load balancing can help boost the performance of your website and applications, as it allows more people to use your systems at the same time. Instead of all of the traffic going to a single destination, you can direct traffic to various machines so that no single machine becomes bogged down with handling all of the requests. This can be quite helpful when your systems begin to receive lots of traffic!

What is load balancing?

Load balancing is a method of handling a large amount of traffic to a system (web site, web app, database, etc.) in a way that keeps a single server or machine from becoming overloaded, which can greatly slow down your service or even cause it to become unable to handle the traffic at all. Since extremely slow load times and down time can be especially costly to a business, finding a way to avoid these issues is incredibly important.

Load balancing helps alleviate the traffic congestion by using one or more load balancers that direct the traffic to one of multiple possible machines, all of which have a copy of the content that would otherwise be on a single machine. On a single machine, a large amount of traffic would begin to slow response times pretty quickly. However, using load balancing, each request can be directed to the machine it needs to go to based on your needs, thus keeping the load on any individual machine to a minimum and keeping response times at a maximum.

Server load balanacing

An example of load balancing using servers (server array). Source: Tractionet.

Deciding how to direct requests

With load balancing, you have to decide to which machine a new request is directed. This involves at least a couple of considerations. The two biggest ones are whether or not a machine is responding and the amount of load on the machine.

To determine whether or not a machine is responding, you could use a simple PING, but this isn't necessarily reliable, and doesn't offer as many options. Oftentimes, a more advanced service PING, which can determine information such as whether or not a particular service is working on the machine. This allows the load balancer to continue to direct traffic to a machine that may have one service down, but another working. It can simply direct traffic to that machine only if the request is for a working service, and move on to another machine if the request is for a service that is not working.

To determine load, different measures can be used, from the current connection count on a machine to the use of the actual response time of the machine to requests. A good load balancing algorithm should take both availability and load into account when deciding how to direct traffic. The actual algorithm will depend on your needs, but getting the right load balancing in place can definitely have a great affect on your response times!

Get PaaS with Morpheus

Looking for a good PaaS service to run your apps and provide you with load balancing options? Why not try out Morpheus, which makes provisioning, scaling, and maintenance a breeze. You can provision databases, servers quickly, and have your app up and running in no time! Using the available tools, you can also monitor the various parts of your system to keep track of uptime, response time, and to be alerted if an issue does arise.

Try Morpheus Data

The Morpheus interface is clean and easy to use. Source: Morpheus.

Morpheus allows you to provision apps in a single click, and provides ease of use for developers with APIs and a CLI. In addition, backups are also automatic, and you can have redundancy as needed to avoid potentially long waits for disaster recovery to take place. So, why not grab your own Morpheus demo today?

Matching Storage Model to Data Structure in Mixed Database Environments

$
0
0

Mixed database environments

Not so long ago, data storage was limited to three physical forms: direct-attached storage (DAS) such as traditional standbys SCSI and SATA disk drives; storage-area networks (SAN) that cluster disks into logical units (LUN) on servers accessed via a network; and network-attached storage (NAS) that allows concurrent access to the disk clusters via file-system protocols that abstract storage from physical machines to virtual machines.

NAS abstraction was a precursor to the real game-changer in storage technology: virtualization. As Brandon Salmon explains in a January 20, 2015, article on InfoWorld’s New Tech Forum, virtualization abstracts physical storage into virtual disks. A hypervisor creates an emulated hardware environment for each virtual machine: processor, memory, and storage. Just as local disks are perceived as part of the physical computer, virtual disks are part of the virtual machine rather than independent objects. When the VM is deleted, the virtual disk is deleted along with it.

Virtual environments such as VMware vSphere, Microsoft Hyper-V, Red Hat Enterprise Virtualization, and Xen platforms use a virtual-disk model. The I/O from a virtual machine goes to software in the hypervisor rather than to hardware via a device bus. This means the protocol used by the VM to communicate with the hypervisor doesn’t have to match the protocol used by the hypervisor to communicate with the storage. The storage model that is exposed upward to the VM and administrator is separated from the storage protocol used by the hypervisor to store the data.

Being able to mix and match storage models and storage protocols, and to switch protocols dynamically without affecting VMs, provides administrators with an unprecedented level of flexibility. As Salmon points out, the storage protocol is no longer application-specific and functionally dependent on the app; it is now part of the infrastructure and is chosen based on cost and performance.

Cloud services take storage abstraction to new levels

In the cloud, the entire storage stack is virtualized, so the application is completely separate from the infrastructure. One cloud storage model is instance storage, which is used the same as virtual disks and can be implemented as DAS (ephemeral storage), or more-reliable NAS or volume storage.

Volume storage is a hybrid of instance storage and SAN that is a primary unit of storage rather than a complete VM. This means you can detach a volume from one VM and attach it to another. In terms of scale and abstraction, volume storage is more like a file than a logical unit; it is considered reliable enough for storing user data. Because volume storage is a model rather than a protocol, it runs atop NFS and such block protocols as iSCSI.

Object storage, such as Amazon’s S3, offers a single logical name space across an entire region, but its “eventual consistency” means that not all users will get the same answers to their requests at any given time. Many cloud apps are designed to leverage this nearly unlimited name space to realize scale and cost advantages over NAS.

Typically, object stores are geared to use over high-latency WAN links that benefit from a simplified collection of data operations. Objects are listed in a bucket, read in their entirety, and have their data replaced with entirely new data. Conversely, NAS lets apps read and write small blocks within a file, change file sizes, and move files between directories, among other management operations.

The advantage of object stores is gigantic namespaces that can extend across great distances inexpensively and reliably. Object storage is popular with cloud-native apps for storing images, static web content, backups, and customer files. It’s not a good choice for NAS workloads requiring strong consistency, nor as a replacement for instance or volume storage, which offer strong consistency, small block updates, and write-intensive, random workloads.

The three most common types of cloud storage – instance, volume, and object – are each suited to a particular storage infrastructure. Source: InfoWorld

Consider storage models when selecting a DBMS

Choice of storage model is generally dictated by the database environment: development operations favor simple storage models supporting lightweight prototyping, which helps explain the continuing popularity of document-based DBMSs such as Oracle, MySQL and SQL Server. IT Pro Portal’s John Esposito writes in an April 21, 2016, article that DBMS selection in production environments, where non-developer specialists typically manage data stores, is based on factors other than the optimal combination of data processing, storage, and retrieval mechanisms.

Conversely, non-production environments tend to be more amenable to NoSQL and other non-traditional DBMSs, where databases can be optimized for best structural fit and ease of access. A primary example is MongoDB, which features a static-schema-free document orientation, a document format similar to the popular JSON, and a wide range of connectors. This makes the systems easy to set up in terms of data modeling, and well suited to applications that aren’t particularly data-intensive.

A growing trend among developers is polyglot persistence, in which an application uses more than one storage model. Esposito posits that the near parity between applications using one storage model and those using two indicates that developers are looking to match persistence with the data structures requiring persistence.

Graph structures, which store most information in nodes and edges, don’t match well with the tabular structure of RDBMSs, which rely on data residing in columns and rows. Still, it is worthwhile to store data naturally modeled as a graph in an RDBMS because the relational model is time-tested, it is widely popular with developers and DBAs, and many powerful object-relational mappers are available to facilitate accessing relational data from application code.

Hybrid storage: Having your cake and eating it, too?

Despite the continuing enhancements in cloud storage security, performance, and reliability, companies still hesitate to go all-in on the cloud. Topping the list of concerns about cloud storage are the three IT standbys: security, compliance, and latency. Many companies adopt hybrid cloud storage as a way to combine the cost benefits and scalability of the cloud with the reliability and safety of in-house networks.

Hybrid cloud storage combines the efficiency and scalability of the public cloud with the security and performance of the private cloud. Source: TechTarget

In a May 22, 2016, article on TechCrunch, Don Basile describes four different storage models intended to address the astonishing increase in the amount of data forecast to flood organizations in coming years. Further complicating future data-storage needs is the variety of data types tomorrow’s information will use.

• Hybrid data storage combines the scalability and cost-effectiveness of the cloud with the safety of storing sensitive data in-house.

• Flash data storage, which is increasingly common in consumer devices, is being enhanced to meet the big-data needs of enterprises, as evident in Pure Storage’s FlashBlade box that can store as much as 16 petabytes of data (the company expects to double that amount in a single box by the end of 2017).

• Intelligent Software Designed Storage (I-SDS) replaces the traditional proprietary hardware stacks with storage infrastructure managed and automated by intelligent software, offering more cost-efficiency and faster response times.

• Cold storage archiving takes advantage of slower-moving, less-expensive commodity disks used to store data that isn’t accessed very often, while “hot” data that is accessed more frequently is stored on faster, more expensive flash drives.

Cron Jobs: How to Get Started with Automation

$
0
0

When using a Linux operating system, you have a powerful and helpful tool available to you called "Cron". Using this tool, you can schedule what are called Cron jobs, which can help a system administrator automate a number of tasks such a backups, log file rotation, system maintenance, or other tasks that can get repetitive and tedious to perform manually over time. By using Cron jobs, an administrator can save quite a bit of time and work more efficiently on other jobs.

What is Cron?

Cron is a daemon that executes commands on the system using a specified schedule. Where Windows uses a program named Task Scheduler, Linux has Cron. If you are coming from Windows, Cron may seem complex at first, but if you understand how to input the time the way Cron expects, it becomes considerably easier to use to implement your scheduled tasks.

Linux operating systems come with some flavor of the Cron daemon, so installation should not be necessary, which allows you to make use of this utility from the start if you like.

Basics of Cron Jobs

Cron jobs are created by editing a user's crontab file (the root user can have a crontab file as well in order to run administrative tasks). The crontab file is accessed using the crontab command, which can be called using one of three different flags:

-l list the file contents

-e edit the file contents

-r remove the file

For example, to edit the crontab file for the current user, you simply type the command:

crontab -e

This will either open the crontab file using the default text editor, or allow you to choose the text editor that it will use to open crontab files and open it using that editor.

Creating Cron Jobs

With the crontab file open for editing, you can now create a Cron job by specifying the time a task should run as well as pointing to what task should be run at that time. The time entry can be a little tricky, as it is a series of numbers or asterisks separated by spaces. The order and possible values are shown below:

-------------------------------------------------------------
| Minute | Hour | Day | Month | Day_of_Week |
-------------------------------------------------------------
| 0-59     | 0-23 | 1-31 | 1-12   | 0-6                  |
------------------------------------------------------------

There are a few things you should note about this:

The hour is based on a 24-hour clock, so 0 is midnight, 13 is 1:00 pm, and so on.

The day of the week is zero-based, so 0 is Sunday, 1 is Monday, and so on.

If an asterisk is put in place of any of these numbers, then it is a wild card character, which represents every possible value that can be in that place. This allows you to schedule tasks every day, every hour, and so on.

Crontab Examples

To understand how this works, here are some examples:

0 * * * * backup.sh

This runs the backup.sh command every hour, right at the beginning of the hour (for example, 1:00, 2:00, and so on). Using the 0 minute and leaving the hour (and the rest) as wild cards, the command gets run every hour.

30 20 * * * backup.sh

This runs the program backup.sh every day at 8:30 pm (20:30). Since the minute and hour are filled in, and the remaining slots are wild cards, the program runs daily at 20:30.

There are also a number of other configurations you can use to set up the type of automation you need.

Get Cloud Application Management with Morpheus

Looking for a good Cloud Application Management service to run your apps and provide you with task scheduling options? Sign up for a demo from Morpheus, which makes provisioning, scaling, and maintenance a breeze. You can provision databases, servers quickly, and have your app up and running in no time! Using the available tools, you can also monitor the various parts of your system to keep track of uptime, response time, and to be alerted if an issue does arise.


Taking a Top-Level View of Hybrid Cloud Management

$
0
0

Morpheus lets you have a real hybrid cloud

 Depending on who you believe, hybrid cloud setups are the wave of the future or an abomination presaging the demise of information technology as we know it. Hype machines – don’t you just love ‘em?

Okay, let’s get down to it: There’s nothing magical or unusual about protecting your organization’s most-sensitive information by storing it on secure servers maintained in-house, while placing its less-sensitive data on secure servers maintained by a third party. This may sound simple, but managing such a hybrid setup is anything but. In fact, complexity increases exponentially when adopting a hybrid-cloud strategy, as Arthur Cole explains in a June 10, 2016, article on IT Business Edge.

All that flexibility and control made possible by hybrid-cloud systems comes at a steep price, according to Cole. While advanced operating systems and middleware can potentially remove some of the intricacies of designing, implementing, maintaining, and upgrading hybrid networks, companies are still left with the thorny choice of which management tools to use, whether to rely on proprietary solutions or go with open source, and last but not least, how to integrate the new system with your legacy data.

IT’s transition continues from a dedicated, physical environment, to multiple clouds linked to in-house resources, and finally to a single hybrid-cloud environment. Source: James Bond

Cloud-management choices continue to proliferate

Matching a cloud-management system to your organization’s unique data requirements gets no easier as the vendor options proliferate. Traditional providers, such as NetApp (ONTAP 9) and HPE (Cloud Suite on the OpenStack-based Helios platform) have been joined by the open-source Apache Mesosphere project backed by HPE and Microsoft, as well as NephoScale, offered by the folks behind the NephOS cloud operating system based on OpenStack Liberty.

The cloud-management platform choice gets even muddier as more cloud providers release their own management solutions tailored to the unique cloud infrastructures provisioned by their enterprise customers. What such single-service offerings lack, obviously, is support for multi-vendor cloud operations. Before you know it, your data could be back in the silo you’ve been working so hard to liberate it from.

Outsource the infrastructure to focus on IT’s human capital

The overarching benefit of software-defined architectures is that they free IT from the hardware limitations of the past. Now the only limit to what your organization can accomplish is the talents and imagination of your team. This refocuses IT on the human side of management, as Kristen Knapp writes in a June 2016 article on Tech Target. The flexibility that is the hybrid cloud’s claim to fame also presents one of the technology’s thorniest management issues: Which workloads go on the public cloud, and which belong on the private cloud?

For financial and healthcare industries, the choice is often determined by compliance requirements. Yet public-cloud services now support the governance and compliance standards these industries must meet, according to a cloud consultant quoted by Knapp. Still, to facilitate auditing, the trend continues to separate workloads based on compliance needs.

The public cloud/private cloud choice is often determined by the age of the application. Legacy apps may simply be too expensive to adapt to the public cloud, particularly because they tend to be bloated resource hogs compared to their leaner, more-efficient cloud-native counterparts.

The real begins with your hybrid-integration plan

Once you’ve selected your platform and management tools, and determined which workloads go public and which stay private, it’s time to apply the glue that will keep all the components operating as a single well-oiled machine. The key to putting the pieces together nicely and neatly is careful implementation of RESTful APIs and similar application-integration methods.

Your data-traffic patterns are going to affect your apps’ performance and resiliency. This is where multipathing comes into play. By creating multiple paths for data to travel between hybrid-network environments, you can improve load balancing and reduce latency. In many cases, it makes financial sense to establish a direct connection between the public and private sides of your hybrid cloud, such as AWS’s Direct Connect and Microsoft Azure’s ExpressRoute (many third-party connectors are available as well).

More provider options than ever: Which is best for you?

As companies come to rely on cloud services for more of their IT operations, the nature of the provider side of the equation is going through big transitions of its own. A recent Forrester report entitled Hybrid Cloud Management Solutions of Major Service Providers found that solutions for managing assets in hybrid-cloud environments are offered by independent software vendors, traditional service companies, and open-source communities. IT Wire’s Peter Dinham writes about the Forrester study in a June 1, 2016, article.

That makes finding the best provider for your organization’s needs more challenging. As service providers develop their own IP assets, comparing various offerings becomes more complex. In addition, the technology is changing so quickly that the relationships between the components of any hybrid-cloud integration are not well established. You won’t find many standards for managing hybrid clouds, either.

Microsoft Azure, Amazon Web Services, Google Cloud, and IBM Cloud combine to represent about 80 percent of the enterprise-cloud market, but the cloud battle has just begun. Source: Clutch

As cloud service providers focus increasingly on their own IP, the distinctions between providers and software vendors disappear. According to the Forrester findings, clients want to be free of having to manage the increasing complexity of software and expect providers to bring their own IP assets to do much of the managing for them.

Finding the hybrid-cloud management tools you need isn’t easy

The Forrester report concludes that software vendors have been slow to offer the features their hybrid-cloud customers need, yet brokering services haven’t shown they can deliver the performance and functionality required to keep hybrid-cloud setups running smoothly and efficiently.

One service that offers built-in scalability, performance, and dashboard-based management for a range of applications is the Morpheus cloud application and orchestration platform. Morpheus makes it easy to provision databases, apps, and app-stack components on any server or cloud, whether on-premises, private, public, or hybrid. Morpheus simplifies integration with heterogeneous systems via RESTful APIs. Add more nodes anytime via the web interface, a command-line interface, or an API call – the database or app cluster is configured automatically to accommodate the new nodes. All this with zero cloud lock-in.

Now Morpheus even supports Hyper-V. For all types of hybrid-cloud management, Morpheus is well worth a spot on your short list.

SQL Database Hacks Using AS and ORDER BY

$
0
0

This post originally appeared in Solutions Review. The original article can be found here.

Morpheus Makes sense out of your SQL Databases

Morpheus Data’s CTO contributes with this SQL HowTo, that walks users through some advanced SQL hacks guaranteed to save time if they use SQL regularly. Morpheus allows users to provision apps in a single click, and provides ease of use for developers with APIs and a CLI. Backups are automatic, and users can have redundancy as needed to avoid potentially long waits for disaster recovery to take place.

SQL Database Hacks Using AS and ORDER BY. 

By Brian Wheeler, CTO | Morpheus Data

When retrieving data from an SQL database, it is often handy to be able to reference a column name with a shorter or more meaningful name when you make use of the results. Also, many times it is very helpful if the results are ordered in ascending or descending order by the content of a particular column. These things can be done in an SQL query using AS and ORDER BY.

How to use AS

In SQL, the AS keyword can be used to make referencing a column easier. For example, you may be querying a table with one or more long column names, like the following table:

Table: orders

+—-+———————————- +———————————–+

| id | number_of_rocks_ordered | number_of_socks_ordered |

+—-+———————————–+———————————–+

| 1 | 2 | 1 |

| 2 | 3 | 3 |

+—-+———————————–+———————————–+

To make the column names easier to deal with in clauses, subqueries, or on the programming side, you can use AS in your query to provide a shorter alias to use later, as in the following example:

SELECT id, number_of_rocks_ordered AS rocks FROM orders;

Now, the column name can later be referred to as simply ‘rocks’ later.

The results will look like the following:

+—-+——–+

| id | rocks |

+—-+——–+

| 1 | 2 |

| 2 | 3 |

+—-+——-+

This can be especially helpful when providing an API for programmers, as the shorter alias can be returned from the API route to make for a little less typing on the programming side.

How to use ORDER BY

The ORDER BY command can be used to order the results of a query by a particular column. So, using the table from above, you could decide to order the results by the number or rocks ordered, from most to least. To do this, add ORDER BY, followed by the column name or alias, followed by ASC (for ascending) or DESC (for descending), as in the following example:

SELECT

id,

number_of_rocks_ordered

FROM

orders

ORDER BY

number_of_rocks_ordered DESC;

Since you wanted the number of rocks ordered from most to least, DESC was used. This produces the following set of results:

+—-+———————————–+

| id | number_of_rocks_ordered |

+—-+———————————–+

| 2 | 3 |

| 1 | 2 |

+—-+———————————–+

Combining AS and ORDER BY

Since you can use an alias created by the AS keyword in a later clause, you can combine AS and ORDER BY for this example to provide a result set that is both ordered by most rocks ordered to least, but also has the shorter column name of ‘rocks’. Here is the query to do this:

SELECT

id,

number_of_rocks_ordered AS rocks

FROM

orders

ORDER BY

rocks DESC;

Notice that the shorter ‘rocks’ alias is used in the ORDER BY clause, making that a little shorter. The result set from using both AS and ORDER BY looks like this:

+—-+——–+

| id | rocks |

+—-+——–+

| 2 | 3 |

| 1 | 2 |

+—-+——–+

Now the result set is both ordered and uses a shorter name for the number of rocks ordered!

Databases and monitoring with Morpheus

Morpheus is a SaaS solution which allows you to provision databases, including SQL and NoSQL databases, as well as apps and servers with a user-friendly interface. In addition to this, Morpheus can monitor your apps, servers, and databases. With Morpheus, data logging is automatic as you provision servers and apps. Using the available tools, you can monitor the various parts of your system to keep track of uptime, response time, and to be alerted if an issue does arise.

BigTec UK Adds Multi-Cloud Orchestration to its Web Scale Software-Defined Datacentre Solution Stack with Morpheus Data

$
0
0

BigTec and Morpheus Data partnership announcement

This post originally appeared on the BigTec blog. To see the original post, click here.  

Datacentre transformation VAD targets matrix of fast-growing hybrid cloud and DevOps opportunities with new vendor partner

BigTec UK has signed a distribution agreement with Morpheus Data, bringing the US-based vendor’s infrastructure-agnostic cloud management and orchestration platform into its reference architecture for the web-scale software defined datacentre (SDDC). Morpheus has chosen BigTec to propel its 2016 expansion plans into the EMEA region, providing new reseller partner opportunities to satisfy demand for enterprise DevOps and hybrid cloud management, as part of its 100% channel-only approach.

“Morpheus empowers IT directors to take control over their entire hybrid, multi-cloud environments, delivering complete visibility, management and analytics so that – for the first time – the circumstances of location, infrastructure and choice of hypervisor are irrelevant to driving value, business agility and good governance,” said Jason Dance, managing director at BigTec UK. “It’s a keystone at the top of our solution stack, because without it capitalising on the software-defined, virtual IT cloud revolution risks being an expensive and time-consuming management headache. Assured compliance, improved DevOps, lower infrastructure costs, more IT automation, stamping out of ‘shadow IT’ – these are just some of the requirements that reseller partners can address with Morpheus’ single management console for sprawling hybrid environments.”

BigTec UK is committing product management and sales resources to Morpheus’ expansion, as well as comprehensive marketing, value-added services and logistical support, to recruit partners and deliver opportunities. The companies’ first objective is to build out a dedicated channel community of the right partners, and deliver rapid sales growth.

“BigTec have an unmatched grasp and understanding of the next generation hybrid and hyper converged datacentre. We value their experience with our contemporaries and their depth and breadth of expertise as a value-added distributor,” said Jeff Drazan, chairman of Morpheus Data.

The Morpheus platform is a game changing technology for partners, enabling them to bring a hybrid cloud tool to their customers and enter conversations where typical hardware/software partners have been unsuccessful. This allows them to transform their own businesses as well as supporting transformation and modernisation within their clients.

The Art of Data Logging — The New Stack

$
0
0

*This article first appeared on The New Stack

When it comes to analyzing the effectiveness and usability of your applications, gathering the data you need in order to make decisions about what can be improved is essential. However, this data has to be retrieved and stored somewhere in order for meaningful reports to be generated. This information gathering is done through a process called data logging.

What is Data Logging?

Data logging is the recording of data over time by either a specific standalone device or a computer system set up to capture data. The type of data recorded depends on the type of environment in which the data logger resides. For example, standalone data loggers typically gather information on things such as wildlife research, weather conditions, traffic conditions, actions of a vehicle such as a car or plane, and many others. Computer systems set up for logging tend to gather data on the events that occur on a computer, network, server, or even an entire IT system.

Once recorded, the data can be obtained and analyzed either manually or using specific software that assists in the data analysis. Such software can typically offer a high-level overview of the collected data for quick review as well as more detailed reports that allow for a deeper understanding of key metrics that the entity recording the data desires to capture.

Logging Data

To log data, you need to have a device or computer system that can be configured to capture the type of data required. The key advantage of data loggers is that they allow for information to be recorded 24 hours a day, 7 days a week, which frees the researcher or analyst to perform tasks other than recording data. Rather than needing to be at a specific location to collect data, someone can be analyzing previously recorded data from an office or lab.

For example, when performing wildlife research, wildlife may behave differently when one or more humans are present. Automatically logging data while humans are not present can provide a great deal of insight that otherwise may not be discovered by direct observation. Another example where this can be advantageous is logging weather related data, as most people do not want to carry measuring instruments into particularly bad storms in order to take specific weather measurements directly.

data-logging-Morpheus

For the purposes of application monitoring, data logging records information pertinent to the maintenance of the infrastructure that is required for an application to run. This could be many types of data, such as actions performed by a user on a computer or software system, traffic to and from a server, or actions taken on an entire IT network. There are many possibilities for what can be recorded, and all of this information can be helpful to systems administrators as they work to improve the operation of their specific systems.

For example, knowing the IP addresses of visitors to a server can help identify potential or ongoing attacks. Many times, an overabundance of traffic from a particular IP range within a short time span could indicate that there is an attempted attack of some kind (such as attempting to quickly load pages with various injections to try to gain sensitive information). If that range of addresses can be effectively blocked, it may prevent the attack from succeeding, thus potentially saving a company quite a bit of time and money dealing with the aftermath of such an attack.

Log Data

When data is logged, it is typically stored either on the recording device itself or at another site to which it sends the data. More often than not, the data is stored in some type of textual format, which can then be parsed to organize the information into useful groups for statistics and analysis.

For example, a report from a weather station data logger can produce helpful reports about the status of numerous weather conditions over a period of time. These, of course, can help to determine if a warning should be issued for thunderstorms, wind or other conditions that might arise based on the acquired data and reports.

img-3

When it comes to logging data for apps and IT systems, log files can be stored for numerous metrics. Your organization can track visits, logins, usage statistics, and other useful information. For instance, if you are logging data on your website, you can track metrics such as page load times, number of visitors, what pages visitors viewed most, some indication of where the user is from, what site referred the visitor to your site (e.g., Google search, a link on another site, social media), how long visitors stay on your site, and what page is most often used to leave the site (often called an exit page). These type of metrics can really assist your organization in adjusting various aspects of the site in order to improve the usability of the site for visitors and customers.

img-4

Notice how there are some lines describing the log file, followed by numerous lines that contain particular information in the same order on each line. Among other data, each line shows the time of the event, the type of request made (GET, POST, etc.), the file that was requested, and more. From a file such as this, numerous reports can be created which can be extremely helpful in analyzing how to make improvements to the website that can help future visitors by providing a faster and easier experience for them.

When it comes to logging data on apps, this could be expanded to log information not only on the website, but also on other pieces such as databases, application servers, load balancers, networks, and other parts of the IT system related to any number of apps.

Data Logging Systems

There are a number of data logging systems you can use. The options range from setting up your own logging on each of your servers to full-featured logging provided by app monitoring services which allow you to configure the type of events you wish to log and allow you to customize reports on all of the logged information.

Setting up logging for all the parts of an app can be a tedious task since information will need to be logged from a number of different machines. Depending on how your infrastructure is set up, there could be quite a lot of logging to set up and log files to parse. The more apps you add, the more work you will need to do to keep up with all of the necessary logging and the creation of meaningful reports.

For a smaller infrastructure, logging the data yourself may work fairly well. However, you will need to acquire or write software that can provide reports on the logged data. This could mean having several software systems in place from which key metrics will need to be obtained. Over time, and especially with significant growth, it can become tedious to continue setting up the logging for each machine and getting various reporting software integrated for each new app.

Ultimately, if you are running one or more apps in an environment that uses more than on a server, it is probably best to use a service that provides the data logging for you. This is often a feature of website/application monitoring services, as well as PaaS and other types of cloud services.

With an app monitoring service, you can set up the service to point to your servers and keep a log of when things are up and running, when things are in a warning state, and when they are down. Alerts are also provided based on the settings you choose for when to be alerted to issues. Depending on the service, there may also be additional information logged.

With a PaaS and many cloud-based services, you can add your entire app infrastructure to the service, which can then provide logging for you. In such cases, you can usually provision copies of particular services rather easily, simplifying the setup of any data logging and ensuring all the necessary data is captured. Some of these services even allow you to have on-site servers, cloud servers, or a mixture of these (hybrid cloud). In addition, some may offer the monitoring services as well, giving you the ability to grab the key metrics of all your apps easily, while also ensuring that downtime is minimized.

Get Data Logging with Morpheus

Looking for a good PaaS service to provide you with easy data logging as well as monitoring? Why not learn more about Morpheus, which makes provisioning, scaling, and maintenance a breeze. You can provision databases, servers quickly, and have your app up and running in no time! Using the available tools, you can also monitor the various parts of your system to keep track of uptime, response time, and to be alerted if an issue does arise.

img-5

Morpheus allows you to provision apps in a single click and provides ease of use for developers with APIs and a CLI. In addition, backups are also automatic, and you can have redundancy as needed to avoid potentially long waits for disaster recovery to take place. So, why not sign up for a demo today?

Morpheus Accelerates Azure for Microsoft Service Providers

$
0
0

According to IDC, annual corporate spending on cloud providers will reach $100 billion by the end of the decade. Based on those estimates, millions of corporations will be looking for cloud management solutions in the coming years. Managed service providers are perfectly positioned to help those customers understand and adapt to a rapidly changing hybrid cloud movement. 

But how do service providers, especially Microsoft Service Providers, who offer a lot of the same software, differentiate their offerings?

That’s where Morpheus comes in. Morpheus provides incredible value to end users by giving them a single pane of glass across Public Azure, CSP Azure, the anticipated Azure Stack, and most other public and private clouds, including VMware and AWS.

According to Jason Dance, Managing Director at BigTec, “It’s a keystone at the top of our solution stack, because without it, capitalizing on the software-defined, virtual IT cloud revolution risks being an expensive and time-consuming management headache.”

But the UK-based distributor isn’t the only one adopting a cloud agnostic management platform. Microsoft Service Providers love Morpheus because it brings all of their mission critical data into one, easy to consume place. In addition, customers gain control, visibility, orchestration, automation, and ease of use, while simplifying the management of an otherwise complex system.

The Morpheus Platform Provides:

-       VM and container-based provisioning across all Microsoft Clouds

-       Consolidated monitoring and access control

-       Simplified security, compliance, and reporting

-       Automated backup, recovery, and logging

In addition, Morpheus recently announced support for Microsoft Hyper-V, which enables users to deploy and manage virtual machines directly on Microsoft’s most popular hypervisor. Currently, Morpheus is the only container-compatible cloud application management platform to support native Hyper-V deployments.

When asked about the update, Pete Beecher, President of Morpheus Data said, “Microsoft is continuously innovating in the cloud and data center arena. Hyper-V and Azure are both fantastic products, but there’s no centralized management platform for service providers and their clients. Morpheus is that platform.” 

With Morpheus as a customer-facing portal, a self-service platform becomes a new reality for MSPs, allowing them to compete with larger cloud providers.

Give your customers the speed and simplicity necessary to unlock the power of a truly hybrid cloud approach.

Demo Morpheus Today >>

Viewing all 1101 articles
Browse latest View live