Windows Azure, Azure Data Services, SQL Data Services and related cloud computing topics now appear in this weekly series.
••• Update: 1/13/2009 10:00 AM PST: Minor additions
•• Update: 1/10/2009 1:30 PM PST: Minor additions
• Update: 1/8/2009 10:00 AM PST: Minor additions
Note: This post is updated daily or more frequently, depending on the availability of new articles.
•• David Pallman asks Questions about time and clocks in the data center in this 1/7/2009 thread in the Windows Azure forum. According to the Azure team’s Aleks Gershaft, the servers’ time zone is Pacific time but Last Modified Time for blobs and table entities is UTC.
• David Lemphers’ Windows Azure - Sending SMTP Emails! post of 1/7/2009 describes how to send STMP emails through a relay host as an Azure web role, which solves the problems described in the System.Net.Mail.SmtpPermission not granted for smtp client from within a webrole thread of the Windows Azure forum.
• Scott Watermasysk will conduct the NYC Code Camp - Understanding Data Storage Options in the Cloud session on 1/10/2009 and give a PhillyNJ.NET – What is Azure? talk to the PhillyNJ.NET Users Group on 1/15/2009 according to his two posts of 1/7/2009.
• Mark Nottingham submitted a Link Relations and HTTP Header Linking Internet Draft to the IETF on 12/1/2008. The draft “document specifies relation types for [Atom and HTML] Web links, and defines a registry for them.” If adopted, the document would affect the Atom syndication (RFC4287) and AtomPub (RFC5023) RFCs, which might affect the ADO.NET Data Services client library, and thus Azure Table Services.
• OakLeaf’s Azure Storage Services - StorageClient Library: Table Storage API Class Reference post of 1/7/2009 includes class diagrams for TableStorage, TableStorageDataServiceContext, TableStorageDataQuery and other .NET types with which developers must conversant to take full advantage of Azure Table and Blob Storage services. The post has bee updated to include diagrams similar to class diagrams for the Details of TableStorage, TableStorage.DataServiceContext and TableStorage.DataServiceQuery classes from the System.Data.Services.Client namespace.Oakleaf’s
• OakLeaf’s Azure Storage Services - StorageClient Library: Blob Storage API Class Reference and Azure Storage Services - StorageClient Library: REST Blob Storage API Class Reference of 1/6/2009 provide class diagrams for the two primary components of the StorageClient library for processing blobs.
• OakLeaf’s Fighting the Azure Blob Storage Blues post of 1/2/2009 describes issues encountered while creating an Azure Blob Test Harness project that’s an extension of Jim Nakashima’s early Windows Azure Walkthrough: Simple Blob Storage Sample of 10/29/2008. Problems reported include failure of one or more GridView cells to render, overlapping table rows and similar UI issues.
However, it appears that IE 8 Beta 2 cause the GridView rendering issues because Firefox 3.0.5 doesn’t exhibit the symptoms. Intermittent failures to download large files from SkyDrive probably are caused by Azure. [Repeated from Azure and Cloud Computing Posts for 12/29/2008+.]
•• Cerebrata Software, an Indian startup, has announced Omega.SDSClient, a browser-based Silverlight 2.0 application that lets you access and manage data stored in Windows Azure’s SQL Data Services. Here’s a screen capture of Omega.SDSClient managing the oakleaf1 authority’s Customers entity set in the Northwind container:
Omega.SDSClient lets you:
- Connect to SQL Data Services.
- Manage authorities.
- Manage containers.
- Manage flexible entities.
These new features will be added shortly:
- Support for BLOB entities.
- Querying capabilities.
- Advanced container & entity operations.
download run the tool’s current demo (beta) version on the Cerebrata site and obtain a license file from the Omega.SDSClient site. Pricing for production use doesn’t appear to be available yet.
Jeff Currier from Microsoft’s SDS team answered my The SQL Data Services Team’s Recent Silence Isn’t Golden post of 1/3/2009 with the following comment:
We've been a bit more silent than usual because the features we've been focusing on have been more of a operational nature (and therefore not customer facing). This should explain the recent silence (along with the holidays).
However, the team isn’t discussing long-promised customer-facing features.
•• Anne Thomas Manes, a Burton Group analyst, says SOA is Dead; Long Live Services in her 1/5/2009 blog post. Here’s the abstract:
SOA met its demise on January 1, 2009, when it was wiped out by the catastrophic impact of the economic recession. SOA is survived by its offspring: mashups, BPM, SaaS, Cloud Computing, and all other architectural approaches that depend on “services”.
Once thought to be the savior of IT, SOA instead turned into a great failed experiment—at least for most organizations. SOA was supposed to reduce costs and increase agility on a massive scale. Except in rare situations, SOA has failed to deliver its promised benefits. After investing millions, IT systems are no better than before. In many organizations, things are worse: costs are higher, projects take longer, and systems are more fragile than ever. …
The latest shiny new technology will not make things better. Incremental integration projects will not lead to significantly reduced costs and increased agility. If you want spectacular gains, then you need to make a spectacular commitment to change. Like Bechtel. It’s interesting that the Bechtel story doesn’t even use the term “SOA”—it just talks about services.
And that’s where we need to concentrate from this point forward: Services.
••• Her SOA Obituary: Misinterpretations and Perceptive Enrichment post mortem of 1/9/2009 begins:
The cacophony generated by my SOA obituary post exceeded my expectations. Obviously, I hit a nerve.
Admittedly, the title was designed to draw a response. But I was still a bit surprised by the number of people that misinterpreted my meaning. I attribute the misunderstanding to the ambiguity of the term "SOA" itself, which JP talks about in his post from earlier today.
Sam Gentile’s Enterprise Service Buses (ESBs) Drive SOA Adoption Part 2 is the second chapter of a series that describes how ESBs are (supposed to) work using the commercial Neuron ESB for WCF as an example.
Following this series to its conclusion should enable you to judge whether .NET Services’ Service Bus (formerly “BizTalk Services”) meets your requirements or you need a purpose-built commercial ESB.
To learn more about the .NET Services.Service Bus watch Clemens Vasters’ Microsoft .NET Service Bus: Connectivity, Messaging, Events and Discovery PDC 2008 presentation (BB38). Clemens is the Service Bus Technical Lead.
••• Alin Irimie’s Weekly Cloud Application: Wikipedia Explorer post of 1/12/2009 describes Dot Net Solutions’ new version of its Wikipedia Explorer, which is built on top of Windows Azure. The project, which was built in partnership with Microsoft’s Developer and Platform Evangelism team, runs on a snapshot of Wikipedia’s entire English database that took 50 Azure server instances “a little over four days” to reformat from wikicode to XAML.
•• David Pallman’s Azure Storage Explorer of 1/9/2009 is a three-pane Windows form for inspecting blobs,tables and queues in a specified Azure storage account. David updated his Explorer on 1/12/2009:
Azure Storage Explorer has been updated. Binaries and source code to "preview version 0.2" have been posted on CodePlex. This update adds some polish, has cleaned-up source code, and allows items in cloud storage to be deleted.
•• Jon Udell’s Test-driven development in the Azure cloud post of 1/8/2009 continues the description of his project to recreate the elmcity.info calendar aggregator on the Azure platform. In this installment he focuses on test-driven development in Azure.
To make NUnit run under Windows Azure code access security restrictions, Jon added [assembly: AllowPartiallyTrustedCallers()] attributes to its assemblies and then rebuilt nunit.core.dll, nunit.core.interfaces.dll, nunit.framework.dll, and nunit.testutilities.dll. Yet another case where Azure’s lack of support for partially trusted callers bites you.
•• Cerebrata Software, an Indian startup, has announced Omega.SDSClient, a browser-based Silverlight 2.0 application that lets you access and manage data stored in Windows Azure’s SQL Data Services. See the entry in the “SQL Data Services (SDS)” section.
• David Lemphers’ Windows Azure and Web Services! post of 1/6/2009 explains how to work around a problem with the current internal Windows Azure environment’s configuration to enable connections to .asmx Web Services in Web Role projects when running in the Azure Cloud Fabric.
• Oakleaf posted on 1/5/2009 Initial Azure Blob Generation Time vs. File Size Graph, which plots Upload, Create and Total time data for a set of *.bmp and *.zip files ranging in size from ~70 kB to 37.75 MB stored by my Windows Live SkyDrive account. The post includes source data from the OakLeaf Windows Azure Blob Test Project that’s now running in production on Windows Azure. The Windows Azure Blob Test Harness Project is Live! post of 1/4/2009 has instructions on how to use the test harness.
OakLeaf’s quick summary of currently available viewers for Azure tables and blobs is from my reply to a Would a Azure Storage Web UI be useful? thread in the Windows Azure forum:
There are several UIs for Azure storage and logs available, but the ones I've tried leave much to be desired. Examples:
Sergei Meleshchuk’s Azure storage viewer post of 12/24/2008 showed a storage browser for Queues, Blogs and Tables that looked promising, but it wouldn’t run for me. Starting the app causes it to immediately stop running under Windows Vista Ultimate on two computers. Others confirm it won't run on Vista. If Sergei fixes his app to run on Vista, it probably would satisfy most users.
Chris Hay offers his Windows Azure Blob Browser WPF application for CRUD operations on Azure blobs that you can download from here. It's list boxes aren't expandable and don't have scrollbars, but I use it.
David Lemphers’ Windows Azure Logs! post of 1/1/2009 starts the new year with a spartan LogBrowser project that I couldn’t get to read my logs.
Above are from recent OakLeaf blog posts.
OakLeaf posted Windows Azure Blob Test Harness Project is Live! on 1/4/2009 to announce the availability of and provide instructions for the OakLeaf Windows Azure Blob Test Project on Windows Azure. [Repeated from Azure and Cloud Computing Posts for 12/29/2008+.]
••• Scott Watermasysk’s Two Tips On Preparing For The Cloud post of 1/12/2009 suggests that architects and developers contemplating use of cloud computing:
- Assume they (the cloud providers) are right.
- Decouple your current applications as much as possible.
Scott offered these tips to attendees of his first talk on cloud computing at the NYC Code Camp.
••• Paul Miller contrasts neophyte cloud users’ preference for meta data as opposed to “end user-approachable self-service customization” or vice-versa in his So do ‘Cloud Babies’ like metadata post of 1/11/2009. He concludes:
A database of flight codes, routes, times and aircraft is rich with data just begging to be used in a plethora of ways, whilst ‘BA283′ is equally comfortable as a piece of metadata describing one airline’s afternoon flight from London to Los Angeles.
The concept of metadata can be an extremely useful one; so long as we avoid becoming too dogmatic in defining its boundaries or fervid in upholding spurious conceptual purity.
••• Cloud Computing Journal’s Keynote Systems to Present at Cloud Computing Conference in NYC post of 1/10/2009 reports that
Vik Chaudhary, VP of Product Management & Corporate Development at Keynote Systems, will be presenting at SYS-CON's 2nd International Cloud Computing Conference & Expo in New York City this coming March 30-April 1, 2009.
According to Fuat Kircaali, Chaudhary's session will be
[L]ooking at how cloud platforms assure that your application will perform well and meet the high expectations for your end users by taking these clouds on a test flight. He will be running an application on a cloud platform, and examining performance bottlenecks and their impact on functionality by looking at how various clouds make it easy or hard to monitor the reliability and availability of applications.
••• Redmonk analyst Michael Coté warns Don’t confuse SaaS with Cloud Computing on 6/30/2008. Michael explains:
I’ve recently tracked down one of the causes of much confusion about and wheel spinning in cloud computing: it stems from thinking that Software-as-a-Service - software you get, largely, through a web application involving little or no on-premise installs, usually priced by subscription - counts as “cloud computing.”
Indeed, cloud computing is (visually) much less sexy than that. Cloud computing is “merely” what SaaS applications (usually) run on.
Fritz Nelson of InformationWeek describes CES: Startup Ctera's CloudPlug (Literally) device in this 1/11/2009 post from Las Vegas’s Consumer Electronic Show. Fritz says:
The CloudPlug is a tiny plug with a processor inside, an Ethernet jack and a USB port, with which you can turn any USB device into a NAS and back up your data to Ctera's cloud-based service. …
The company's CEO and co-founder is Liran Eshel, formerly the CEO of SofaWare, one of many companies Checkpoint gobbled up over the years. Eshel says the device has a powerful processor inside, making it what seems like the world's smallest server. Via a web interface you define which folders to share, and with whom, and set it up for automatic backup, which Ctera also offers. This is perfect for a small office that needs simple file services and online backup. Ctera wouldn't specify pricing yet, partly because the company will offer it through managed service providers who will likely set pricing based on connectivity and storage requirements.
•• Thomas Bittman, a member of the Gartner Blog Network, wrote Cloud Computing and K-12 Education on 11/26/2008. Bittman points out:
Content creation has traditionally been very personal during the K-12 years, and content produced then has often had a very short lifespan. Publishing text, images, films, art, and opinions has been limited to a small audience, and publishing tools were very limited. …
This is no longer true. Anyone can create content that is available to the world instantly, and can last for many years – possibly “forever”. Content can be constantly evolving through collaboration and interaction and updates. People don’t just refer to information, or just copy it, they interact with it. They modify it, they add to it – and this is to be encouraged.
•• Rob Bagby’s Powerpoints for ‘Best of PDC’ sessions post of 1/9/2009 includes the slides from Demystifying Azure, which Rob describes as follows:
Th[e] goal of this session is to provide a framework for understanding the Azure namespace. This namespace comprises Windows Azure (“The Cloud OS”), Live Services, .NET Services, SQL Data Services, and more.The session will begin with a discussion of the hi-level features of Windows Azure (“The Cloud OS”), including scalable storage, a rich developer experience, automated service management and service hosting. The session will then provide a high-level overview of the services available in Live Services and .NET Services. The session will conclude with a brief overview of SQL Data Services. This session will demonstrate the use of Azure Table Services, SQL Data Services and will illustrate the Developer Fabric.
•• Andrew Conry-Murray says There's No Such Thing As A Private Cloud in this 1/9/2009 article for InformationWeek’s Plug into the Cloud blog that’s primarily about Parascale, which sells software for the creation of private clouds. I’m inclined to take Andy’s side in the argument.
•• The SQL Data Services forum has a number of interesting questions posted 1/9/2009 and pending replies by Azure team members:
- BasicAuthEndPoint Problem, when using SOAP approach
- When will be other SDS component Like SSRS, SSAS,SSIS will be available?
- Advantages of REST over SOAP or vice - versa to access SDS
My answer to the last question is that my tests show the SOAP wire protocol is about twice as fast as REST when manipulating an entity set consisting of the Northwind Customers table’s 91 entities (rows).
Geva Perry’s Accounting for Clouds: Stop Saying CapEx Vs. OpEx of 1/8/2009 offers accounting suggestions and guidelines for comparing the cost of on-premises and off-premises data processing. He promises a ROI analysis post shortly.
•• Eric Novikoff’s Are Humans Really Necessary for Maintaining SLAs in the Cloud? article of 1/9/2009 for Cloud Computing Journal carries the following deck:
Are humans really necessary for maintaining SLAs? In today's cloud computing deployments, especially with systems like Amazon's EC2, the users' application is responsible for both measuring and taking action on application performance issues. This complicates deployment and coding, as well as tying your application to a particular cloud provider. However, I believe that the next generation of cloud deployment frameworks will be able to do this automatically, by integrating general-purpose monitoring applications with policy-based cloud management engines.
• Bob Muglia calls Azure roll-out “phased” rather than “slow-motion” in this Q&A: Muglia on the cloud, Azure, and the economy interview of 1/6/2009 by CNet’s Ina Fried. The interview is remarkably similar to that with Redmond Developer News linked below.
• Steve Ballmer pays lipservice to cloud computing in his Consumer Electronics Show keynote of 1/7/2009, but the transcript doesn’t include a single instance of him uttering Microsoft’s “Azure” trademark.
• Wally McClure’s podcast, General Thoughts on Windows Azure - Audio only of 1/6/2009, complements his earlier posts on Blob, Table and Queue storage. A Tweet on 1/7/2009 announces that he’ll probably present at CloudCamp Atlanta on 1/20/2009.
• Redmond Developer News’ Q&A with Microsoft's Bob Muglia post of 1/6/2009 is devoted to what appears to be an extensive e-mail interview about Azure with the newly promoted president of Microsoft’s Server and Tools Business.
• Wally McClure wondered on 1/6/2009 about the status of the StorageClient library as an Azure API in his StorageClient thread starter in the Windows Azure forum. Two MSFT representatives and I replied.
Guy Barette, Microsoft Regional Director for Quebec, says in his 2009 Predictions - ASP.NET, BizTalk and LINQ 2 SQL are dead and so are VB, C# and Azure post of 1/5/2009 that these technologies are dead but then goes on to debunk his initial prediction with the “real story" for Windows Azure:
Azure vs apps hosted in the enterprise: Microsoft has taken a bold approach to cloud computing. Instead of hosting your virtual machines running your apps, they will host your apps in a new cloud OS running in their virtual machines. But why would you do that? To drive IT costs down of course. Look, there’s something called a recession going on right now and it’s a nasty one. At some point, your boss will be asked by his/her boss to cut expenses drastically and maybe one way to do it is to go the cloud way. We’ll see but there’s one thing that I’m sure: this will be another tool in your .NET arsenal and it will not make sense to write all apps to run in the cloud. Again, look at your project/assignment, analyse the problem/need and select the right technology to do the job. I’m sure that people will get burned by using the cloud model on projects where it doesn’t make sense.
2009 prediction: Microsoft has a lot of work to do to convince people to move to cloud computing.
Guy’s 2009 prognostications aren’t the last you hear for the Azure Frameword and Infrastructure this year. You can read other Regional Directors’ predictions in their The Region blog.
••• James Urquhart’s Finding distinction in 'infrastructure as a service' post of 1/12/2009 discusses ‘cloud centers,’ a term coined by Randy Bias, chief technology officer of ServePath, who offer GoGrid, to describe hosting companies-turned-cloud providers.
••• Cloud Computing Journal reports Adobe Takes LiveCycle into the Cloud on 1/12/2009:
Kumar Vora, vice president and general manager for LiveCycle at Adobe today announced the availability of Adobe LiveCycle ES Developer Express software - a full version of Adobe LiveCycle ES hosted in the Amazon Web Services cloud computing environment.
“Adobe continues to push the boundaries when supporting its enterprise developer community,” said Adam Selipsky, vice president of product management and developer relations for Amazon Web Services. "We are excited to see Adobe extend to its customers the vast potential for unlocking productivity by providing access to enterprise-scale environments in the cloud by offering developer access to its comprehensive LiveCycle ES solution via Amazon Web Services," he added.
••• Kai describes how to emulate Amazon EC2 and SimpleDB in his Eucalyptus - Free Interfacing (Mocking) of Amazon Web Services post of 1/7/2009. Kai writes:
Usually, when you develop applications that make use of EC2 or S3, you'd need to pay for every bit even though you develop on your local machine or in a staging/testing environment. Amazon is of course very happy about it. But with Eucalyptus running on your in-house hardware, your AWS-powered applications will be very happy to talk to Eucalyptus as if it's the real amazon web services. You can also test drive Eucalyptus without installing anything. Be sure to check EC2 API compatibility and S3 API compatibility first.
•• The Conference on Innovative Data Systems (CIDR) 2008 emphasized social data analysis and cloud computing during its last semi-annual meeting at Asilomar, CA (near Monterey) on 1/4/2009 to 1/6/2009. Highlighted presentations were:
- Internet-Scale Data Center Power Efficiency (James Hamilton, Amazon)
- Voyagers and Voyeurs: Supporting Social Data Analysis by Jeff Heer (Stanford University)
- Interactive Analysis of Web-Scale Data by Christopher Olston, Edward Bortnikov, Khaled Elmeleegy, Flavio Junqueira, Benjamin Reed (Yahoo! Research)
All presentations are available for downloading in individual and collected Electronic Proceedings (13MB) PDFs.
•• John Foley’s Amid Belt-Tightening, Engine Yard Expands The Cloud post of 1/9/2009 observes:
In the past few weeks, Engine Yard has brought in a new CEO, laid off 15% of its workforce, and merged two of its key development efforts. With that out of the way, the Ruby on Rails hosting company appears ready to announce a cloud platform and a new hosting option. …
On Jan. 14, Engine Yard will make two announcements. The company is offering details under embargo, which I declined, but Walley give a few tips about may be coming in the above blog post. He writes that Engine Yard plans to bring out new services based on Amazon Web Services and to release its Vertebra software as open source. Vertebra is a framework for "orchestrating complex processes" on a company's own IT infrastructure or in "the cloud" on Amazon's EC2 or VMware's Vcloud.
It's worth noting that Amazon, along with New Enterprise Associates, invested $15 million in Engine Yard in mid '08. With that in mind, it's not surprising that Engine Yard would be looking to host Rails apps on AWS, if that's what it's doing. However, I would also point out that, unlike some other application hosting companies, Engine Yard actually operates its own data centers, two in the United States and a third planned in London. As Engine Yard looks for ways to manage costs, it will be interesting to see if cutting back on data center expense is one of them.
Salesforce.com went down worldwide for about 40 minutes Tuesday, marking the company's first notable service disruption in months. There's never a good time for a service disruption, but this one seems particularly ill-timed, given Oracle's sudden bloodthirsty gaze on Salesforce.com's customer base. …
But my sense is Oracle is going to be looking at any way it can to weaken Salesforce's position of strength in the CRM SaaS market. SaaS may not be a highly profitable business model for software companies, but Ellison & team clearly want a piece of it.
•• James Urquhart describes Amazon’s new control console for EC2 in his Amazon Web Services releases web-based EC2 console post of 1/9/2009.
• John Foley’s Managing Amazon Web Services From An iPhone post of 1/8/2009 starts with:
The day has arrived when Average Joe can manage data center resources from a soccer field or the beach using the world’s most popular gadget. Ylastic, an Atlanta-based startup founded last year, has introduced an iPhone version of its management interface for Amazon Web Services.
• James Urquhart claims that The biggest cloud-computing issue of 2009 is trust in this 1/07/2009 post to his The Wisdom of Clouds blog. He cites Alan Murphy of the Virtual Data Center blog who points to the dynamic nature of the cloud as a reason why there will need to be more "trust" between customers and vendors and Chris Hoff of the blog Rational Survivability who responds by pointing out that if more trust means less security, we've got a problem.
• Penny Crosman’s Cloud Computing Begins to Gain Traction on Wall Street article of 1/6/2009 describes Nasdaq’s use of Amazon Web Services' S3 storage cloud to capture 30 GB to 80 GB of trading activity data per day. Data is uploaded as flat files that contain details of about 10 minutes of a trades in a particular security. Crosman quotes Nasdaq’s Claude Courbois, associate VP, product development, saying that “data retrieval time is less than one second, and the system scales instantly.”
Brokerage firms use Nasdaq’s Market Replay application to show customers and regulators that best-execution requirements were met for a given trade. You can learn more about tool and sign up for a free trial at https://data.nasdaq.com/mr.aspx.
• John Foley’s SAP CEO Predicts SaaS 'Disillusionment' post of 1/7/2009 observes Bill McDermott’s contention that:
[N]ow more than ever companies need a full featured, integrated applications platform for running global business operations--mySAP, for example--not half-baked applications from unproven SaaS upstarts.
Foley notes that McDermott is SAP’s CEO and continues with his quote:
“It will take another 36 years for software-as-a-service vendors to do the same thing [as on-premises SAP] in the cloud.”
• Cloud Computing Journal reports that former Microsoft tools honcho Tod Nielsen will join VMWare in the newly created position of Chief Operating Officer reporting directly to VMWare CIO Paul Moritz. I knew Tod as the chief marketer for Microsoft Access in its early days (before Access became a member of Microsoft Office.)
Sam Charrington’s Gartner's CIO New Year's Resolutions: Start Taking Cloud Seriously post of 1/6/2009 quotes from Gartner analysts Mark Raskino, John Mahoney and Patrick Meehan outline of 10 tactics that will help CIO’s “survive in 2009,” and put them “ahead of the crowd:”
“You will need to start leading your organization safely in this inevitable direction, or risk being sidelined by its progress.”
Sam, who’s VP of Product Mangement and Marketing for Appistry, paraphrases the report, which requires a Gartner Subscription or $495 to read it:
CIOs are encouraged to immerse themselves (albeit only for a day) in the issues, terms and trends of cloud; test-drive different cloud (SaaS) applications; identify areas in their portfolio that are already helping to explore the cloud landscape; spin up a cloud app development project in ‘09; and start to assess the cost of internal applications of a utility (per-seat, per-month) basis. Later in the report they are encouraged to experiment with EC2-style cloud development.
All in all, I think this is great advice for CIOs, but I think Gartner isn’t pushing them to be aggressive enough. Cloud represents a fundamental shift in “the way of doing things,” and is about more than just SaaS. Many CIOs will benefit from a deeper look into the cloud stack, i.e. at the platform and infrastructure layers as well.